Browse Source

调整

mssql
Yen 3 years ago
parent
commit
9ca400fe2d
  1. 6
      src/main/java/com/qs/serve/common/framework/mvc/HttpServletRequestFilter.java
  2. 23
      src/main/java/com/qs/serve/modules/bms/controller/BmsSupplierController.java
  3. 2
      src/main/java/com/qs/serve/modules/bms/controller/api/BmsSupplierApi.java
  4. 1
      src/main/java/com/qs/serve/modules/bms/entity/vo/BmsSkuSupplierVo.java
  5. 13
      src/main/java/com/qs/serve/modules/goods/controller/GoodsCategoryController.java
  6. 2
      src/main/java/com/qs/serve/modules/goods/controller/GoodsSpecValueController.java
  7. 25
      src/main/java/com/qs/serve/modules/goods/controller/GoodsSpuController.java
  8. 27
      src/main/java/com/qs/serve/modules/goods/entity/bo/GoodsShelfSpu.java
  9. 52
      src/main/java/com/qs/serve/modules/goods/entity/bo/GoodsSpuEditBo.java
  10. 3
      src/main/java/com/qs/serve/modules/goods/service/GoodsSpuService.java
  11. 56
      src/main/java/com/qs/serve/modules/goods/service/impl/GoodsSpuServiceImpl.java
  12. 2
      src/main/java/com/qs/serve/modules/oms/controller/api/OmsShoppingCartApi.java
  13. 74
      src/main/java/com/qs/serve/modules/sys/controller/SysUserController.java
  14. 3
      src/main/java/com/qs/serve/modules/sys/entity/SysUser.java
  15. 53
      src/main/java/com/qs/serve/modules/sys/entity/SysUserSales.java
  16. 18
      src/main/java/com/qs/serve/modules/sys/entity/bo/SysRelateSuppliersParam.java
  17. 27
      src/main/java/com/qs/serve/modules/sys/entity/bo/SysUserParentParam.java
  18. 27
      src/main/java/com/qs/serve/modules/sys/entity/bo/SysUserSalesParam.java
  19. 10
      src/main/java/com/qs/serve/modules/sys/entity/dto/SysUserSalesTreeVo.java
  20. 3
      src/main/resources/mapper/bms/BmsSupplierMapper.xml
  21. 8
      src/main/resources/mapper/goods/GoodsSkuMapper.xml

6
src/main/java/com/qs/serve/common/framework/mvc/HttpServletRequestFilter.java

