diff --git a/jero-boot/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/common/system/vo/SysDepartUserTreeModel.java b/jero-boot/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/common/system/vo/SysDepartUserTreeModel.java index 4c7e10b24..8dcb954eb 100644 --- a/jero-boot/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/common/system/vo/SysDepartUserTreeModel.java +++ b/jero-boot/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/common/system/vo/SysDepartUserTreeModel.java @@ -78,7 +78,7 @@ public class SysDepartUserTreeModel implements Serializable { private List list = new ArrayList<>(); //当前部门的用户列表,不包括子部门的 - private List children = new ArrayList<>(); + private List children = new ArrayList<>(); public List getList() { return list; @@ -142,11 +142,11 @@ public class SysDepartUserTreeModel implements Serializable { this.id = id; } - public List getChildren() { + public List getChildren() { return children; } - public void setChildren(List children) { + public void setChildren(List children) { if (children == null) { this.isLeaf = true; } diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysUserController.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysUserController.java index ff58464ac..0466fd702 100644 --- a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysUserController.java +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysUserController.java @@ -30,10 +30,12 @@ import com.jero.modules.system.model.DepartIdModel; import com.jero.modules.system.model.SysUserSysDepartModel; import com.jero.modules.system.service.*; import com.jero.modules.system.vo.SysDepartUsersVO; +import com.jero.modules.system.vo.SysPushVO; import com.jero.modules.system.vo.SysUserRoleVO; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang.StringUtils; import org.apache.shiro.SecurityUtils; import org.apache.shiro.authz.annotation.RequiresPermissions; @@ -71,23 +73,23 @@ import java.util.stream.Collectors; @Api(tags = "用户管理") @RequestMapping("/sys/user") public class SysUserController { - @Autowired - private ISysBaseAPI sysBaseAPI; + @Autowired + private ISysBaseAPI sysBaseAPI; - @Autowired - private ISysUserService sysUserService; + @Autowired + private ISysUserService sysUserService; @Autowired private ISysDepartService sysDepartService; - @Autowired - private ISysUserRoleService sysUserRoleService; + @Autowired + private ISysUserRoleService sysUserRoleService; - @Autowired - private ISysUserDepartService sysUserDepartService; + @Autowired + private ISysUserDepartService sysUserDepartService; - @Autowired - private ISysUserRoleService userRoleService; + @Autowired + private ISysUserRoleService userRoleService; @Autowired private ISysDepartRoleUserService departRoleUserService; @@ -95,8 +97,8 @@ public class SysUserController { @Autowired private ISysDepartRoleService departRoleService; - @Autowired - private RedisUtil redisUtil; + @Autowired + private RedisUtil redisUtil; @Value("${jero.path.upload}") private String upLoadPath; @@ -106,6 +108,7 @@ public class SysUserController { /** * 获取用户列表数据 + * * @param user * @param pageNo * @param pageSize @@ -115,139 +118,141 @@ public class SysUserController { @ApiOperation(value = "用户管理-分页查询") @RequiresPermissions("sys:user:list") @PermissionData(pageComponent = "system/UserList") - @RequestMapping(value = "/page", method = RequestMethod.GET) - public Result> queryPageList(SysUser user,@RequestParam(name="pageNo", defaultValue="1") Integer pageNo, - @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,HttpServletRequest req) { + @RequestMapping(value = "/page", method = RequestMethod.GET) + public Result> queryPageList(SysUser user, @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, HttpServletRequest req) { Result> result = new Result>(); - QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(user, req.getParameterMap()); - //TODO 外部模拟登陆临时账号,列表不显示 - queryWrapper.ne("username","_reserve_user_external"); - Page page = new Page(pageNo, pageSize); - IPage pageList = sysUserService.page(page, queryWrapper); + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(user, req.getParameterMap()); + //TODO 外部模拟登陆临时账号,列表不显示 + queryWrapper.ne("username", "_reserve_user_external"); + Page page = new Page(pageNo, pageSize); + IPage pageList = sysUserService.page(page, queryWrapper); - //批量查询用户的所属部门 + //批量查询用户的所属部门 //step.1 先拿到全部的 useids //step.2 通过 useids,一次性查询用户的所属部门名字 List userIds = pageList.getRecords().stream().map(SysUser::getId).collect(Collectors.toList()); - if(userIds!=null && userIds.size()>0){ - Map useDepNames = sysUserService.getDepNamesByUserIds(userIds); - pageList.getRecords().forEach(item->{ + if (userIds != null && userIds.size() > 0) { + Map useDepNames = sysUserService.getDepNamesByUserIds(userIds); + pageList.getRecords().forEach(item -> { item.setOrgCodeTxt(useDepNames.get(item.getId())); }); } - result.setSuccess(true); - result.setResult(pageList); - log.info(pageList.toString()); - return result; - } + result.setSuccess(true); + result.setResult(pageList); + log.info(pageList.toString()); + return result; + } //@RequiresRoles({"admin"}) @RequiresPermissions("user:add") - @RequestMapping(value = "/add", method = RequestMethod.POST) - public Result add(@RequestBody JSONObject jsonObject) { - Result result = new Result(); - String selectedRoles = jsonObject.getString("selectedroles"); - String selectedDeparts = jsonObject.getString("selecteddeparts"); - try { - SysUser user = JSON.parseObject(jsonObject.toJSONString(), SysUser.class); - user.setCreateTime(new Date());//设置创建时间 - String salt = oConvertUtils.randomGen(8); - user.setSalt(salt); - String passwordEncode = PasswordUtil.encrypt(user.getUsername(), user.getPassword(), salt); - user.setPassword(passwordEncode); - user.setStatus(1); - user.setDelFlag(CommonConstant.DEL_FLAG_0); - sysUserService.addUserWithRole(user, selectedRoles); + @RequestMapping(value = "/add", method = RequestMethod.POST) + public Result add(@RequestBody JSONObject jsonObject) { + Result result = new Result(); + String selectedRoles = jsonObject.getString("selectedroles"); + String selectedDeparts = jsonObject.getString("selecteddeparts"); + try { + SysUser user = JSON.parseObject(jsonObject.toJSONString(), SysUser.class); + user.setCreateTime(new Date());//设置创建时间 + String salt = oConvertUtils.randomGen(8); + user.setSalt(salt); + String passwordEncode = PasswordUtil.encrypt(user.getUsername(), user.getPassword(), salt); + user.setPassword(passwordEncode); + user.setStatus(1); + user.setDelFlag(CommonConstant.DEL_FLAG_0); + sysUserService.addUserWithRole(user, selectedRoles); sysUserService.addUserWithDepart(user, selectedDeparts); - result.success("添加成功!"); - } catch (Exception e) { - log.error(e.getMessage(), e); - result.error500("操作失败"); - } - return result; - } + result.success("添加成功!"); + } catch (Exception e) { + log.error(e.getMessage(), e); + result.error500("操作失败"); + } + return result; + } //@RequiresRoles({"admin"}) @RequiresPermissions("user:edit") - @RequestMapping(value = "/edit", method = RequestMethod.PUT) - public Result edit(@RequestBody JSONObject jsonObject) { - Result result = new Result(); - try { - SysUser sysUser = sysUserService.getById(jsonObject.getString("id")); - baseCommonService.addLog("编辑用户,id: " +jsonObject.getString("id") ,CommonConstant.LOG_TYPE_2, 2); - if(sysUser==null) { - result.error500("未找到对应实体"); - }else { - SysUser user = JSON.parseObject(jsonObject.toJSONString(), SysUser.class); - user.setUpdateTime(new Date()); - //String passwordEncode = PasswordUtil.encrypt(user.getUsername(), user.getPassword(), sysUser.getSalt()); - user.setPassword(sysUser.getPassword()); - String roles = jsonObject.getString("selectedroles"); + @RequestMapping(value = "/edit", method = RequestMethod.PUT) + public Result edit(@RequestBody JSONObject jsonObject) { + Result result = new Result(); + try { + SysUser sysUser = sysUserService.getById(jsonObject.getString("id")); + baseCommonService.addLog("编辑用户,id: " + jsonObject.getString("id"), CommonConstant.LOG_TYPE_2, 2); + if (sysUser == null) { + result.error500("未找到对应实体"); + } else { + SysUser user = JSON.parseObject(jsonObject.toJSONString(), SysUser.class); + user.setUpdateTime(new Date()); + //String passwordEncode = PasswordUtil.encrypt(user.getUsername(), user.getPassword(), sysUser.getSalt()); + user.setPassword(sysUser.getPassword()); + String roles = jsonObject.getString("selectedroles"); String departs = jsonObject.getString("selecteddeparts"); - sysUserService.editUserWithRole(user, roles); + sysUserService.editUserWithRole(user, roles); sysUserService.editUserWithDepart(user, departs); sysUserService.updateNullPhoneEmail(); - result.success("修改成功!"); - } - } catch (Exception e) { - log.error(e.getMessage(), e); - result.error500("操作失败"); - } - return result; - } + result.success("修改成功!"); + } + } catch (Exception e) { + log.error(e.getMessage(), e); + result.error500("操作失败"); + } + return result; + } - /** - * 删除用户 - */ - //@RequiresRoles({"admin"}) + /** + * 删除用户 + */ + //@RequiresRoles({"admin"}) @RequiresPermissions("sys:user:del") - @RequestMapping(value = "/delete", method = RequestMethod.DELETE) - public Result delete(@RequestParam(name="id",required=true) String id) { - baseCommonService.addLog("删除用户,id: " +id ,CommonConstant.LOG_TYPE_2, 3); - this.sysUserService.deleteUser(id); - return Result.OK("删除用户成功"); - } + @RequestMapping(value = "/delete", method = RequestMethod.DELETE) + public Result delete(@RequestParam(name = "id", required = true) String id) { + baseCommonService.addLog("删除用户,id: " + id, CommonConstant.LOG_TYPE_2, 3); + this.sysUserService.deleteUser(id); + return Result.OK("删除用户成功"); + } - /** - * 批量删除用户 - */ - //@RequiresRoles({"admin"}) + /** + * 批量删除用户 + */ + //@RequiresRoles({"admin"}) @RequiresPermissions("sys:user:del") - @RequestMapping(value = "/deleteBatch", method = RequestMethod.DELETE) - public Result deleteBatch(@RequestParam(name="ids",required=true) String ids) { - baseCommonService.addLog("批量删除用户, ids: " +ids ,CommonConstant.LOG_TYPE_2, 3); - this.sysUserService.deleteBatchUsers(ids); - return Result.OK("批量删除用户成功"); - } + @RequestMapping(value = "/deleteBatch", method = RequestMethod.DELETE) + public Result deleteBatch(@RequestParam(name = "ids", required = true) String ids) { + baseCommonService.addLog("批量删除用户, ids: " + ids, CommonConstant.LOG_TYPE_2, 3); + this.sysUserService.deleteBatchUsers(ids); + return Result.OK("批量删除用户成功"); + } - /** - * 冻结&解冻用户 - * @param jsonObject - * @return - */ - //@RequiresRoles({"admin"}) + /** + * 冻结&解冻用户 + * + * @param jsonObject + * @return + */ + //@RequiresRoles({"admin"}) @RequiresPermissions("sys:user:list") - @RequestMapping(value = "/frozenBatch", method = RequestMethod.PUT) - public Result frozenBatch(@RequestBody JSONObject jsonObject) { - Result result = new Result(); - try { - String ids = jsonObject.getString("ids"); - String status = jsonObject.getString("status"); - String[] arr = ids.split(","); - for (String id : arr) { - if(oConvertUtils.isNotEmpty(id)) { - this.sysUserService.update(new SysUser().setStatus(Integer.parseInt(status)), - new UpdateWrapper().lambda().eq(SysUser::getId,id)); - } - } - } catch (Exception e) { - log.error(e.getMessage(), e); - result.error500("操作失败"+e.getMessage()); - } - result.success("操作成功!"); - return result; + @RequestMapping(value = "/frozenBatch", method = RequestMethod.PUT) + public Result frozenBatch(@RequestBody JSONObject jsonObject) { + Result result = new Result(); + try { + String ids = jsonObject.getString("ids"); + String status = jsonObject.getString("status"); + String[] arr = ids.split(","); + for (String id : arr) { + if (oConvertUtils.isNotEmpty(id)) { + this.sysUserService.update(new SysUser().setStatus(Integer.parseInt(status)), + new UpdateWrapper().lambda().eq(SysUser::getId, id)); + } + } + } catch (Exception e) { + log.error(e.getMessage(), e); + result.error500("操作失败" + e.getMessage()); + } + result.success("操作成功!"); + return result; } + @RequiresPermissions("sys:user:list") @RequestMapping(value = "/queryById", method = RequestMethod.GET) public Result queryById(@RequestParam(name = "id", required = true) String id) { @@ -261,6 +266,7 @@ public class SysUserController { } return result; } + @RequiresPermissions("sys:user:list") @RequestMapping(value = "/queryUserRole", method = RequestMethod.GET) public Result> queryUserRole(@RequestParam(name = "userid", required = true) String userid) { @@ -281,8 +287,8 @@ public class SysUserController { /** - * 校验用户账号是否唯一
- * 可以校验其他 需要检验什么就传什么。。。 + * 校验用户账号是否唯一
+ * 可以校验其他 需要检验什么就传什么。。。 * * @param sysUser * @return @@ -348,7 +354,7 @@ public class SysUserController { } return result; } catch (Exception e) { - log.error(e.getMessage(), e); + log.error(e.getMessage(), e); result.setSuccess(false); result.setMessage("查找过程中出现了异常: " + e.getMessage()); return result; @@ -380,19 +386,19 @@ public class SysUserController { */ @RequiresPermissions("sys:user:list") @RequestMapping(value = "/queryUserByDepId", method = RequestMethod.GET) - public Result> queryUserByDepId(@RequestParam(name = "id", required = true) String id,@RequestParam(name="realname",required=false) String realname) { + public Result> queryUserByDepId(@RequestParam(name = "id", required = true) String id, @RequestParam(name = "realname", required = false) String realname) { Result> result = new Result<>(); //List userList = sysUserDepartService.queryUserByDepId(id); SysDepart sysDepart = sysDepartService.getById(id); - List userList = sysUserDepartService.queryUserByDepCode(sysDepart.getOrgCode(),realname); + List userList = sysUserDepartService.queryUserByDepCode(sysDepart.getOrgCode(), realname); //批量查询用户的所属部门 //step.1 先拿到全部的 useids //step.2 通过 useids,一次性查询用户的所属部门名字 List userIds = userList.stream().map(SysUser::getId).collect(Collectors.toList()); - if(userIds!=null && userIds.size()>0){ - Map useDepNames = sysUserService.getDepNamesByUserIds(userIds); - userList.forEach(item->{ + if (userIds != null && userIds.size() > 0) { + Map useDepNames = sysUserService.getDepNamesByUserIds(userIds); + userList.forEach(item -> { //TODO 临时借用这个字段用于页面展示 item.setOrgCodeTxt(useDepNames.get(item.getId())); }); @@ -403,7 +409,7 @@ public class SysUserController { result.setResult(userList); return result; } catch (Exception e) { - log.error(e.getMessage(), e); + log.error(e.getMessage(), e); result.setSuccess(false); return result; } @@ -417,26 +423,26 @@ public class SysUserController { */ @RequiresPermissions("sys:user:export") @RequestMapping(value = "/exportXls") - public ModelAndView exportXls(SysUser sysUser,HttpServletRequest request) { + public ModelAndView exportXls(SysUser sysUser, HttpServletRequest request) { // Step.1 组装查询条件 QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(sysUser, request.getParameterMap()); //Step.2 AutoPoi 导出Excel ModelAndView mv = new ModelAndView(new JeecgEntityExcelView()); //update-begin--Author:kangxiaolin Date:20180825 for:[03]用户导出,如果选择数据则只导出相关数据-------------------- String selections = request.getParameter("selections"); - if(!oConvertUtils.isEmpty(selections)){ - queryWrapper.in("id",selections.split(",")); - } + if (!oConvertUtils.isEmpty(selections)) { + queryWrapper.in("id", selections.split(",")); + } //update-end--Author:kangxiaolin Date:20180825 for:[03]用户导出,如果选择数据则只导出相关数据---------------------- List pageList = sysUserService.list(queryWrapper); //导出文件名称 mv.addObject(NormalExcelConstants.FILE_NAME, "用户列表"); - if("en".equals(sysUser.getCut())){ + if ("en".equals(sysUser.getCut())) { List result = new ArrayList<>(); - pageList.forEach(item->{ + pageList.forEach(item -> { List departList = sysDepartService.queryByDepartCode(item.getOrgCode()); - if(CollectionUtil.isNotEmpty(departList)){ + if (CollectionUtil.isNotEmpty(departList)) { item.setOrgCodeTxt(departList.get(0).getDepartName()); } SysUserExportEn target = new SysUserExportEn(); @@ -450,10 +456,10 @@ public class SysUserController { exportParams.setImageBasePath(upLoadPath); mv.addObject(NormalExcelConstants.PARAMS, exportParams); mv.addObject(NormalExcelConstants.DATA_LIST, result); - }else{ - pageList.forEach(item->{ + } else { + pageList.forEach(item -> { List departList = sysDepartService.queryByDepartCode(item.getOrgCode()); - if(CollectionUtil.isNotEmpty(departList)){ + if (CollectionUtil.isNotEmpty(departList)) { item.setOrgCodeTxt(departList.get(0).getDepartName()); } }); @@ -478,7 +484,7 @@ public class SysUserController { //@RequiresRoles({"admin"}) @RequiresPermissions("sys:user:import") @RequestMapping(value = "/importExcel", method = RequestMethod.POST) - public Result importExcel(HttpServletRequest request, HttpServletResponse response)throws IOException { + public Result importExcel(HttpServletRequest request, HttpServletResponse response) throws IOException { MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request; Map fileMap = multipartRequest.getFileMap(); // 错误信息 @@ -544,55 +550,56 @@ public class SysUserController { try { file.getInputStream().close(); } catch (IOException e) { - log.error(e.getMessage(), e); + log.error(e.getMessage(), e); } } } - return ImportExcelUtil.imporReturnRes(errorLines,successLines,errorMessage); + return ImportExcelUtil.imporReturnRes(errorLines, successLines, errorMessage); } /** - * @功能:根据id 批量查询 - * @param userIds - * @return - */ + * @param userIds + * @return + * @功能:根据id 批量查询 + */ @RequiresPermissions("sys:user:list") - @RequestMapping(value = "/queryByIds", method = RequestMethod.GET) - public Result> queryByIds(@RequestParam String userIds) { - Result> result = new Result<>(); - String[] userId = userIds.split(","); - Collection idList = Arrays.asList(userId); - Collection userRole = sysUserService.listByIds(idList); - result.setSuccess(true); - result.setResult(userRole); - return result; - } + @RequestMapping(value = "/queryByIds", method = RequestMethod.GET) + public Result> queryByIds(@RequestParam String userIds) { + Result> result = new Result<>(); + String[] userId = userIds.split(","); + Collection idList = Arrays.asList(userId); + Collection userRole = sysUserService.listByIds(idList); + result.setSuccess(true); + result.setResult(userRole); + return result; + } + + /** + * 首页用户重置密码 + */ + //@RequiresRoles({"admin"}) + @RequestMapping(value = "/updatePassword", method = RequestMethod.PUT) + public Result changPassword(@RequestBody JSONObject json) { + String username = json.getString("username"); + String oldpassword = json.getString("oldpassword"); + String password = json.getString("password"); + String confirmpassword = json.getString("confirmpassword"); + SysUser user = this.sysUserService.getOne(new LambdaQueryWrapper().eq(SysUser::getUsername, username)); + if (user == null) { + return Result.error("用户不存在!"); + } + return sysUserService.resetPassword(username, oldpassword, password, confirmpassword); + } - /** - * 首页用户重置密码 - */ - //@RequiresRoles({"admin"}) - @RequestMapping(value = "/updatePassword", method = RequestMethod.PUT) - public Result changPassword(@RequestBody JSONObject json) { - String username = json.getString("username"); - String oldpassword = json.getString("oldpassword"); - String password = json.getString("password"); - String confirmpassword = json.getString("confirmpassword"); - SysUser user = this.sysUserService.getOne(new LambdaQueryWrapper().eq(SysUser::getUsername, username)); - if(user==null) { - return Result.error("用户不存在!"); - } - return sysUserService.resetPassword(username,oldpassword,password,confirmpassword); - } @RequiresPermissions("sys:user:list") @RequestMapping(value = "/userRoleList", method = RequestMethod.GET) - public Result> userRoleList(@RequestParam(name="pageNo", defaultValue="1") Integer pageNo, - @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, HttpServletRequest req) { + public Result> userRoleList(@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, HttpServletRequest req) { Result> result = new Result>(); Page page = new Page(pageNo, pageSize); String roleId = req.getParameter("roleId"); String username = req.getParameter("username"); - IPage pageList = sysUserService.getUserByRoleId(page,roleId,username); + IPage pageList = sysUserService.getUserByRoleId(page, roleId, username); result.setSuccess(true); result.setResult(pageList); return result; @@ -611,12 +618,12 @@ public class SysUserController { Result result = new Result(); try { String sysRoleId = sysUserRoleVO.getRoleId(); - for(String sysUserId:sysUserRoleVO.getUserIdList()) { - SysUserRole sysUserRole = new SysUserRole(sysUserId,sysRoleId); + for (String sysUserId : sysUserRoleVO.getUserIdList()) { + SysUserRole sysUserRole = new SysUserRole(sysUserId, sysRoleId); QueryWrapper queryWrapper = new QueryWrapper(); - queryWrapper.eq("role_id", sysRoleId).eq("user_id",sysUserId); + queryWrapper.eq("role_id", sysRoleId).eq("user_id", sysUserId); SysUserRole one = sysUserRoleService.getOne(queryWrapper); - if(one==null){ + if (one == null) { sysUserRoleService.save(sysUserRole); } @@ -624,31 +631,33 @@ public class SysUserController { result.setMessage("添加成功!"); result.setSuccess(true); return result; - }catch(Exception e) { + } catch (Exception e) { log.error(e.getMessage(), e); result.setSuccess(false); result.setMessage("出错了: " + e.getMessage()); return result; } } + /** - * 删除指定角色的用户关系 + * 删除指定角色的用户关系 + * * @param * @return */ //@RequiresRoles({"admin"}) @RequiresPermissions("sys:user:del") @RequestMapping(value = "/deleteUserRole", method = RequestMethod.DELETE) - public Result deleteUserRole(@RequestParam(name="roleId") String roleId, - @RequestParam(name="userId",required=true) String userId + public Result deleteUserRole(@RequestParam(name = "roleId") String roleId, + @RequestParam(name = "userId", required = true) String userId ) { Result result = new Result(); try { QueryWrapper queryWrapper = new QueryWrapper(); - queryWrapper.eq("role_id", roleId).eq("user_id",userId); + queryWrapper.eq("role_id", roleId).eq("user_id", userId); sysUserRoleService.remove(queryWrapper); result.success("删除成功!"); - }catch(Exception e) { + } catch (Exception e) { log.error(e.getMessage(), e); result.error500("删除失败!"); } @@ -665,15 +674,15 @@ public class SysUserController { @RequiresPermissions("sys:user:del") @RequestMapping(value = "/deleteUserRoleBatch", method = RequestMethod.DELETE) public Result deleteUserRoleBatch( - @RequestParam(name="roleId") String roleId, - @RequestParam(name="userIds",required=true) String userIds) { + @RequestParam(name = "roleId") String roleId, + @RequestParam(name = "userIds", required = true) String userIds) { Result result = new Result(); try { QueryWrapper queryWrapper = new QueryWrapper(); - queryWrapper.eq("role_id", roleId).in("user_id",Arrays.asList(userIds.split(","))); + queryWrapper.eq("role_id", roleId).in("user_id", Arrays.asList(userIds.split(","))); sysUserRoleService.remove(queryWrapper); result.success("删除成功!"); - }catch(Exception e) { + } catch (Exception e) { log.error(e.getMessage(), e); result.error500("删除失败!"); } @@ -686,8 +695,8 @@ public class SysUserController { @ApiOperation(value = "用户管理-查询组织下的用户列表分页") @RequestMapping(value = "/departUserList", method = RequestMethod.GET) @RequiresPermissions("sys:user:list") - public Result> departUserList(@RequestParam(name="pageNo", defaultValue="1") Integer pageNo, - @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, HttpServletRequest req) { + public Result> departUserList(@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, HttpServletRequest req) { Result> result = new Result>(); Page page = new Page(pageNo, pageSize); String depId = req.getParameter("depId"); @@ -695,7 +704,7 @@ public class SysUserController { //根据部门ID查询,当前和下级所有的部门IDS List subDepids = new ArrayList<>(); //部门id为空时,查询我的部门下所有用户 - if(oConvertUtils.isEmpty(depId)){ + if (oConvertUtils.isEmpty(depId)) { LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(SysDepart::getDelFlag, CommonConstant.DEL_FLAG_0); subDepids = sysDepartService.list(queryWrapper).stream().map(SysDepart::getId).collect(Collectors.toList()); @@ -704,16 +713,16 @@ public class SysUserController { // if(oConvertUtils.isNotEmpty(userIdentity) && userIdentity == CommonConstant.USER_IDENTITY_2 ){ // subDepids = sysDepartService.getMySubDepIdsByDepId(user.getDepartIds()); // } - }else{ + } else { subDepids = sysDepartService.getSubDepIdsByDepId(depId); } - if(subDepids != null && subDepids.size()>0){ - IPage pageList = sysUserService.getUserByDepIds(page,subDepids,username); + if (subDepids != null && subDepids.size() > 0) { + IPage pageList = sysUserService.getUserByDepIds(page, subDepids, username); //批量查询用户的所属部门 //step.1 先拿到全部的 useids //step.2 通过 useids,一次性查询用户的所属部门名字 List userIds = pageList.getRecords().stream().map(SysUser::getId).collect(Collectors.toList()); - if(userIds!=null && userIds.size()>0){ + if (userIds != null && userIds.size() > 0) { Map useDepNames = sysUserService.getDepNamesByUserIds(userIds); pageList.getRecords().forEach(item -> { //批量查询用户的所属部门 @@ -722,7 +731,7 @@ public class SysUserController { } result.setSuccess(true); result.setResult(pageList); - }else{ + } else { result.setSuccess(true); result.setResult(null); } @@ -756,19 +765,19 @@ public class SysUserController { Result result = new Result(); try { String sysDepId = sysDepartUsersVO.getDepId(); - for(String sysUserId:sysDepartUsersVO.getUserIdList()) { - SysUserDepart sysUserDepart = new SysUserDepart(null,sysUserId,sysDepId); + for (String sysUserId : sysDepartUsersVO.getUserIdList()) { + SysUserDepart sysUserDepart = new SysUserDepart(null, sysUserId, sysDepId); QueryWrapper queryWrapper = new QueryWrapper(); - queryWrapper.eq("dep_id", sysDepId).eq("user_id",sysUserId); + queryWrapper.eq("dep_id", sysDepId).eq("user_id", sysUserId); SysUserDepart one = sysUserDepartService.getOne(queryWrapper); - if(one==null){ + if (one == null) { sysUserDepartService.save(sysUserDepart); } } result.setMessage("添加成功!"); result.setSuccess(true); return result; - }catch(Exception e) { + } catch (Exception e) { log.error(e.getMessage(), e); result.setSuccess(false); result.setMessage("出错了: " + e.getMessage()); @@ -777,32 +786,32 @@ public class SysUserController { } /** - * 删除指定机构的用户关系 + * 删除指定机构的用户关系 */ //@RequiresRoles({"admin"}) @RequiresPermissions("sys:user:del") @RequestMapping(value = "/deleteUserInDepart", method = RequestMethod.DELETE) - public Result deleteUserInDepart(@RequestParam(name="depId") String depId, - @RequestParam(name="userId",required=true) String userId + public Result deleteUserInDepart(@RequestParam(name = "depId") String depId, + @RequestParam(name = "userId", required = true) String userId ) { Result result = new Result(); try { QueryWrapper queryWrapper = new QueryWrapper(); - queryWrapper.eq("dep_id", depId).eq("user_id",userId); + queryWrapper.eq("dep_id", depId).eq("user_id", userId); boolean b = sysUserDepartService.remove(queryWrapper); - if(b){ - List sysDepartRoleList = departRoleService.list(new QueryWrapper().eq("depart_id",depId)); + if (b) { + List sysDepartRoleList = departRoleService.list(new QueryWrapper().eq("depart_id", depId)); List roleIds = sysDepartRoleList.stream().map(SysDepartRole::getId).collect(Collectors.toList()); - if(roleIds != null && roleIds.size()>0){ + if (roleIds != null && roleIds.size() > 0) { QueryWrapper query = new QueryWrapper<>(); - query.eq("user_id",userId).in("drole_id",roleIds); + query.eq("user_id", userId).in("drole_id", roleIds); departRoleUserService.remove(query); } result.success("删除成功!"); - }else{ + } else { result.error500("当前选中部门与用户无关联关系!"); } - }catch(Exception e) { + } catch (Exception e) { log.error(e.getMessage(), e); result.error500("删除失败!"); } @@ -816,18 +825,18 @@ public class SysUserController { @RequiresPermissions("sys:user:del") @RequestMapping(value = "/deleteUserInDepartBatch", method = RequestMethod.DELETE) public Result deleteUserInDepartBatch( - @RequestParam(name="depId") String depId, - @RequestParam(name="userIds",required=true) String userIds) { + @RequestParam(name = "depId") String depId, + @RequestParam(name = "userIds", required = true) String userIds) { Result result = new Result(); try { QueryWrapper queryWrapper = new QueryWrapper(); - queryWrapper.eq("dep_id", depId).in("user_id",Arrays.asList(userIds.split(","))); + queryWrapper.eq("dep_id", depId).in("user_id", Arrays.asList(userIds.split(","))); boolean b = sysUserDepartService.remove(queryWrapper); - if(b){ - departRoleUserService.removeDeptRoleUser(Arrays.asList(userIds.split(",")),depId); + if (b) { + departRoleUserService.removeDeptRoleUser(Arrays.asList(userIds.split(",")), depId); } result.success("删除成功!"); - }catch(Exception e) { + } catch (Exception e) { log.error(e.getMessage(), e); result.error500("删除失败!"); } @@ -835,22 +844,23 @@ public class SysUserController { } /** - * 查询当前用户的所有部门/当前部门编码 + * 查询当前用户的所有部门/当前部门编码 + * * @return */ @RequiresPermissions("sys:user:list") @RequestMapping(value = "/getCurrentUserDeparts", method = RequestMethod.GET) - public Result> getCurrentUserDeparts() { - Result> result = new Result>(); + public Result> getCurrentUserDeparts() { + Result> result = new Result>(); try { - LoginUser sysUser = (LoginUser)SecurityUtils.getSubject().getPrincipal(); + LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); List list = this.sysDepartService.queryUserDeparts(sysUser.getId()); - Map map = new HashMap(); + Map map = new HashMap(); map.put("list", list); map.put("orgCode", sysUser.getOrgCode()); result.setSuccess(true); result.setResult(map); - }catch(Exception e) { + } catch (Exception e) { log.error(e.getMessage(), e); result.error500("查询失败!"); } @@ -858,46 +868,44 @@ public class SysUserController { } - - - /** - * 用户注册接口 - * - * @param jsonObject - * @param user - * @return - */ - @PostMapping("/register") - public Result userRegister(@RequestBody JSONObject jsonObject, SysUser user) { - Result result = new Result(); - String phone = jsonObject.getString("phone"); - String smscode = jsonObject.getString("smscode"); - Object code = redisUtil.get(phone); - String username = jsonObject.getString("username"); - //未设置用户名,则用手机号作为用户名 - if(oConvertUtils.isEmpty(username)){ + /** + * 用户注册接口 + * + * @param jsonObject + * @param user + * @return + */ + @PostMapping("/register") + public Result userRegister(@RequestBody JSONObject jsonObject, SysUser user) { + Result result = new Result(); + String phone = jsonObject.getString("phone"); + String smscode = jsonObject.getString("smscode"); + Object code = redisUtil.get(phone); + String username = jsonObject.getString("username"); + //未设置用户名,则用手机号作为用户名 + if (oConvertUtils.isEmpty(username)) { username = phone; } //未设置密码,则随机生成一个密码 - String password = jsonObject.getString("password"); - if(oConvertUtils.isEmpty(password)){ + String password = jsonObject.getString("password"); + if (oConvertUtils.isEmpty(password)) { password = RandomUtil.randomString(8); } - String email = jsonObject.getString("email"); - SysUser sysUser1 = sysUserService.getUserByName(username); - if (sysUser1 != null) { - result.setMessage("用户名已注册"); - result.setSuccess(false); - return result; - } - SysUser sysUser2 = sysUserService.getUserByPhone(phone); - if (sysUser2 != null) { - result.setMessage("该手机号已注册"); - result.setSuccess(false); - return result; - } + String email = jsonObject.getString("email"); + SysUser sysUser1 = sysUserService.getUserByName(username); + if (sysUser1 != null) { + result.setMessage("用户名已注册"); + result.setSuccess(false); + return result; + } + SysUser sysUser2 = sysUserService.getUserByPhone(phone); + if (sysUser2 != null) { + result.setMessage("该手机号已注册"); + result.setSuccess(false); + return result; + } - if(oConvertUtils.isNotEmpty(email)){ + if (oConvertUtils.isNotEmpty(email)) { SysUser sysUser3 = sysUserService.getUserByEmail(email); if (sysUser3 != null) { result.setMessage("邮箱已被注册"); @@ -905,131 +913,132 @@ public class SysUserController { return result; } } - if(null == code){ + if (null == code) { result.setMessage("手机验证码失效,请重新获取"); result.setSuccess(false); return result; } - if (!smscode.equals(code.toString())) { - result.setMessage("手机验证码错误"); - result.setSuccess(false); - return result; - } + if (!smscode.equals(code.toString())) { + result.setMessage("手机验证码错误"); + result.setSuccess(false); + return result; + } - try { - user.setCreateTime(new Date());// 设置创建时间 - String salt = oConvertUtils.randomGen(8); - String passwordEncode = PasswordUtil.encrypt(username, password, salt); - user.setSalt(salt); - user.setUsername(username); - user.setRealname(username); - user.setPassword(passwordEncode); - user.setEmail(email); - user.setPhone(phone); - user.setStatus(CommonConstant.USER_UNFREEZE); - user.setDelFlag(CommonConstant.DEL_FLAG_0); - user.setActivitiSync(CommonConstant.ACT_SYNC_0); - sysUserService.addUserWithRole(user,"ee8626f80f7c2619917b6236f3a7f02b");//默认临时角色 test - result.success("注册成功"); - } catch (Exception e) { - result.error500("注册失败"); - } - return result; - } + try { + user.setCreateTime(new Date());// 设置创建时间 + String salt = oConvertUtils.randomGen(8); + String passwordEncode = PasswordUtil.encrypt(username, password, salt); + user.setSalt(salt); + user.setUsername(username); + user.setRealname(username); + user.setPassword(passwordEncode); + user.setEmail(email); + user.setPhone(phone); + user.setStatus(CommonConstant.USER_UNFREEZE); + user.setDelFlag(CommonConstant.DEL_FLAG_0); + user.setActivitiSync(CommonConstant.ACT_SYNC_0); + sysUserService.addUserWithRole(user, "ee8626f80f7c2619917b6236f3a7f02b");//默认临时角色 test + result.success("注册成功"); + } catch (Exception e) { + result.error500("注册失败"); + } + return result; + } - /** - * 根据用户名或手机号查询用户信息 - * @param - * @return - */ + /** + * 根据用户名或手机号查询用户信息 + * + * @param + * @return + */ @RequiresPermissions("sys:user:list") - @GetMapping("/querySysUser") - public Result> querySysUser(SysUser sysUser) { - String phone = sysUser.getPhone(); - String username = sysUser.getUsername(); - Result> result = new Result>(); - Map map = new HashMap(); - if (oConvertUtils.isNotEmpty(phone)) { - SysUser user = sysUserService.getUserByPhone(phone); - if(user!=null) { - map.put("username",user.getUsername()); - map.put("phone",user.getPhone()); - result.setSuccess(true); - result.setResult(map); - return result; - } - } - if (oConvertUtils.isNotEmpty(username)) { - SysUser user = sysUserService.getUserByName(username); - if(user!=null) { - map.put("username",user.getUsername()); - map.put("phone",user.getPhone()); - result.setSuccess(true); - result.setResult(map); - return result; - } - } - result.setSuccess(false); - result.setMessage("验证失败"); - return result; - } + @GetMapping("/querySysUser") + public Result> querySysUser(SysUser sysUser) { + String phone = sysUser.getPhone(); + String username = sysUser.getUsername(); + Result> result = new Result>(); + Map map = new HashMap(); + if (oConvertUtils.isNotEmpty(phone)) { + SysUser user = sysUserService.getUserByPhone(phone); + if (user != null) { + map.put("username", user.getUsername()); + map.put("phone", user.getPhone()); + result.setSuccess(true); + result.setResult(map); + return result; + } + } + if (oConvertUtils.isNotEmpty(username)) { + SysUser user = sysUserService.getUserByName(username); + if (user != null) { + map.put("username", user.getUsername()); + map.put("phone", user.getPhone()); + result.setSuccess(true); + result.setResult(map); + return result; + } + } + result.setSuccess(false); + result.setMessage("验证失败"); + return result; + } - /** - * 用户手机号验证 - */ - @PostMapping("/phoneVerification") - public Result> phoneVerification(@RequestBody JSONObject jsonObject) { - Result> result = new Result>(); - String phone = jsonObject.getString("phone"); - String smscode = jsonObject.getString("smscode"); - Object code = redisUtil.get(phone); - if (!smscode.equals(code)) { - result.setMessage("手机验证码错误"); - result.setSuccess(false); - return result; - } - //设置有效时间 - redisUtil.set(phone, smscode,600); - //新增查询用户名 - LambdaQueryWrapper query = new LambdaQueryWrapper<>(); - query.eq(SysUser::getPhone,phone); + /** + * 用户手机号验证 + */ + @PostMapping("/phoneVerification") + public Result> phoneVerification(@RequestBody JSONObject jsonObject) { + Result> result = new Result>(); + String phone = jsonObject.getString("phone"); + String smscode = jsonObject.getString("smscode"); + Object code = redisUtil.get(phone); + if (!smscode.equals(code)) { + result.setMessage("手机验证码错误"); + result.setSuccess(false); + return result; + } + //设置有效时间 + redisUtil.set(phone, smscode, 600); + //新增查询用户名 + LambdaQueryWrapper query = new LambdaQueryWrapper<>(); + query.eq(SysUser::getPhone, phone); SysUser user = sysUserService.getOne(query); - Map map = new HashMap<>(); - map.put("smscode",smscode); - map.put("username",user.getUsername()); + Map map = new HashMap<>(); + map.put("smscode", smscode); + map.put("username", user.getUsername()); result.setResult(map); - result.setSuccess(true); - return result; - } + result.setSuccess(true); + return result; + } - /** - * 用户更改密码 - */ - @GetMapping("/passwordChange") - public Result passwordChange(@RequestParam(name="username")String username, - @RequestParam(name="password")String password, - @RequestParam(name="smscode")String smscode, - @RequestParam(name="phone") String phone) { + /** + * 用户更改密码 + */ + @GetMapping("/passwordChange") + public Result passwordChange(@RequestParam(name = "username") String username, + @RequestParam(name = "password") String password, + @RequestParam(name = "smscode") String smscode, + @RequestParam(name = "phone") String phone) { Result result = new Result(); - if(oConvertUtils.isEmpty(username) || oConvertUtils.isEmpty(password) || oConvertUtils.isEmpty(smscode) || oConvertUtils.isEmpty(phone) ) { + if (oConvertUtils.isEmpty(username) || oConvertUtils.isEmpty(password) || oConvertUtils.isEmpty(smscode) || oConvertUtils.isEmpty(phone)) { result.setMessage("重置密码失败!"); result.setSuccess(false); return result; } - SysUser sysUser=new SysUser(); - Object object= redisUtil.get(phone); - if(null==object) { - result.setMessage("短信验证码失效!"); + SysUser sysUser = new SysUser(); + Object object = redisUtil.get(phone); + if (null == object) { + result.setMessage("短信验证码失效!"); result.setSuccess(false); return result; } - if(!smscode.equals(object)) { - result.setMessage("短信验证码不匹配!"); + if (!smscode.equals(object)) { + result.setMessage("短信验证码不匹配!"); result.setSuccess(false); return result; } - sysUser = this.sysUserService.getOne(new LambdaQueryWrapper().eq(SysUser::getUsername,username).eq(SysUser::getPhone,phone)); + sysUser = this.sysUserService.getOne(new LambdaQueryWrapper().eq(SysUser::getUsername, username).eq(SysUser::getPhone, phone)); if (sysUser == null) { result.setMessage("未找到用户!"); result.setSuccess(false); @@ -1047,81 +1056,82 @@ public class SysUserController { } - /** - * 根据TOKEN获取用户的部分信息(返回的数据是可供表单设计器使用的数据) - * - * @return - */ + /** + * 根据TOKEN获取用户的部分信息(返回的数据是可供表单设计器使用的数据) + * + * @return + */ @RequiresPermissions("sys:user:list") - @GetMapping("/getUserSectionInfoByToken") - public Result getUserSectionInfoByToken(HttpServletRequest request, @RequestParam(name = "token", required = false) String token) { - try { - String username = null; - // 如果没有传递token,就从header中获取token并获取用户信息 - if (oConvertUtils.isEmpty(token)) { - username = JwtUtil.getUserNameByToken(request); - } else { - username = JwtUtil.getUsername(token); - } + @GetMapping("/getUserSectionInfoByToken") + public Result getUserSectionInfoByToken(HttpServletRequest request, @RequestParam(name = "token", required = false) String token) { + try { + String username = null; + // 如果没有传递token,就从header中获取token并获取用户信息 + if (oConvertUtils.isEmpty(token)) { + username = JwtUtil.getUserNameByToken(request); + } else { + username = JwtUtil.getUsername(token); + } - log.debug(" ------ 通过令牌获取部分用户信息,当前用户: " + username); + log.debug(" ------ 通过令牌获取部分用户信息,当前用户: " + username); - // 根据用户名查询用户信息 - SysUser sysUser = sysUserService.getUserByName(username); - Map map = new HashMap(); - map.put("sysUserId", sysUser.getId()); - map.put("sysUserCode", sysUser.getUsername()); // 当前登录用户登录账号 - map.put("sysUserName", sysUser.getRealname()); // 当前登录用户真实名称 - map.put("sysOrgCode", sysUser.getOrgCode()); // 当前登录用户部门编号 + // 根据用户名查询用户信息 + SysUser sysUser = sysUserService.getUserByName(username); + Map map = new HashMap(); + map.put("sysUserId", sysUser.getId()); + map.put("sysUserCode", sysUser.getUsername()); // 当前登录用户登录账号 + map.put("sysUserName", sysUser.getRealname()); // 当前登录用户真实名称 + map.put("sysOrgCode", sysUser.getOrgCode()); // 当前登录用户部门编号 - log.debug(" ------ 通过令牌获取部分用户信息,已获取的用户信息: " + map); + log.debug(" ------ 通过令牌获取部分用户信息,已获取的用户信息: " + map); - return Result.OK(map); - } catch (Exception e) { - log.error(e.getMessage(), e); - return Result.error(500, "查询失败:" + e.getMessage()); - } - } + return Result.OK(map); + } catch (Exception e) { + log.error(e.getMessage(), e); + return Result.error(500, "查询失败:" + e.getMessage()); + } + } - /** - * 【APP端接口】获取用户列表 根据用户名和真实名 模糊匹配 - * @param keyword - * @param pageNo - * @param pageSize - * @return - */ + /** + * 【APP端接口】获取用户列表 根据用户名和真实名 模糊匹配 + * + * @param keyword + * @param pageNo + * @param pageSize + * @return + */ @RequiresPermissions("sys:user:list") - @GetMapping("/appUserList") - public Result appUserList(@RequestParam(name = "keyword", required = false) String keyword, - @RequestParam(name = "username", required = false) String username, - @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, - @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, - @RequestParam(name = "syncFlow", required = false) String syncFlow) { - try { - //TODO 从查询效率上将不要用mp的封装的page分页查询 建议自己写分页语句 - LambdaQueryWrapper query = new LambdaQueryWrapper(); - if(oConvertUtils.isNotEmpty(syncFlow)){ + @GetMapping("/appUserList") + public Result appUserList(@RequestParam(name = "keyword", required = false) String keyword, + @RequestParam(name = "username", required = false) String username, + @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, + @RequestParam(name = "syncFlow", required = false) String syncFlow) { + try { + //TODO 从查询效率上将不要用mp的封装的page分页查询 建议自己写分页语句 + LambdaQueryWrapper query = new LambdaQueryWrapper(); + if (oConvertUtils.isNotEmpty(syncFlow)) { query.eq(SysUser::getActivitiSync, CommonConstant.ACT_SYNC_1); } - query.eq(SysUser::getDelFlag,CommonConstant.DEL_FLAG_0); - if(oConvertUtils.isNotEmpty(username)){ - if(username.contains(",")){ - query.in(SysUser::getUsername,username.split(",")); - }else{ - query.eq(SysUser::getUsername,username); + query.eq(SysUser::getDelFlag, CommonConstant.DEL_FLAG_0); + if (oConvertUtils.isNotEmpty(username)) { + if (username.contains(",")) { + query.in(SysUser::getUsername, username.split(",")); + } else { + query.eq(SysUser::getUsername, username); } - }else{ + } else { query.and(i -> i.like(SysUser::getUsername, keyword).or().like(SysUser::getRealname, keyword)); } - Page page = new Page<>(pageNo, pageSize); - IPage res = this.sysUserService.page(page, query); - return Result.OK(res); - } catch (Exception e) { - log.error(e.getMessage(), e); - return Result.error(500, "查询失败:" + e.getMessage()); - } + Page page = new Page<>(pageNo, pageSize); + IPage res = this.sysUserService.page(page, query); + return Result.OK(res); + } catch (Exception e) { + log.error(e.getMessage(), e); + return Result.error(500, "查询失败:" + e.getMessage()); + } - } + } /** * 获取被逻辑删除的用户列表,无分页 @@ -1181,50 +1191,51 @@ public class SysUserController { /** * 移动端修改用户信息 + * * @param jsonObject * @return */ @RequiresPermissions("user:edit") @RequestMapping(value = "/appEdit", method = RequestMethod.PUT) - public Result appEdit(HttpServletRequest request,@RequestBody JSONObject jsonObject) { + public Result appEdit(HttpServletRequest request, @RequestBody JSONObject jsonObject) { Result result = new Result(); try { String username = JwtUtil.getUserNameByToken(request); SysUser sysUser = sysUserService.getUserByName(username); - baseCommonService.addLog("移动端编辑用户,id: " +jsonObject.getString("id") ,CommonConstant.LOG_TYPE_2, 2); - String realname=jsonObject.getString("realname"); - String avatar=jsonObject.getString("avatar"); - String sex=jsonObject.getString("sex"); - String phone=jsonObject.getString("phone"); - String email=jsonObject.getString("email"); - Date birthday=jsonObject.getDate("birthday"); + baseCommonService.addLog("移动端编辑用户,id: " + jsonObject.getString("id"), CommonConstant.LOG_TYPE_2, 2); + String realname = jsonObject.getString("realname"); + String avatar = jsonObject.getString("avatar"); + String sex = jsonObject.getString("sex"); + String phone = jsonObject.getString("phone"); + String email = jsonObject.getString("email"); + Date birthday = jsonObject.getDate("birthday"); SysUser userPhone = sysUserService.getUserByPhone(phone); - if(sysUser==null) { + if (sysUser == null) { result.error500("未找到对应用户!"); - }else { - if(userPhone!=null){ + } else { + if (userPhone != null) { String userPhonename = userPhone.getUsername(); - if(!userPhonename.equals(username)){ + if (!userPhonename.equals(username)) { result.error500("手机号已存在!"); return result; } } - if(StringUtils.isNotBlank(realname)){ + if (StringUtils.isNotBlank(realname)) { sysUser.setRealname(realname); } - if(StringUtils.isNotBlank(avatar)){ + if (StringUtils.isNotBlank(avatar)) { sysUser.setAvatar(avatar); } - if(StringUtils.isNotBlank(sex)){ + if (StringUtils.isNotBlank(sex)) { sysUser.setSex(Integer.parseInt(sex)); } - if(StringUtils.isNotBlank(phone)){ + if (StringUtils.isNotBlank(phone)) { sysUser.setPhone(phone); } - if(StringUtils.isNotBlank(email)){ + if (StringUtils.isNotBlank(email)) { sysUser.setEmail(email); } - if(null != birthday){ + if (null != birthday) { sysUser.setBirthday(birthday); } sysUser.setUpdateTime(new Date()); @@ -1236,20 +1247,22 @@ public class SysUserController { } return result; } + /** * 移动端保存设备信息 + * * @param clientId * @return */ @RequestMapping(value = "/saveClientId", method = RequestMethod.GET) - public Result saveClientId(HttpServletRequest request,@RequestParam("clientId")String clientId) { + public Result saveClientId(HttpServletRequest request, @RequestParam("clientId") String clientId) { Result result = new Result(); try { String username = JwtUtil.getUserNameByToken(request); SysUser sysUser = sysUserService.getUserByName(username); - if(sysUser==null) { + if (sysUser == null) { result.error500("未找到对应用户!"); - }else { + } else { sysUser.setClientId(clientId); sysUserService.updateById(sysUser); } @@ -1259,6 +1272,7 @@ public class SysUserController { } return result; } + /** * 根据userid获取用户信息和部门员工信息 * @@ -1268,48 +1282,52 @@ public class SysUserController { @GetMapping("/queryChildrenByUsername") public Result queryChildrenByUsername(@RequestParam("userId") String userId) { //获取用户信息 - Map map=new HashMap(); + Map map = new HashMap(); SysUser sysUser = sysUserService.getById(userId); String username = sysUser.getUsername(); Integer identity = sysUser.getUserIdentity(); - map.put("sysUser",sysUser); - if(identity!=null && identity==2){ + map.put("sysUser", sysUser); + if (identity != null && identity == 2) { //获取部门用户信息 String departIds = sysUser.getDepartIds(); - if(StringUtils.isNotBlank(departIds)){ + if (StringUtils.isNotBlank(departIds)) { List departIdList = Arrays.asList(departIds.split(",")); - List childrenUser = sysUserService.queryByDepIds(departIdList,username); - map.put("children",childrenUser); + List childrenUser = sysUserService.queryByDepIds(departIdList, username); + map.put("children", childrenUser); } } return Result.OK(map); } + /** * 移动端查询部门用户信息 + * * @param departId * @return */ @GetMapping("/appQueryByDepartId") - public Result> appQueryByDepartId(@RequestParam(name="departId", required = false) String departId) { + public Result> appQueryByDepartId(@RequestParam(name = "departId", required = false) String departId) { Result> result = new Result>(); - List list=new ArrayList (); + List list = new ArrayList(); list.add(departId); - List childrenUser = sysUserService.queryByDepIds(list,null); + List childrenUser = sysUserService.queryByDepIds(list, null); result.setResult(childrenUser); return result; } + /** * 移动端查询用户信息(通过用户名模糊查询) + * * @param keyword * @return */ @GetMapping("/appQueryUser") public Result> appQueryUser(@RequestParam(name = "keyword", required = false) String keyword) { Result> result = new Result>(); - LambdaQueryWrapper queryWrapper =new LambdaQueryWrapper(); + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper(); //TODO 外部模拟登陆临时账号,列表不显示 - queryWrapper.ne(SysUser::getUsername,"_reserve_user_external"); - if(StringUtils.isNotBlank(keyword)){ + queryWrapper.ne(SysUser::getUsername, "_reserve_user_external"); + if (StringUtils.isNotBlank(keyword)) { queryWrapper.and(i -> i.like(SysUser::getUsername, keyword).or().like(SysUser::getRealname, keyword)); } List list = sysUserService.list(queryWrapper); @@ -1317,9 +1335,9 @@ public class SysUserController { //step.1 先拿到全部的 useids //step.2 通过 useids,一次性查询用户的所属部门名字 List userIds = list.stream().map(SysUser::getId).collect(Collectors.toList()); - if(userIds!=null && userIds.size()>0){ - Map useDepNames = sysUserService.getDepNamesByUserIds(userIds); - list.forEach(item->{ + if (userIds != null && userIds.size() > 0) { + Map useDepNames = sysUserService.getDepNamesByUserIds(userIds); + list.forEach(item -> { item.setOrgCodeTxt(useDepNames.get(item.getId())); }); } @@ -1329,34 +1347,35 @@ public class SysUserController { /** * 根据用户名修改手机号 + * * @param json * @return */ @RequestMapping(value = "/updateMobile", method = RequestMethod.PUT) - public Result changMobile(@RequestBody JSONObject json,HttpServletRequest request) { + public Result changMobile(@RequestBody JSONObject json, HttpServletRequest request) { String smscode = json.getString("smscode"); String phone = json.getString("phone"); Result result = new Result(); //获取登录用户名 String username = JwtUtil.getUserNameByToken(request); - if(oConvertUtils.isEmpty(username) || oConvertUtils.isEmpty(smscode) || oConvertUtils.isEmpty(phone)) { + if (oConvertUtils.isEmpty(username) || oConvertUtils.isEmpty(smscode) || oConvertUtils.isEmpty(phone)) { result.setMessage("修改手机号失败!"); result.setSuccess(false); return result; } - Object object= redisUtil.get(phone); - if(null==object) { + Object object = redisUtil.get(phone); + if (null == object) { result.setMessage("短信验证码失效!"); result.setSuccess(false); return result; } - if(!smscode.equals(object)) { + if (!smscode.equals(object)) { result.setMessage("短信验证码不匹配!"); result.setSuccess(false); return result; } SysUser user = sysUserService.getUserByName(username); - if(user==null) { + if (user == null) { return Result.error("用户不存在!"); } user.setPhone(phone); @@ -1370,48 +1389,93 @@ public class SysUserController { * @return */ @ApiOperation(value = "树形") - @RequestMapping(value = "/queryDepartUserTreeList", method = RequestMethod.GET) - public Result> queryDepartUserTreeList(String departId) { + @RequestMapping(value = "/queryDepartUserTreeList", method = RequestMethod.POST) + public Result> queryDepartUserTreeList(@RequestBody SysPushVO sysPushVO) { + String departId = sysPushVO.getDepartId(); Result> result = new Result<>(); - try { - List departTreeModelList = sysDepartService.queryTreeListByDepartId(departId); + //获取当前组织下数据 + List departTreeModelList = sysDepartService.queryTreeListByDepartId(departId); + if (StringUtils.isNotEmpty(departId)) { + String json = sysPushVO.getJson(); + List allJson = JSONObject.parseArray(json, SysDepartUserTreeModel.class); + dealwithTree(departId, departTreeModelList, allJson); + result.setResult(allJson); + } else { List departUserTreeModelList = new ArrayList<>(); - departTreeModelList.forEach(item->{ + for (SysDepartTreeModel sysDepartTreeModel : departTreeModelList) { //复制 SysDepartUserTreeModel target = new SysDepartUserTreeModel(); - BeanUtils.copyProperties(item, target); - //添加当前部门的用户列表,不包括子部门 - List departIds = new ArrayList<>(); - departIds.add(item.getId()); - List sysUserList = sysUserService.getUserListByDepIds(departIds); - List sysUserTreeModels = new ArrayList<>(); - sysUserList.forEach(sysUser->{ - SysUserTreeModel sysUserTreeModel = new SysUserTreeModel(); - BeanUtils.copyProperties(sysUser, sysUserTreeModel); - sysUserTreeModels.add(sysUserTreeModel); - }); - target.setList(sysUserTreeModels); + BeanUtils.copyProperties(sysDepartTreeModel, target); departUserTreeModelList.add(target); - }); + } result.setResult(departUserTreeModelList); - result.setSuccess(true); - } catch (Exception e) { - log.error(e.getMessage(),e); } + +// List departUserTreeModelList = new ArrayList<>(); +// departTreeModelList.forEach(item -> { +// //复制 +// SysDepartUserTreeModel target = new SysDepartUserTreeModel(); +// BeanUtils.copyProperties(item, target); +// //添加当前部门的用户列表,不包括子部门 +// List departIds = new ArrayList<>(); +// departIds.add(item.getId()); +// List sysUserList = sysUserService.getUserListByDepIds(departIds); +// List sysUserTreeModels = new ArrayList<>(); +// sysUserList.forEach(sysUser -> { +// SysUserTreeModel sysUserTreeModel = new SysUserTreeModel(); +// BeanUtils.copyProperties(sysUser, sysUserTreeModel); +// sysUserTreeModels.add(sysUserTreeModel); +// }); +// target.setList(sysUserTreeModels); +// departUserTreeModelList.add(target); +// }); + + result.setSuccess(true); return result; } + /** + * 处理树状结构 + * + * @param departId 当前选中组织ID + * @param departTreeModelList 当前组织下数据 + * @param json 其他组织数据 + */ + private void dealwithTree(String departId, List departTreeModelList, List json) { + for (SysDepartUserTreeModel sysDepartUserTreeModel : json) { + String id = sysDepartUserTreeModel.getId(); + if (id.equals(departId)) { + List treeList = new ArrayList<>(); + for (SysDepartTreeModel sysDepartTreeModel : departTreeModelList) { + //复制 + SysDepartUserTreeModel target = new SysDepartUserTreeModel(); + BeanUtils.copyProperties(sysDepartTreeModel, target); + treeList.add(target); + } + + sysDepartUserTreeModel.setChildren(treeList); + break; + } + List children = sysDepartUserTreeModel.getChildren(); + if (CollectionUtils.isNotEmpty(children)) { + //复制 + dealwithTree(departId, departTreeModelList, children); + } + } + } + /** * 根据用户id查询用户接口 - 工作流服务专用 + * * @param id:用户id - * @param reqFlag:请求标识 0 工作流服务请求 + * @param reqFlag:请求标识 0 工作流服务请求 * @return */ @RequestMapping(value = "/getUserById", method = RequestMethod.GET) - public Result getUserById(@RequestParam("id") String id,@RequestParam("reqFlag") String reqFlag) { + public Result getUserById(@RequestParam("id") String id, @RequestParam("reqFlag") String reqFlag) { Result result = new Result(); - if(StringUtils.equals(reqFlag,"0")){ + if (StringUtils.equals(reqFlag, "0")) { SysUser sysUser = sysUserService.getById(id); if (sysUser == null) { result.error500("未找到对应实体"); diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/vo/SysPushVO.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/vo/SysPushVO.java new file mode 100644 index 000000000..d53750e20 --- /dev/null +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/vo/SysPushVO.java @@ -0,0 +1,19 @@ +package com.jero.modules.system.vo; + +import lombok.Data; + +@Data +public class SysPushVO { + /** + * 中英文 + */ + private String cut; + /** + * 组织ID + */ + private String departId; + /** + * 列表JSON + */ + private String json; +}