diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/PersonnelController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/PersonnelController.java index 3b95f88..596e8fd 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/PersonnelController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/PersonnelController.java @@ -170,12 +170,46 @@ public class PersonnelController extends CoreBaseController { } } + + @PutMapping(value="/user/update") + @ApiOperation(value="添加用户信息",notes="返回内容添加用户信息") + public ResultBean updateUserModel(UserDetailModel model) { + try { + checkUserModel(model); + SysUser user = personnelService.getSysUserById(Long.parseLong(model.getUserId())); + initUser(model,user); + personnelService.checkSysUserOnly(user); + + SysDepartment userDepartment = personnelService.getSysDepartmentById(Long.parseLong(model.getUserDepartmentId())); + if(userDepartment == null){ + ValidatorBean.checkNotNull(userDepartment,"账号主部门不存在"); + } + SysOrganize userOrganize = personnelService.getSysOrganizeById(userDepartment.getOrganizeId()); + + user.setDepartmentId(userDepartment.getId()); + user.setDepartmentNameRdd(userDepartment.getName()); + user.setOrganizeId(userOrganize.getId()); + user.setOrganizeNameRdd(userOrganize.getName()); + + // 关系 刷新 + refreshRef(user, null, model); + personnelService.saveSysUser(user); + return ResultBean.success("添加成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); + } catch (ImppBusiException busExcep) { + LOGGER.error(busExcep.getErrorMsg() + ":{}", busExcep.getErrorDetail(), busExcep); + return ResultBean.fail(busExcep); + } catch (Exception e) { + LOGGER.error(ImppExceptionEnum.BUSINESS_EXCEPTION_DATA_ERROR.getDescription() + ":{}", e.getMessage(), e); + return ResultBean.fail().setCode(ImppExceptionEnum.BUSINESS_EXCEPTION_DATA_ERROR.getCode()); + } + } + @GetMapping(value = "/user-info/get-detail/{id}") @ApiOperation(value = "获取用户信息", notes = "查询根据ID查询用户相关所有信息") public ResultBean getUserInfoById(@PathVariable("id") String id){ try { // 数据校验 - ValidatorBean.checkNotNull(id, "角色id 不能为空"); + ValidatorBean.checkNotNull(id, "用户id 不能为空"); Map resultMap = new HashMap<>(); @@ -205,6 +239,33 @@ public class PersonnelController extends CoreBaseController { } } + @GetMapping(value = "/user/get-detail/{id}") + @ApiOperation(value = "获取账号信息", notes = "查询根据ID查询账号相关所有信息") + public ResultBean getUserById(@PathVariable("id") String id){ + try { + // 数据校验 + ValidatorBean.checkNotNull(id, "用户id 不能为空"); + Map resultMap = new HashMap<>(); + + + SysUser user = personnelService.getSysUserById(Long.parseLong(id)); + + List refUserInfoDepartmentList = personnelService.findSysRefUserDepartmentById(user.getId()); + List refUserRoleList = personnelService.findSysRefUserRoleById(user.getId()); + + resultMap.put("refUserDepartmentList",refUserInfoDepartmentList); + resultMap.put("refUserRoleList",refUserRoleList); + + return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setResultMap(resultMap); + } catch (ImppBusiException busExcep) { + LOGGER.error(busExcep.getErrorMsg() + ":{}", busExcep.getErrorDetail(), busExcep); + return ResultBean.fail(busExcep); + } catch (Exception e) { + LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + ":{}", e.getMessage(), e); + return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); + } + } + @DeleteMapping(value="/user-info/delete/{id}") @ApiOperation(value="删除用户信息",notes="根据用户信息id删除信息") public ResultBean deleteSysUserInfo(@PathVariable("id") String id){ @@ -383,6 +444,24 @@ public class PersonnelController extends CoreBaseController { .notNull("infoEmpNo", model.getInfoEmpNo()) .notNull("infoPositionId", model.getInfoPositionId()) .notNull("infoDepartmentId", model.getInfoDepartmentId()) + .notNull("userDepartmentId", model.getUserDepartmentId()) + .notNull("userLoginName", model.getUserLoginName()) + .notNull("userEmail", model.getUserEmail()) + .notNull("userPhone", model.getUserPhone()); + } + + /** + * 数据必填校验 + * @param model + * @throws Exception + */ + private void checkUserModel(UserDetailModel model)throws Exception{ + ValidatorBean.beginValid(model) + .notNull("userInfoId", model.getUserInfoId()) + .notNull("userId", model.getUserId()) + .notNull("infoName", model.getInfoName()) + .notNull("infoEmpNo", model.getInfoEmpNo()) + .notNull("userDepartmentId", model.getUserDepartmentId()) .notNull("userLoginName", model.getUserLoginName()) .notNull("userEmail", model.getUserEmail()) .notNull("userPhone", model.getUserPhone()); @@ -399,16 +478,39 @@ public class PersonnelController extends CoreBaseController { info.setUserJoinDate(TimeTool.getToday()); } - info.setUserInfoStatus(CommonEnumUtil.USER_INFO_STATUS.INCUMBENT.getValue()); - info.setUserLoginNum(0); - info.setIsValid(CommonEnumUtil.IS_VAILD.VAILD.getValue()); - ConvertBean.modelInitialize(info, AuthUtil.getSessionUser()); + if(info != null){ + info.setUserInfoStatus(CommonEnumUtil.USER_INFO_STATUS.INCUMBENT.getValue()); + info.setUserLoginNum(0); + info.setIsValid(CommonEnumUtil.IS_VAILD.VAILD.getValue()); + ConvertBean.modelInitialize(info, AuthUtil.getSessionUser()); + } - user.setUserType(CommonEnumUtil.USER_TYPE.USER.getValue()); - user.setUserStatus(CommonEnumUtil.USER_STATUS.ENABLE.getValue()); - user.setIsValid(CommonEnumUtil.IS_VAILD.VAILD.getValue()); - user.setUserLoginNum(0); - ConvertBean.modelInitialize(user, AuthUtil.getSessionUser()); + if(user != null){ + user.setUserType(CommonEnumUtil.USER_TYPE.USER.getValue()); + user.setUserStatus(CommonEnumUtil.USER_STATUS.ENABLE.getValue()); + user.setIsValid(CommonEnumUtil.IS_VAILD.VAILD.getValue()); + user.setUserLoginNum(0); + ConvertBean.modelInitialize(user, AuthUtil.getSessionUser()); + } + } + + /** + * 用户信息初始化 + * @param model + * @param user + * @throws Exception + */ + private void initUser(UserDetailModel model ,SysUser user)throws Exception{ + if(user != null && model != null){ + user.setUserLoginName(model.getUserLoginName()); + user.setDepartmentId(Long.parseLong(model.getUserDepartmentId())); + user.setUserEmail(model.getUserEmail()); + user.setUserPhone(model.getUserPhone()); + + if(!StringUtils.isAnyBlank(model.getUserLoginPassword())){ // 使用新密码 + user.setUserLoginPassword(EncryptTool.hexMD5(model.getUserLoginPassword())); + } + } } /** @@ -418,15 +520,19 @@ public class PersonnelController extends CoreBaseController { * @param model */ private void refreshRef(SysUser user,SysUserInfo info,UserDetailModel model){ - // 刷新账号 部门关系 - personnelService.refreshRefSysUserDepartment(user.getId(), StringTool.getArrayLong(model.getUserDepartmentIdList())); - // 刷新账号 角色关系 - personnelService.refreshRefSysUserRole(user.getId(),StringTool.getArrayLong(model.getUserRoleIdList())); - - // 刷新用户 部门关系 - personnelService.refreshRefSysUserInfoDepartment(info.getId(),StringTool.getArrayLong(model.getInfoDepartmentIdList())); - // 刷新用户 岗位关系 - personnelService.refreshRefSysUserInfoPosition(info.getId(),StringTool.getArrayLong(model.getInfoPositionIdList())); + if(user != null){ + // 刷新账号 部门关系 + personnelService.refreshRefSysUserDepartment(user.getId(), StringTool.getArrayLong(model.getUserDepartmentIdList())); + // 刷新账号 角色关系 + personnelService.refreshRefSysUserRole(user.getId(),StringTool.getArrayLong(model.getUserRoleIdList())); + } + + if(info != null){ + // 刷新用户 部门关系 + personnelService.refreshRefSysUserInfoDepartment(info.getId(),StringTool.getArrayLong(model.getInfoDepartmentIdList())); + // 刷新用户 岗位关系 + personnelService.refreshRefSysUserInfoPosition(info.getId(),StringTool.getArrayLong(model.getInfoPositionIdList())); + } } /**