diff --git a/src/main/java/com/glxp/api/controller/auth/SysUserController.java b/src/main/java/com/glxp/api/controller/auth/SysUserController.java index 3b6d3697..81070a91 100644 --- a/src/main/java/com/glxp/api/controller/auth/SysUserController.java +++ b/src/main/java/com/glxp/api/controller/auth/SysUserController.java @@ -10,13 +10,16 @@ import com.glxp.api.constant.BusinessType; import com.glxp.api.controller.BaseController; import com.glxp.api.entity.auth.AuthAdmin; import com.glxp.api.entity.auth.AuthRoleAdmin; +import com.glxp.api.entity.auth.DeptUserEntity; import com.glxp.api.entity.auth.SysRole; import com.glxp.api.req.auth.AuthAdminQueryRequest; import com.glxp.api.req.auth.AuthAdminSaveRequest; import com.glxp.api.res.PageSimpleResponse; import com.glxp.api.res.auth.AuthAdminResponse; +import com.glxp.api.res.auth.DeptUserResponse; import com.glxp.api.service.auth.AuthAdminService; import com.glxp.api.service.auth.AuthRoleAdminService; +import com.glxp.api.service.auth.DeptUserService; import com.glxp.api.service.auth.ISysRoleService; import com.glxp.api.util.PasswordUtils; import com.glxp.api.util.StreamUtils; @@ -68,23 +71,28 @@ public class SysUserController extends BaseController { authAdminQueryRequest.setIds(ids); } List authAdminList = userService.listAdminPage(authAdminQueryRequest); - // 查询所有的权限 - List adminIds = authAdminList.stream().map(AuthAdmin::getId).collect(Collectors.toList()); - - // 视图列表 + //查询对应角色和部门 List authAdminResponseList = authAdminList.stream().map(item -> { AuthAdminResponse authAdminResponse = new AuthAdminResponse(); BeanUtils.copyProperties(item, authAdminResponse); -// List roles = authRoleAdminList.stream() -// .filter(authRoleAdmin -> authAdminResponse.getId().equals(authRoleAdmin.getAdmin_id())) -// .map(AuthRoleAdmin::getRole_id) -// .collect(Collectors.toList()); List roles = sysRoleService.selectRoleListByUserId(authAdminResponse.getId()); + List deptUserResponses = deptUserService.selectByUserId(authAdminResponse.getId()); + if (CollUtil.isNotEmpty(deptUserResponses)) { + List depts = new ArrayList<>(); + String deptName = ""; + for (DeptUserResponse deptUserResponse : deptUserResponses) { + depts.add(deptUserResponse.getDeptId()); + deptName = deptName + "," + deptUserResponse.getDeptName(); + } + authAdminResponse.setDeptName(deptName.substring(1)); + authAdminResponse.setDepts(depts); + } authAdminResponse.setRoles(roles); return authAdminResponse; }).collect(Collectors.toList()); + PageInfo authAdminPageInfo = new PageInfo<>(authAdminList); PageSimpleResponse authAdminPageSimpleResponse = new PageSimpleResponse<>(); authAdminPageSimpleResponse.setTotal(authAdminPageInfo.getTotal()); @@ -94,7 +102,6 @@ public class SysUserController extends BaseController { } - /** * 根据用户编号获取详细信息 * @@ -153,24 +160,13 @@ public class SysUserController extends BaseController { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); } AuthAdmin curUser = getUser(); -// if (!curUser.getCustomerId().equals("110")) { -// CustomerInfoEntity customerInfoEntity = customerInfoService.selectById(curUser.getCustomerId()); -// int max = customerInfoEntity.getUserMax(); -// int count = userService.findCountByCustomerId(authAdminSaveRequest.getCustomerId()); -// if (count >= max) { -// return ResultVOUtils.error(ResultEnum.DATA_REPEAT, "已超过最大用户数"); -// } -// } - // 检查是否存在相同名称的管理员 AuthAdmin byUserName = userService.findByUserName(authAdminSaveRequest.getUserName()); if (byUserName != null) { return ResultVOUtils.error(ResultEnum.DATA_REPEAT, "当前管理员已存在"); } - AuthAdmin authAdmin = new AuthAdmin(); BeanUtils.copyProperties(authAdminSaveRequest, authAdmin); - if (authAdmin.getPassWord() != null) { authAdmin.setPassWord(PasswordUtils.authAdminPwd(authAdmin.getPassWord())); } @@ -187,12 +183,27 @@ public class SysUserController extends BaseController { userService.insertUserAuth(authAdmin.getId(), authAdminSaveRequest.getRoles()); } + //插入部门 + if (CollUtil.isNotEmpty(authAdminSaveRequest.getDepts())) { + List list = new ArrayList<>(); + for (int i = 0; i < authAdminSaveRequest.getDepts().size(); i++) { + DeptUserEntity deptUserEntity = new DeptUserEntity(); + deptUserEntity.setUserId(authAdmin.getId()); + deptUserEntity.setDeptId(authAdminSaveRequest.getDepts().get(i)); + list.add(deptUserEntity); + } + deptUserService.insertBatch(list); + } + Map res = new HashMap<>(); res.put("id", authAdmin.getId()); return ResultVOUtils.success(res); } + @Resource + DeptUserService deptUserService; + /** * 修改用户 */ @@ -228,6 +239,18 @@ public class SysUserController extends BaseController { userService.insertUserAuth(authAdmin.getId(), authAdminSaveRequest.getRoles()); } + //修改所属部门 + if (CollUtil.isNotEmpty(authAdminSaveRequest.getDepts())) { + deptUserService.deleteByUser(authAdminSaveRequest.getId()); + List list = new ArrayList<>(); + for (int i = 0; i < authAdminSaveRequest.getDepts().size(); i++) { + DeptUserEntity deptUserEntity = new DeptUserEntity(); + deptUserEntity.setUserId(authAdminSaveRequest.getId()); + deptUserEntity.setDeptId(authAdminSaveRequest.getDepts().get(i)); + list.add(deptUserEntity); + } + deptUserService.insertBatch(list); + } return ResultVOUtils.success(); } diff --git a/src/main/java/com/glxp/api/dao/auth/DeptUserDao.java b/src/main/java/com/glxp/api/dao/auth/DeptUserDao.java index 5bac06db..dd5a71ad 100644 --- a/src/main/java/com/glxp/api/dao/auth/DeptUserDao.java +++ b/src/main/java/com/glxp/api/dao/auth/DeptUserDao.java @@ -18,6 +18,9 @@ public interface DeptUserDao { int deleteById(Integer id); + + boolean deleteByUser(@Param("userId") Long userId); + int deleteByList(@Param("ids") List ids); int insertBatch(List list); diff --git a/src/main/java/com/glxp/api/entity/auth/DeptUserEntity.java b/src/main/java/com/glxp/api/entity/auth/DeptUserEntity.java index e857cf24..ffd1cf6f 100644 --- a/src/main/java/com/glxp/api/entity/auth/DeptUserEntity.java +++ b/src/main/java/com/glxp/api/entity/auth/DeptUserEntity.java @@ -4,7 +4,7 @@ import lombok.Data; @Data public class DeptUserEntity { - private Integer deptId; - private Integer userId; + private Long deptId; + private Long userId; } diff --git a/src/main/java/com/glxp/api/req/auth/AuthAdminSaveRequest.java b/src/main/java/com/glxp/api/req/auth/AuthAdminSaveRequest.java index 0a862a74..1d0d877f 100644 --- a/src/main/java/com/glxp/api/req/auth/AuthAdminSaveRequest.java +++ b/src/main/java/com/glxp/api/req/auth/AuthAdminSaveRequest.java @@ -36,4 +36,6 @@ public class AuthAdminSaveRequest { private String locInvCode; private String locSubInvCode; private String dept; + + private List depts; } diff --git a/src/main/java/com/glxp/api/req/auth/DeptUserReqeust.java b/src/main/java/com/glxp/api/req/auth/DeptUserReqeust.java index 1acf8bff..67b7703b 100644 --- a/src/main/java/com/glxp/api/req/auth/DeptUserReqeust.java +++ b/src/main/java/com/glxp/api/req/auth/DeptUserReqeust.java @@ -5,6 +5,6 @@ import lombok.Data; @Data public class DeptUserReqeust extends ListPageRequest { - private Integer deptId; - private Integer userId; + private Long deptId; + private Long userId; } diff --git a/src/main/java/com/glxp/api/res/auth/AuthAdminResponse.java b/src/main/java/com/glxp/api/res/auth/AuthAdminResponse.java index 068f566e..d15bc6e6 100644 --- a/src/main/java/com/glxp/api/res/auth/AuthAdminResponse.java +++ b/src/main/java/com/glxp/api/res/auth/AuthAdminResponse.java @@ -40,4 +40,6 @@ public class AuthAdminResponse { private String dept; private String deptName; + private List depts; + } diff --git a/src/main/java/com/glxp/api/res/auth/DeptUserResponse.java b/src/main/java/com/glxp/api/res/auth/DeptUserResponse.java index e3fa8579..5fd9174e 100644 --- a/src/main/java/com/glxp/api/res/auth/DeptUserResponse.java +++ b/src/main/java/com/glxp/api/res/auth/DeptUserResponse.java @@ -5,8 +5,9 @@ import lombok.Data; @Data public class DeptUserResponse { - private Integer deptId; - private Integer userId; + private Long deptId; + private Long userId; private String userName; private String employeeName; + private String deptName; } diff --git a/src/main/java/com/glxp/api/service/auth/DeptUserService.java b/src/main/java/com/glxp/api/service/auth/DeptUserService.java index 59ed0a3a..baed6def 100644 --- a/src/main/java/com/glxp/api/service/auth/DeptUserService.java +++ b/src/main/java/com/glxp/api/service/auth/DeptUserService.java @@ -3,6 +3,7 @@ package com.glxp.api.service.auth; import com.glxp.api.entity.auth.DeptUserEntity; import com.glxp.api.req.auth.DeptUserReqeust; import com.glxp.api.res.auth.DeptUserResponse; +import org.apache.ibatis.annotations.Param; import java.util.List; @@ -11,8 +12,12 @@ public interface DeptUserService { List selectDeptUser(DeptUserReqeust deptUserReqeust); + List selectByUserId(Long userId); + List selectJoinDeptUser(DeptUserReqeust deptUserReqeust); + boolean deleteByUser(Long userId); + int deleteById(Integer id); int deleteByList(List ids); diff --git a/src/main/java/com/glxp/api/service/auth/impl/DeptUserServiceImpl.java b/src/main/java/com/glxp/api/service/auth/impl/DeptUserServiceImpl.java index f7701392..b354377e 100644 --- a/src/main/java/com/glxp/api/service/auth/impl/DeptUserServiceImpl.java +++ b/src/main/java/com/glxp/api/service/auth/impl/DeptUserServiceImpl.java @@ -28,6 +28,13 @@ public class DeptUserServiceImpl implements DeptUserService { return deptUserDao.selectDeptUser(deptUserReqeust); } + @Override + public List selectByUserId(Long userId) { + DeptUserReqeust deptUserReqeust = new DeptUserReqeust(); + deptUserReqeust.setUserId(userId); + return deptUserDao.selectJoinDeptUser(deptUserReqeust); + } + @Override public List selectJoinDeptUser(DeptUserReqeust deptUserReqeust) { if (deptUserReqeust.getPage() != null) { @@ -37,6 +44,11 @@ public class DeptUserServiceImpl implements DeptUserService { return deptUserDao.selectJoinDeptUser(deptUserReqeust); } + @Override + public boolean deleteByUser(Long userId) { + return deptUserDao.deleteByUser(userId); + } + @Override public int deleteById(Integer id) { return deptUserDao.deleteById(id); diff --git a/src/main/resources/mybatis/mapper/auth/DeptUserDao.xml b/src/main/resources/mybatis/mapper/auth/DeptUserDao.xml index 24d8e278..aba32061 100644 --- a/src/main/resources/mybatis/mapper/auth/DeptUserDao.xml +++ b/src/main/resources/mybatis/mapper/auth/DeptUserDao.xml @@ -21,10 +21,11 @@