@ -60,6 +60,7 @@ public class HttpServletRequestFilter implements Filter{
assert servletRequest instanceof HttpServletRequest; assert servletRequest instanceof HttpServletRequest;
HttpServletRequest request = (HttpServletRequest)servletRequest; HttpServletRequest request = (HttpServletRequest)servletRequest;
String tenant = request.getHeader("tenant-id"); String tenant = request.getHeader("tenant-id");
String supplierId = request.getHeader("supplierId");
String url = request.getRequestURL().toString(); String url = request.getRequestURL().toString();
String method = request.getMethod(); String method = request.getMethod();
String queryStr = request.getQueryString(); String queryStr = request.getQueryString();
@ -68,7 +69,10 @@ public class HttpServletRequestFilter implements Filter{
reqBody = requestWrapper.getBody(); reqBody = requestWrapper.getBody();
} }
StringBuffer buffer = new StringBuffer("["+method+"] "+url + " IP: "+ServletUtils.getIp(request)); StringBuffer buffer = new StringBuffer("["+method+"] "+url + " IP: "+ServletUtils.getIp(request));
buffer.append("\n校区编号: "+tenant); buffer.append("\n租户编码: "+tenant);
if(supplierId!=null){
buffer.append("供应商ID: "+supplierId);
}
try { try {
LoginUser loginUser = AuthContextUtils.getLoginUser(false); LoginUser loginUser = AuthContextUtils.getLoginUser(false);
if(loginUser!=null){ if(loginUser!=null){

23
src/main/java/com/qs/serve/modules/bms/controller/BmsSupplierController.java

@ -13,6 +13,8 @@ import com.qs.serve.modules.bms.entity.bo.BmsSupplierBo;
import com.qs.serve.modules.bms.entity.bo.BmsSupplierParentBo; import com.qs.serve.modules.bms.entity.bo.BmsSupplierParentBo;
import com.qs.serve.modules.bms.entity.vo.BmsSupplierTreeVo; import com.qs.serve.modules.bms.entity.vo.BmsSupplierTreeVo;
import com.qs.serve.modules.bms.service.BmsRegionService; import com.qs.serve.modules.bms.service.BmsRegionService;
import com.qs.serve.modules.sys.entity.SysUser;
import com.qs.serve.modules.sys.entity.bo.SysRelateSuppliersParam;
import com.qs.serve.modules.sys.service.SysUserService; import com.qs.serve.modules.sys.service.SysUserService;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
@ -39,6 +41,7 @@ public class BmsSupplierController {
private BmsSupplierService bmsSupplierService; private BmsSupplierService bmsSupplierService;
private BmsRegionService bmsRegionService; private BmsRegionService bmsRegionService;
private SysUserService sysUserService;
/** /**
* 翻页查询 * 翻页查询
@ -110,6 +113,26 @@ public class BmsSupplierController {
return R.ok(list2); return R.ok(list2);
} }
/**
* 更改客户授权
* @return
*/
@PostMapping("/relateSuppliers")
@PreAuthorize("hasRole('bms:supplier:update')")
public R<?> relateSuppliers(@RequestBody SysRelateSuppliersParam param){
SysUser user = sysUserService.getById(param.getUserId());
LambdaQueryWrapper<BmsSupplier> lqw = new LambdaQueryWrapper<>();
lqw.in(BmsSupplier::getId,param.getSupplierIds());
BmsSupplier bmsSupplier = new BmsSupplier();
bmsSupplier.setUserCode(user.getCode());
bmsSupplier.setUserId(user.getId());
bmsSupplier.setUserName(user.getName());
bmsSupplierService.update(bmsSupplier,lqw);
return R.ok();
}
/** /**
* 根据ID查询 * 根据ID查询
* @param id * @param id

2
src/main/java/com/qs/serve/modules/bms/controller/api/BmsSupplierApi.java

@ -58,7 +58,7 @@ public class BmsSupplierApi {
* @param param * @param param
* @return * @return
*/ */
@GetMapping("/tree") //@GetMapping("/tree")
public R<List<BmsSupplierTreeVo>> getTree(BmsSupplier param){ public R<List<BmsSupplierTreeVo>> getTree(BmsSupplier param){
WxUser wxUser = wxUserService.getCurrentWxUser(); WxUser wxUser = wxUserService.getCurrentWxUser();
if(wxUser.getSysUserId()==null||wxUser.getSysUserId().equals("0")){ if(wxUser.getSysUserId()==null||wxUser.getSysUserId().equals("0")){

1
src/main/java/com/qs/serve/modules/bms/entity/vo/BmsSkuSupplierVo.java

@ -29,4 +29,5 @@ public class BmsSkuSupplierVo extends BmsSkuSupplier {
/** 搜索值 */ /** 搜索值 */
private String searchValue; private String searchValue;
} }

13
src/main/java/com/qs/serve/modules/goods/controller/GoodsCategoryController.java

@ -36,13 +36,24 @@ public class GoodsCategoryController {
private GoodsCategoryService goodsCategoryService; private GoodsCategoryService goodsCategoryService;
/**
*列表
* @param param
* @return
*/
@GetMapping("/list")
public R<List<GoodsCategory>> getList(GoodsCategory param){
LambdaQueryWrapper<GoodsCategory> categoryWrapper = new LambdaQueryWrapper<>(param);
List<GoodsCategory> list = goodsCategoryService.list(categoryWrapper);
return R.ok(list);
}
/** /**
* 翻页查询 * 翻页查询
* @param param * @param param
* @return * @return
*/ */
@GetMapping("/page") @GetMapping("/page")
@PreAuthorize("hasRole('goods:category:query')")
public R<PageVo<GoodsCategory>> getPage(GoodsCategory param){ public R<PageVo<GoodsCategory>> getPage(GoodsCategory param){
PageUtil.startPage(); PageUtil.startPage();
LambdaQueryWrapper<GoodsCategory> categoryWrapper = new LambdaQueryWrapper<>(param); LambdaQueryWrapper<GoodsCategory> categoryWrapper = new LambdaQueryWrapper<>(param);

2
src/main/java/com/qs/serve/modules/goods/controller/GoodsSpecValueController.java

@ -81,7 +81,7 @@ public class GoodsSpecValueController {
* @param param * @param param
* @return * @return
*/ */
@PostMapping("/updateById") //@PostMapping("/updateById")
@SysLog(module = SystemModule.GOODS, title = "规格值", biz = BizType.UPDATE) @SysLog(module = SystemModule.GOODS, title = "规格值", biz = BizType.UPDATE)
@PreAuthorize("hasRole('goods:specValue:update')") @PreAuthorize("hasRole('goods:specValue:update')")
public R<?> updateById(@RequestBody @Valid GoodsSpecValue param){ public R<?> updateById(@RequestBody @Valid GoodsSpecValue param){

25
src/main/java/com/qs/serve/modules/goods/controller/GoodsSpuController.java

@ -9,6 +9,7 @@ import com.qs.serve.common.model.enums.SystemModule;
import com.qs.serve.common.util.PageUtil; import com.qs.serve.common.util.PageUtil;
import com.qs.serve.common.util.ValidateTools; import com.qs.serve.common.util.ValidateTools;
import com.qs.serve.modules.goods.entity.bo.GoodsSpuBatchTasteBo; import com.qs.serve.modules.goods.entity.bo.GoodsSpuBatchTasteBo;
import com.qs.serve.modules.goods.entity.bo.GoodsSpuEditBo;
import com.qs.serve.modules.goods.entity.vo.GoodsSpuVo; import com.qs.serve.modules.goods.entity.vo.GoodsSpuVo;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
@ -62,29 +63,16 @@ public class GoodsSpuController {
} }
/** /**
* 根据ID更新 * 编辑
* @param param * @param param
* @return * @return
*/ */
//@PostMapping("/updateById") @PostMapping("/edit")
@SysLog(module = SystemModule.GOODS, title = "spu", biz = BizType.UPDATE) @SysLog(module = SystemModule.GOODS, title = "spu", biz = BizType.UPDATE)
@PreAuthorize("hasRole('goods:spu:update')") @PreAuthorize("hasRole('goods:spu:update')")
public R<?> updateById(@RequestBody @Valid GoodsSpu param){ public R<?> updateById(@RequestBody @Valid GoodsSpuEditBo param){
boolean result = goodsSpuService.updateById(param); goodsSpuService.edit(param);
return R.isTrue(result); return R.ok();
}
/**
* 新增
* @param param
* @return
*/
//@PostMapping("/save")
@SysLog(module = SystemModule.GOODS, title = "spu", biz = BizType.INSERT)
@PreAuthorize("hasRole('goods:spu:insert')")
public R<?> save(@RequestBody @Valid GoodsSpu param){
boolean result = goodsSpuService.save(param);
return R.isTrue(result);
} }
/** /**
@ -96,6 +84,7 @@ public class GoodsSpuController {
@SysLog(module = SystemModule.GOODS, title = "spu", biz = BizType.DELETE) @SysLog(module = SystemModule.GOODS, title = "spu", biz = BizType.DELETE)
@PreAuthorize("hasRole('goods:spu:delete')") @PreAuthorize("hasRole('goods:spu:delete')")
public R<?> deleteById(@PathVariable("id") String id){ public R<?> deleteById(@PathVariable("id") String id){
//todo 拦截删除商品
boolean result = goodsSpuService.removeById(id); boolean result = goodsSpuService.removeById(id);
return R.isTrue(result); return R.isTrue(result);
} }

27
src/main/java/com/qs/serve/modules/goods/entity/bo/GoodsShelfSpu.java

@ -0,0 +1,27 @@
package com.qs.serve.modules.goods.entity.bo;
import lombok.Data;
import javax.validation.constraints.NotNull;
/**
* @author YenHex
* @since 2022/10/25
*/
@Data
public class GoodsShelfSpu {
/**
* 商品ID
*/
@NotNull
private Long spuId;
/**
* 0 下架
* 1 上架
*/
@NotNull
private Integer status;
}

52
src/main/java/com/qs/serve/modules/goods/entity/bo/GoodsSpuEditBo.java

@ -0,0 +1,52 @@
package com.qs.serve.modules.goods.entity.bo;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.qs.serve.common.framework.mybatis.handler.meta.SplitStringTypeHandler;
import lombok.Data;
import org.apache.ibatis.type.JdbcType;
import org.hibernate.validator.constraints.Length;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
/**
* @author YenHex
* @since 2022/10/25
*/
@Data
public class GoodsSpuEditBo {
/** 商品编码 */
@NotBlank(message = "商品编码不能为空")
private String spuCode;
/** 商品名字 */
@NotBlank(message = "商品名字不能为空")
private String name;
/** 品牌id */
private Long brandId;
/** 系列id */
private Long seriesId;
/** 最后一级分类 */
private String categoryId;
/** 商品图片 */
@TableField(typeHandler = SplitStringTypeHandler.class,jdbcType= JdbcType.VARCHAR)
private String[] picUrls;
/** 排序字段 */
private Integer sort;
/** 0统一规格;1多规格 */
@Length(max = 2,message = "0统一规格;1多规格长度不能超过2字")
private String specType;
/** 产品口味(非sku规格值) */
private String tasteValue;
}

3
src/main/java/com/qs/serve/modules/goods/service/GoodsSpuService.java

@ -3,6 +3,7 @@ package com.qs.serve.modules.goods.service;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.qs.serve.modules.goods.entity.GoodsSpu; import com.qs.serve.modules.goods.entity.GoodsSpu;
import com.qs.serve.modules.goods.entity.bo.GoodsSpuBatchTasteBo; import com.qs.serve.modules.goods.entity.bo.GoodsSpuBatchTasteBo;
import com.qs.serve.modules.goods.entity.bo.GoodsSpuEditBo;
import com.qs.serve.modules.goods.entity.vo.GoodSkuBatchResult; import com.qs.serve.modules.goods.entity.vo.GoodSkuBatchResult;
import com.qs.serve.modules.goods.entity.vo.GoodsSpuVo; import com.qs.serve.modules.goods.entity.vo.GoodsSpuVo;
@ -21,5 +22,7 @@ public interface GoodsSpuService extends IService<GoodsSpu> {
List<GoodSkuBatchResult> saveBatchTasteSpu(GoodsSpuBatchTasteBo batchTasteBo); List<GoodSkuBatchResult> saveBatchTasteSpu(GoodsSpuBatchTasteBo batchTasteBo);
void edit(GoodsSpuEditBo spuEditBo);
} }

56
src/main/java/com/qs/serve/modules/goods/service/impl/GoodsSpuServiceImpl.java

@ -8,6 +8,7 @@ import com.qs.serve.modules.bms.entity.BmsFactory;
import com.qs.serve.modules.bms.service.BmsFactoryService; import com.qs.serve.modules.bms.service.BmsFactoryService;
import com.qs.serve.modules.goods.entity.*; import com.qs.serve.modules.goods.entity.*;
import com.qs.serve.modules.goods.entity.bo.GoodsSpuBatchTasteBo; import com.qs.serve.modules.goods.entity.bo.GoodsSpuBatchTasteBo;
import com.qs.serve.modules.goods.entity.bo.GoodsSpuEditBo;
import com.qs.serve.modules.goods.entity.bo.GoodsSpuTasteBo; import com.qs.serve.modules.goods.entity.bo.GoodsSpuTasteBo;
import com.qs.serve.modules.goods.entity.vo.*; import com.qs.serve.modules.goods.entity.vo.*;
import com.qs.serve.modules.goods.service.*; import com.qs.serve.modules.goods.service.*;
@ -81,6 +82,20 @@ public class GoodsSpuServiceImpl extends ServiceImpl<GoodsSpuMapper,GoodsSpu> im
return goodsSpuVo; return goodsSpuVo;
} }
@Override
public void edit(GoodsSpuEditBo spuEditBo) {
GoodsSpu spu = this.getByCode(spuEditBo.getSpuCode());
Long spuId = spu.getId();
spu = CopierUtil.copy(spuEditBo,new GoodsSpu());
spu.setId(spuId);
//设置分类
GoodsCategory category = goodsCategoryService.getById(spuEditBo.getCategoryId());
relateCate(spu,category);
this.saveOrUpdate(spu);
}
@Override @Override
public List<GoodSkuBatchResult> saveBatchTasteSpu(GoodsSpuBatchTasteBo batchTasteBo) { public List<GoodSkuBatchResult> saveBatchTasteSpu(GoodsSpuBatchTasteBo batchTasteBo) {
List<GoodSkuBatchResult> resultList = new ArrayList<>(); List<GoodSkuBatchResult> resultList = new ArrayList<>();
@ -113,22 +128,7 @@ public class GoodsSpuServiceImpl extends ServiceImpl<GoodsSpuMapper,GoodsSpu> im
//设置分类 //设置分类
try { try {
GoodsCategory category = goodsCategoryService.getByCode(tasteProduct.getCategoryCode()); GoodsCategory category = goodsCategoryService.getByCode(tasteProduct.getCategoryCode());
spu.setCategoryLast(category.getId()+""); relateCate(spu,category);
if(!category.getParentId().equals("0")){
GoodsCategory categorySecond = goodsCategoryService.getById(category.getParentId());
if(!categorySecond.getParentId().equals("0")){
spu.setCategoryFirst(categorySecond.getParentId());
spu.setCategorySecond(categorySecond.getId()+"");
spu.setCategoryThird(category.getId()+"");
}else {
spu.setCategoryFirst(categorySecond.getId()+"");
spu.setCategorySecond(category.getId()+"");
}
}else {
spu.setCategoryFirst(category.getId()+"");
spu.setCategorySecond("");
spu.setCategoryThird("");
}
} catch (Exception e) { } catch (Exception e) {
skuBatchResult.setMessage("设置分类失败"); skuBatchResult.setMessage("设置分类失败");
skuBatchResult.setErrorCode(1); skuBatchResult.setErrorCode(1);
@ -220,5 +220,29 @@ public class GoodsSpuServiceImpl extends ServiceImpl<GoodsSpuMapper,GoodsSpu> im
return skuBatchResult; return skuBatchResult;
} }
/**
* 关联上下级
* @param spu
* @param category
*/
private void relateCate(GoodsSpu spu,GoodsCategory category){
spu.setCategoryLast(category.getId()+"");
if(!category.getParentId().equals("0")){
GoodsCategory categorySecond = goodsCategoryService.getById(category.getParentId());
if(!categorySecond.getParentId().equals("0")){
spu.setCategoryFirst(categorySecond.getParentId());
spu.setCategorySecond(categorySecond.getId()+"");
spu.setCategoryThird(category.getId()+"");
}else {
spu.setCategoryFirst(categorySecond.getId()+"");
spu.setCategorySecond(category.getId()+"");
}
}else {
spu.setCategoryFirst(category.getId()+"");
spu.setCategorySecond("");
spu.setCategoryThird("");
}
}
} }

2
src/main/java/com/qs/serve/modules/oms/controller/api/OmsShoppingCartApi.java

@ -156,7 +156,7 @@ public class OmsShoppingCartApi {
* @return * @return
*/ */
@DeleteMapping("/deleteById/{id}") @DeleteMapping("/deleteById/{id}")
public R<?> deleteById(@PathVariable("id") String id){ public R<?> deleteById(@PathVariable("id") Long id){
omsShoppingCartService.removeById(id); omsShoppingCartService.removeById(id);
return R.error(); return R.error();
} }

74
src/main/java/com/qs/serve/modules/sys/controller/SysUserController.java

@ -3,22 +3,19 @@ package com.qs.serve.modules.sys.controller;
import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.crypto.SecureUtil; import cn.hutool.crypto.SecureUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.qs.serve.common.framework.redis.RedisService;
import com.qs.serve.common.framework.security.model.LoginUser; import com.qs.serve.common.framework.security.model.LoginUser;
import com.qs.serve.common.model.annotation.LimitSubmit;
import com.qs.serve.common.model.annotation.SysLog; import com.qs.serve.common.model.annotation.SysLog;
import com.qs.serve.common.model.consts.GySysConst; import com.qs.serve.common.model.consts.GySysConst;
import com.qs.serve.common.model.consts.RedisCacheKeys;
import com.qs.serve.common.model.dto.PageVo; import com.qs.serve.common.model.dto.PageVo;
import com.qs.serve.common.model.dto.R; import com.qs.serve.common.model.dto.R;
import com.qs.serve.common.model.enums.BizType; import com.qs.serve.common.model.enums.BizType;
import com.qs.serve.common.util.*; import com.qs.serve.common.util.*;
import com.qs.serve.modules.bms.entity.vo.BmsRegionTreeVo;
import com.qs.serve.modules.sys.entity.*; import com.qs.serve.modules.sys.entity.*;
import com.qs.serve.modules.sys.entity.bo.SysUserBatchBo; import com.qs.serve.modules.sys.entity.bo.SysUserBatchBo;
import com.qs.serve.modules.sys.entity.bo.SysUserBo; import com.qs.serve.modules.sys.entity.bo.SysUserBo;
import com.qs.serve.modules.sys.entity.bo.SysUserParentParam;
import com.qs.serve.modules.sys.entity.bo.SysUserSalesParam;
import com.qs.serve.modules.sys.entity.dto.*; import com.qs.serve.modules.sys.entity.dto.*;
import com.qs.serve.modules.sys.mapper.SysUserMapper;
import com.qs.serve.modules.sys.service.*; import com.qs.serve.modules.sys.service.*;
import com.qs.serve.modules.wx.entity.WxUser; import com.qs.serve.modules.wx.entity.WxUser;
import com.qs.serve.modules.wx.service.WxUserService; import com.qs.serve.modules.wx.service.WxUserService;
@ -30,7 +27,6 @@ import org.springframework.web.bind.annotation.*;
import javax.validation.Valid; import javax.validation.Valid;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@ -49,7 +45,7 @@ public class SysUserController {
private SysDeptService sysDeptService; private SysDeptService sysDeptService;
private SysPostService sysPostService; private SysPostService sysPostService;
private SysRoleService sysRoleService; private SysRoleService sysRoleService;
private WxUserService wxUserService; private WxUserService wxUserService;
private SysUserSalesService sysUserSalesService; private SysUserSalesService sysUserSalesService;
/** /**
@ -59,18 +55,33 @@ public class SysUserController {
@GetMapping("/tree") @GetMapping("/tree")
@PreAuthorize("hasRole('sys:user:query')") @PreAuthorize("hasRole('sys:user:query')")
public R<List<SysUserSalesTreeVo>> getTree(){ public R<List<SysUserSalesTreeVo>> getTree(){
List<SysUserSales> userSales = sysUserSalesService.selectSysUserSalesList(new SysUserSales()); List<SysUser> sysUsers = sysUserService.list();
List<SysUserSalesTreeVo> treeVoList = userSales.stream().map(obj->{ List<SysUserSales> userSales = sysUserSalesService.list();
SysUserSalesTreeVo treeNode = CopierUtil.copy(obj,new SysUserSalesTreeVo()); for (SysUser sysUser : sysUsers) {
treeNode.setId(obj.getId()); sysUser.setParentId("0");
treeNode.setParentId(obj.getPid()); for (SysUserSales userSale : userSales) {
if(sysUser.getId().equals(userSale.getUserId())){
sysUser.setParentId(userSale.getPid());
break;
}
}
}
List<SysUserSalesTreeVo> treeVoList = sysUsers.stream().map(sysUser->{
SysDept sysDept = sysDeptService.getById(sysUser.getDeptId());
SysUserSalesTreeVo treeNode = CopierUtil.copy(sysUser,new SysUserSalesTreeVo());
treeNode.setId(sysUser.getId());
treeNode.setParentId(sysUser.getParentId());
treeNode.setSort(0); treeNode.setSort(0);
if(sysDept!=null){
treeNode.setDeptName(sysDept.getName());
}
return treeNode; return treeNode;
}).collect(Collectors.toList()); }).collect(Collectors.toList());
treeVoList = TreeUtil.buildByRecursive(treeVoList,TreeUtil.DEFAULT_PID_STRING); treeVoList = TreeUtil.buildByRecursive(treeVoList,TreeUtil.DEFAULT_PID_STRING);
return R.ok(treeVoList); return R.ok(treeVoList);
} }
/** /**
* (个人)登录信息 * (个人)登录信息
* @return * @return
@ -277,6 +288,45 @@ public class SysUserController {
return R.isTrue(result); return R.isTrue(result);
} }
/**
* 修改销售人员状态
* @param userBo
* @return
*/
@SysLog(title = "人员",desc = "用户更新",biz = BizType.UPDATE)
@PostMapping("/updateSalesFlag")
@PreAuthorize("hasRole('sys:user:update')")
@Transactional(rollbackFor = Exception.class)
public R<?> updateSalesFlag(@RequestBody @Valid SysUserSalesParam userBo){
SysUser param = new SysUser();
param.setSalesFlag(userBo.getSalesFlag().equals(0)?0:1);
LambdaQueryWrapper<SysUser> lqw = new LambdaQueryWrapper<>();
lqw.in(SysUser::getId,userBo.getUserIds());
sysUserService.update(param,lqw);
return R.ok();
}
/**
* 修改销售人员上下级
* @param userBo
* @return
*/
@SysLog(title = "人员",desc = "用户更新",biz = BizType.UPDATE)
@PostMapping("/updateSalesParent")
@PreAuthorize("hasRole('sys:user:update')")
@Transactional(rollbackFor = Exception.class)
public R<?> updateSalesParent(@RequestBody @Valid SysUserParentParam userBo){
final String pid = userBo.getParentId();
List<SysUserSales> sysUserSalesList = userBo.getUserIds().stream().map(uid->{
SysUserSales sysUserSales = new SysUserSales();
sysUserSales.setUserId(uid);
sysUserSales.setPid(pid);
return sysUserSales;
}).collect(Collectors.toList());
sysUserSalesService.saveOrUpdateBatch(sysUserSalesList);
return R.ok();
}
/** /**
* 删除 * 删除
* @param id * @param id

3
src/main/java/com/qs/serve/modules/sys/entity/SysUser.java

@ -160,6 +160,9 @@ public class SysUser implements Serializable {
@TableField(exist = false) @TableField(exist = false)
private List<?> wxUserInfoList; private List<?> wxUserInfoList;
@TableField(exist = false)
private String parentId;
/** /**
* 返回前端过滤敏感信息 * 返回前端过滤敏感信息
* @return * @return

53
src/main/java/com/qs/serve/modules/sys/entity/SysUserSales.java

@ -27,7 +27,7 @@ public class SysUserSales implements Serializable {
/** 用户id */ /** 用户id */
@Length(max = 32,message = "用户id长度不能超过32字") @Length(max = 32,message = "用户id长度不能超过32字")
@TableId(type = IdType.ASSIGN_UUID) @TableId(type = IdType.INPUT)
private String userId; private String userId;
/** 父级id */ /** 父级id */
@ -64,56 +64,5 @@ public class SysUserSales implements Serializable {
@JsonProperty @JsonProperty
private Boolean delFlag; private Boolean delFlag;
@TableField(exist = false)
private String id;
/** 手机号 */
@TableField(exist = false)
private String mobile;
/** 账号 */
@TableField(exist = false)
private String account;
/** 昵称 */
@TableField(exist = false)
private String name;
/** 编号/工号 */
@TableField(exist = false)
private String code;
/** 头像 */
@TableField(exist = false)
private String icon;
/** 部门ID */
@TableField(exist = false)
private String deptId;
/** 职位ID */
@TableField(exist = false)
private String positionId;
/** 系统登录权限【0->停用;1->启用】 */
@TableField(exist = false)
private Integer loginEnable;
/** 在职状态【0->离职;1->在职】 */
@TableField(exist = false)
private Integer servingState;
/** 是否销售人员 */
@TableField(exist = false)
private Integer salesFlag;
/** 身份证号码 */
@TableField(exist = false)
private String identityNo;
/** 备注 */
@TableField(exist = false)
private String remark;
} }

18
src/main/java/com/qs/serve/modules/sys/entity/bo/SysRelateSuppliersParam.java

@ -0,0 +1,18 @@
package com.qs.serve.modules.sys.entity.bo;
import lombok.Data;
import java.util.List;
/**
* @author YenHex
* @since 2022/10/25
*/
@Data
public class SysRelateSuppliersParam {
String userId;
List<Long> supplierIds;
}

27
src/main/java/com/qs/serve/modules/sys/entity/bo/SysUserParentParam.java

@ -0,0 +1,27 @@
package com.qs.serve.modules.sys.entity.bo;
import lombok.Data;
import javax.validation.constraints.NotNull;
import java.util.List;
/**
* @author YenHex
* @since 2022/10/26
*/
@Data
public class SysUserParentParam {
/**
* 用户id列表
*/
@NotNull
private List<String> userIds;
/**
* 父级id
*/
@NotNull
private String parentId;
}

27
src/main/java/com/qs/serve/modules/sys/entity/bo/SysUserSalesParam.java

@ -0,0 +1,27 @@
package com.qs.serve.modules.sys.entity.bo;
import lombok.Data;
import javax.validation.constraints.NotNull;
import java.util.List;
/**
* @author YenHex
* @since 2022/10/26
*/
@Data
public class SysUserSalesParam {
/**
* 用户id列表
*/
@NotNull
List<String> userIds;
/**
* 是否销售人员 1是 0否
*/
@NotNull
private Integer salesFlag;
}

10
src/main/java/com/qs/serve/modules/sys/entity/dto/SysUserSalesTreeVo.java

@ -6,6 +6,7 @@ import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import com.qs.serve.common.model.dto.TreeNode; import com.qs.serve.common.model.dto.TreeNode;
import lombok.Data;
import org.hibernate.validator.constraints.Length; import org.hibernate.validator.constraints.Length;
import org.springframework.format.annotation.DateTimeFormat; import org.springframework.format.annotation.DateTimeFormat;
@ -15,14 +16,9 @@ import java.time.LocalDateTime;
* @author YenHex * @author YenHex
* @since 2022/10/12 * @since 2022/10/12
*/ */
@Data
public class SysUserSalesTreeVo extends TreeNode { public class SysUserSalesTreeVo extends TreeNode {
private String userId;
/** 父级id */
@Length(max = 32,message = "父级id长度不能超过32字")
private String pid;
@TableField(exist = false) @TableField(exist = false)
private String id; private String id;
@ -74,4 +70,6 @@ public class SysUserSalesTreeVo extends TreeNode {
@TableField(exist = false) @TableField(exist = false)
private String remark; private String remark;
@TableField(exist = false)
private String deptName;
} }

3
src/main/resources/mapper/bms/BmsSupplierMapper.xml

@ -14,7 +14,6 @@
<result property="code" column="code"/> <result property="code" column="code"/>
<result property="pid" column="pid"/> <result property="pid" column="pid"/>
<result property="parentCode" column="parent_code"/> <result property="parentCode" column="parent_code"/>
<result property="belong" column="belong"/>
<result property="createTime" column="create_time"/> <result property="createTime" column="create_time"/>
<result property="createBy" column="create_by"/> <result property="createBy" column="create_by"/>
<result property="updateTime" column="update_time"/> <result property="updateTime" column="update_time"/>
@ -33,7 +32,6 @@
bms_supplier.`code`, bms_supplier.`code`,
bms_supplier.`pid`, bms_supplier.`pid`,
bms_supplier.`parent_code`, bms_supplier.`parent_code`,
bms_supplier.`belong`,
bms_supplier.`create_time`, bms_supplier.`create_time`,
bms_supplier.`create_by`, bms_supplier.`create_by`,
bms_supplier.`update_time`, bms_supplier.`update_time`,
@ -56,7 +54,6 @@
<if test="query.code != null and query.code != ''"> and `bms_supplier`.`code` = #{query.code}</if> <if test="query.code != null and query.code != ''"> and `bms_supplier`.`code` = #{query.code}</if>
<if test="query.pid != null"> and `bms_supplier`.`pid` = #{query.pid}</if> <if test="query.pid != null"> and `bms_supplier`.`pid` = #{query.pid}</if>
<if test="query.parentCode != null and query.parentCode != ''"> and `bms_supplier`.`parent_code` = #{query.parentCode}</if> <if test="query.parentCode != null and query.parentCode != ''"> and `bms_supplier`.`parent_code` = #{query.parentCode}</if>
<if test="query.belong != null and query.belong != ''"> and `bms_supplier`.`belong` = #{query.belong}</if>
<if test="query.createTime != null"> and `bms_supplier`.`create_time` = #{query.createTime}</if> <if test="query.createTime != null"> and `bms_supplier`.`create_time` = #{query.createTime}</if>
<if test="query.createBy != null and query.createBy != ''"> and `bms_supplier`.`create_by` = #{query.createBy}</if> <if test="query.createBy != null and query.createBy != ''"> and `bms_supplier`.`create_by` = #{query.createBy}</if>
<if test="query.updateTime != null"> and `bms_supplier`.`update_time` = #{query.updateTime}</if> <if test="query.updateTime != null"> and `bms_supplier`.`update_time` = #{query.updateTime}</if>

8
src/main/resources/mapper/goods/GoodsSkuMapper.xml

@ -82,9 +82,13 @@
</where> </where>
</select> </select>
<select id="selectSkuVo" parameterType="com.qs.serve.modules.goods.entity.GoodsSku" resultMap="goodsSkuMap"> <resultMap id="skuVoResultMap" type="com.qs.serve.modules.goods.entity.vo.GoodSkuVo" extends="goodsSkuMap">
<result property="name" column="name"/>
<result property="shelf" column="shelf"/>
</resultMap>
<select id="selectSkuVo" parameterType="com.qs.serve.modules.goods.entity.GoodsSku" resultMap="skuVoResultMap">
SELECT SELECT
`goods_spu`.`spuId`,
`goods_spu`.`name`, `goods_spu`.`name`,
`goods_spu`.`shelf`, `goods_spu`.`shelf`,
<include refid="goodsSkuSql"/> <include refid="goodsSkuSql"/>

Loading…
Cancel
Save