|
@ -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 |
|
|