From 0c929802702bca00b24b8c74f52723b21ba5b4c2 Mon Sep 17 00:00:00 2001 From: zhangherong <571457620@qq.com> Date: 星期五, 11 七月 2025 09:43:45 +0800 Subject: [PATCH] art: 查询岗位用户信息修改 --- lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysUserServiceImpl.java | 1287 +++++++++++++++++++++++++++++----------------------------- 1 files changed, 641 insertions(+), 646 deletions(-) diff --git a/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysUserServiceImpl.java b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysUserServiceImpl.java index 7f1e65b..cb14a54 100644 --- a/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysUserServiceImpl.java +++ b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysUserServiceImpl.java @@ -1,5 +1,6 @@ package org.jeecg.modules.system.service.impl; +import cn.hutool.core.collection.CollectionUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -23,6 +24,7 @@ import org.jeecg.modules.system.entity.*; import org.jeecg.modules.system.mapper.*; import org.jeecg.modules.system.model.SysUserSysDepartModel; +import org.jeecg.modules.system.service.IBaseFactoryService; import org.jeecg.modules.system.service.ISysDictService; import org.jeecg.modules.system.service.ISysUserService; import org.jeecg.modules.system.vo.EamUserRepDepVo; @@ -52,38 +54,40 @@ @Slf4j public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> implements ISysUserService { - @Autowired - private SysUserMapper userMapper; - @Autowired - private SysPermissionMapper sysPermissionMapper; - @Autowired - private SysUserRoleMapper sysUserRoleMapper; - @Autowired - private SysUserDepartMapper sysUserDepartMapper; - @Autowired - private SysDepartMapper sysDepartMapper; - @Autowired - private SysRoleMapper sysRoleMapper; - @Autowired - private SysDepartRoleUserMapper departRoleUserMapper; - @Autowired - private SysDepartRoleMapper sysDepartRoleMapper; - @Resource - private BaseCommonService baseCommonService; - @Autowired - private SysThirdAccountMapper sysThirdAccountMapper; - @Autowired - ThirdAppWechatEnterpriseServiceImpl wechatEnterpriseService; - @Autowired - ThirdAppDingtalkServiceImpl dingtalkService; - @Autowired - SysRoleIndexMapper sysRoleIndexMapper; - @Resource - MdcUserProductionMapper mdcUserProductionMapper; - @Resource - EamBaseRepairDepartUserMapper eamBaseRepairDepartUserMapper; - @Resource - private ISysDictService sysDictService; + @Resource + private SysUserMapper userMapper; + @Resource + private SysPermissionMapper sysPermissionMapper; + @Resource + private SysUserRoleMapper sysUserRoleMapper; + @Resource + private SysUserDepartMapper sysUserDepartMapper; + @Resource + private SysDepartMapper sysDepartMapper; + @Resource + private SysRoleMapper sysRoleMapper; + @Resource + private SysDepartRoleUserMapper departRoleUserMapper; + @Resource + private SysDepartRoleMapper sysDepartRoleMapper; + @Resource + private BaseCommonService baseCommonService; + @Resource + private SysThirdAccountMapper sysThirdAccountMapper; + @Autowired + ThirdAppWechatEnterpriseServiceImpl wechatEnterpriseService; + @Autowired + ThirdAppDingtalkServiceImpl dingtalkService; + @Resource + SysRoleIndexMapper sysRoleIndexMapper; + @Resource + MdcUserProductionMapper mdcUserProductionMapper; + @Resource + EamBaseRepairDepartUserMapper eamBaseRepairDepartUserMapper; + @Resource + private ISysDictService sysDictService; + @Autowired + private IBaseFactoryService factoryService; @Override @CacheEvict(value = {CacheConstant.SYS_USERS_CACHE}, allEntries = true) @@ -99,10 +103,10 @@ if (!newpassword.equals(confirmpassword)) { return Result.error("涓ゆ杈撳叆瀵嗙爜涓嶄竴鑷�!"); } - //璁剧疆瀵嗙爜鏇存柊鏃堕棿 - //sysUser.setPasswordTime(new Date()); - //璁剧疆瀵嗙爜棣栨鐧诲綍澶辨晥 - //sysUser.setPasswordFlag(CommonConstant.DEL_FLAG_0); + //璁剧疆瀵嗙爜鏇存柊鏃堕棿 + //sysUser.setPasswordTime(new Date()); + //璁剧疆瀵嗙爜棣栨鐧诲綍澶辨晥 + //sysUser.setPasswordFlag(CommonConstant.DEL_FLAG_0); String password = PasswordUtil.encrypt(username, newpassword, user.getSalt()); this.userMapper.update(new SysUser().setPassword(password).setPasswordTime(new Date()).setPasswordFlag(CommonConstant.DEL_FLAG_0), new LambdaQueryWrapper<SysUser>().eq(SysUser::getId, user.getId())); return Result.ok("瀵嗙爜閲嶇疆鎴愬姛!"); @@ -113,10 +117,10 @@ public Result<?> changePassword(SysUser sysUser) { String salt = oConvertUtils.randomGen(8); sysUser.setSalt(salt); - //璁剧疆瀵嗙爜鏇存柊鏃堕棿 - sysUser.setPasswordTime(new Date()); - //绠$悊鍛樹慨鏀瑰瘑鐮侊紝璁剧疆鐢ㄦ埛棣栨鐧诲綍 - //sysUser.setPasswordFlag(); + //璁剧疆瀵嗙爜鏇存柊鏃堕棿 + sysUser.setPasswordTime(new Date()); + //绠$悊鍛樹慨鏀瑰瘑鐮侊紝璁剧疆鐢ㄦ埛棣栨鐧诲綍 + //sysUser.setPasswordFlag(); String password = sysUser.getPassword(); String passwordEncode = PasswordUtil.encrypt(sysUser.getUsername(), password, salt); sysUser.setPassword(passwordEncode); @@ -125,209 +129,213 @@ } @Override - @CacheEvict(value={CacheConstant.SYS_USERS_CACHE}, allEntries=true) - @Transactional(rollbackFor = Exception.class) - public boolean deleteUser(String userId) { - //1.鍒犻櫎鐢ㄦ埛 - this.removeById(userId); - return false; - } + @CacheEvict(value = {CacheConstant.SYS_USERS_CACHE}, allEntries = true) + @Transactional(rollbackFor = Exception.class) + public boolean deleteUser(String userId) { + //1.鍒犻櫎鐢ㄦ埛 + this.removeById(userId); + return false; + } - @Override - @CacheEvict(value={CacheConstant.SYS_USERS_CACHE}, allEntries=true) - @Transactional(rollbackFor = Exception.class) - public boolean deleteBatchUsers(String userIds) { - //1.鍒犻櫎鐢ㄦ埛 - this.removeByIds(Arrays.asList(userIds.split(","))); - return false; - } + @Override + @CacheEvict(value = {CacheConstant.SYS_USERS_CACHE}, allEntries = true) + @Transactional(rollbackFor = Exception.class) + public boolean deleteBatchUsers(String userIds) { + //1.鍒犻櫎鐢ㄦ埛 + this.removeByIds(Arrays.asList(userIds.split(","))); + return false; + } - @Override - public SysUser getUserByName(String username) { - return userMapper.getUserByName(username); - } + @Override + public SysUser getUserByName(String username) { + return userMapper.getUserByName(username); + } - @Override - @Transactional(rollbackFor = Exception.class) - public void addUserWithRole(SysUser user, String roles) { - this.save(user); - if(oConvertUtils.isNotEmpty(roles)) { - String[] arr = roles.split(","); - for (String roleId : arr) { - SysUserRole userRole = new SysUserRole(user.getId(), roleId); - sysUserRoleMapper.insert(userRole); - } - } - } + @Override + @Transactional(rollbackFor = Exception.class) + public void addUserWithRole(SysUser user, String roles) { + this.save(user); + if (oConvertUtils.isNotEmpty(roles)) { + String[] arr = roles.split(","); + for (String roleId : arr) { + SysUserRole userRole = new SysUserRole(user.getId(), roleId); + sysUserRoleMapper.insert(userRole); + } + } + } - @Override - @CacheEvict(value= {CacheConstant.SYS_USERS_CACHE}, allEntries=true) - @Transactional(rollbackFor = Exception.class) - public void editUserWithRole(SysUser user, String roles) { - this.updateById(user); - //鍏堝垹鍚庡姞 - sysUserRoleMapper.delete(new QueryWrapper<SysUserRole>().lambda().eq(SysUserRole::getUserId, user.getId())); - if(oConvertUtils.isNotEmpty(roles)) { - String[] arr = roles.split(","); - for (String roleId : arr) { - SysUserRole userRole = new SysUserRole(user.getId(), roleId); - sysUserRoleMapper.insert(userRole); - } - } - } + @Override + @CacheEvict(value = {CacheConstant.SYS_USERS_CACHE}, allEntries = true) + @Transactional(rollbackFor = Exception.class) + public void editUserWithRole(SysUser user, String roles) { + this.updateById(user); + //鍏堝垹鍚庡姞 + sysUserRoleMapper.delete(new QueryWrapper<SysUserRole>().lambda().eq(SysUserRole::getUserId, user.getId())); + if (oConvertUtils.isNotEmpty(roles)) { + String[] arr = roles.split(","); + for (String roleId : arr) { + SysUserRole userRole = new SysUserRole(user.getId(), roleId); + sysUserRoleMapper.insert(userRole); + } + } + } - @Override - public List<String> getRole(String username) { - return sysUserRoleMapper.getRoleByUserName(username); - } + @Override + public List<String> getRole(String username) { + return sysUserRoleMapper.getRoleByUserName(username); + } - /** - * 鑾峰彇鍔ㄦ�侀椤佃矾鐢遍厤缃� - * @param username - * @param version - * @return - */ - @Override - public SysRoleIndex getDynamicIndexByUserRole(String username,String version) { - List<String> roles = sysUserRoleMapper.getRoleByUserName(username); - String componentUrl = RoleIndexConfigEnum.getIndexByRoles(roles); - SysRoleIndex roleIndex = new SysRoleIndex(componentUrl); - //鍙湁 X-Version=v3 鐨勬椂鍊欙紝鎵嶈鍙杝ys_role_index琛ㄨ幏鍙栬鑹查椤甸厤缃� - if (oConvertUtils.isNotEmpty(version) && roles!=null && roles.size()>0) { - LambdaQueryWrapper<SysRoleIndex> routeIndexQuery = new LambdaQueryWrapper(); - //鐢ㄦ埛鎵�鏈夎鑹� - routeIndexQuery.in(SysRoleIndex::getRoleCode, roles); - //瑙掕壊棣栭〉鐘舵��0锛氭湭寮�鍚� 1锛氬紑鍚� - routeIndexQuery.eq(SysRoleIndex::getStatus, CommonConstant.STATUS_1); - //浼樺厛绾ф搴忔帓搴� - routeIndexQuery.orderByAsc(SysRoleIndex::getPriority); - List<SysRoleIndex> list = sysRoleIndexMapper.selectList(routeIndexQuery); - if (null != list && list.size() > 0) { - roleIndex = list.get(0); - } - } + /** + * 鑾峰彇鍔ㄦ�侀椤佃矾鐢遍厤缃� + * + * @param username + * @param version + * @return + */ + @Override + public SysRoleIndex getDynamicIndexByUserRole(String username, String version) { + List<String> roles = sysUserRoleMapper.getRoleByUserName(username); + String componentUrl = RoleIndexConfigEnum.getIndexByRoles(roles); + SysRoleIndex roleIndex = new SysRoleIndex(componentUrl); + //鍙湁 X-Version=v3 鐨勬椂鍊欙紝鎵嶈鍙杝ys_role_index琛ㄨ幏鍙栬鑹查椤甸厤缃� + if (oConvertUtils.isNotEmpty(version) && roles != null && roles.size() > 0) { + LambdaQueryWrapper<SysRoleIndex> routeIndexQuery = new LambdaQueryWrapper(); + //鐢ㄦ埛鎵�鏈夎鑹� + routeIndexQuery.in(SysRoleIndex::getRoleCode, roles); + //瑙掕壊棣栭〉鐘舵��0锛氭湭寮�鍚� 1锛氬紑鍚� + routeIndexQuery.eq(SysRoleIndex::getStatus, CommonConstant.STATUS_1); + //浼樺厛绾ф搴忔帓搴� + routeIndexQuery.orderByAsc(SysRoleIndex::getPriority); + List<SysRoleIndex> list = sysRoleIndexMapper.selectList(routeIndexQuery); + if (null != list && list.size() > 0) { + roleIndex = list.get(0); + } + } - //濡傛灉componentUrl涓虹┖锛屽垯杩斿洖绌� - if(oConvertUtils.isEmpty(roleIndex.getComponent())){ - return null; - } - return roleIndex; - } + //濡傛灉componentUrl涓虹┖锛屽垯杩斿洖绌� + if (oConvertUtils.isEmpty(roleIndex.getComponent())) { + return null; + } + return roleIndex; + } - /** - * 閫氳繃鐢ㄦ埛鍚嶈幏鍙栫敤鎴疯鑹查泦鍚� - * @param username 鐢ㄦ埛鍚� + /** + * 閫氳繃鐢ㄦ埛鍚嶈幏鍙栫敤鎴疯鑹查泦鍚� + * + * @param username 鐢ㄦ埛鍚� * @return 瑙掕壊闆嗗悎 - */ - @Override - public Set<String> getUserRolesSet(String username) { - // 鏌ヨ鐢ㄦ埛鎷ユ湁鐨勮鑹查泦鍚� - List<String> roles = sysUserRoleMapper.getRoleByUserName(username); - log.info("-------閫氳繃鏁版嵁搴撹鍙栫敤鎴锋嫢鏈夌殑瑙掕壊Rules------username锛� " + username + ",Roles size: " + (roles == null ? 0 : roles.size())); - return new HashSet<>(roles); - } + */ + @Override + public Set<String> getUserRolesSet(String username) { + // 鏌ヨ鐢ㄦ埛鎷ユ湁鐨勮鑹查泦鍚� + List<String> roles = sysUserRoleMapper.getRoleByUserName(username); + log.info("-------閫氳繃鏁版嵁搴撹鍙栫敤鎴锋嫢鏈夌殑瑙掕壊Rules------username锛� " + username + ",Roles size: " + (roles == null ? 0 : roles.size())); + return new HashSet<>(roles); + } - /** - * 閫氳繃鐢ㄦ埛鍚嶈幏鍙栫敤鎴锋潈闄愰泦鍚� - * - * @param username 鐢ㄦ埛鍚� - * @return 鏉冮檺闆嗗悎 - */ - @Override - public Set<String> getUserPermissionsSet(String username) { - Set<String> permissionSet = new HashSet<>(); - List<SysPermission> permissionList = sysPermissionMapper.queryByUser(username); - for (SysPermission po : permissionList) { + /** + * 閫氳繃鐢ㄦ埛鍚嶈幏鍙栫敤鎴锋潈闄愰泦鍚� + * + * @param username 鐢ㄦ埛鍚� + * @return 鏉冮檺闆嗗悎 + */ + @Override + public Set<String> getUserPermissionsSet(String username) { + Set<String> permissionSet = new HashSet<>(); + List<SysPermission> permissionList = sysPermissionMapper.queryByUser(username); + for (SysPermission po : permissionList) { // // TODO URL瑙勫垯鏈夐棶棰橈紵 // if (oConvertUtils.isNotEmpty(po.getUrl())) { // permissionSet.add(po.getUrl()); // } - if (oConvertUtils.isNotEmpty(po.getPerms())) { - permissionSet.add(po.getPerms()); - } - } - log.info("-------閫氳繃鏁版嵁搴撹鍙栫敤鎴锋嫢鏈夌殑鏉冮檺Perms------username锛� "+ username+",Perms size: "+ (permissionSet==null?0:permissionSet.size()) ); - return permissionSet; - } + if (oConvertUtils.isNotEmpty(po.getPerms())) { + permissionSet.add(po.getPerms()); + } + } + log.info("-------閫氳繃鏁版嵁搴撹鍙栫敤鎴锋嫢鏈夌殑鏉冮檺Perms------username锛� " + username + ",Perms size: " + (permissionSet == null ? 0 : permissionSet.size())); + return permissionSet; + } - /** - * 鍗囩骇SpringBoot2.6.6,涓嶅厑璁稿惊鐜緷璧� - * @author:qinfeng - * @update: 2022-04-07 - * @param username - * @return - */ - @Override - public SysUserCacheInfo getCacheUser(String username) { - SysUserCacheInfo info = new SysUserCacheInfo(); - info.setOneDepart(true); - if(oConvertUtils.isEmpty(username)) { - return null; - } + /** + * 鍗囩骇SpringBoot2.6.6,涓嶅厑璁稿惊鐜緷璧� + * + * @param username + * @return + * @author:qinfeng + * @update: 2022-04-07 + */ + @Override + public SysUserCacheInfo getCacheUser(String username) { + SysUserCacheInfo info = new SysUserCacheInfo(); + info.setOneDepart(true); + if (oConvertUtils.isEmpty(username)) { + return null; + } - //鏌ヨ鐢ㄦ埛淇℃伅 - SysUser sysUser = userMapper.getUserByName(username); - if(sysUser!=null) { - info.setSysUserCode(sysUser.getUsername()); - info.setSysUserName(sysUser.getRealname()); - info.setSysOrgCode(sysUser.getOrgCode()); - } + //鏌ヨ鐢ㄦ埛淇℃伅 + SysUser sysUser = userMapper.getUserByName(username); + if (sysUser != null) { + info.setSysUserCode(sysUser.getUsername()); + info.setSysUserName(sysUser.getRealname()); + info.setSysOrgCode(sysUser.getOrgCode()); + } - //澶氶儴闂ㄦ敮鎸乮n鏌ヨ - List<SysDepart> list = sysDepartMapper.queryUserDeparts(sysUser.getId()); - List<String> sysMultiOrgCode = new ArrayList<String>(); - if(list==null || list.size()==0) { - //褰撳墠鐢ㄦ埛鏃犻儴闂� - //sysMultiOrgCode.add("0"); - }else if(list.size()==1) { - sysMultiOrgCode.add(list.get(0).getOrgCode()); - }else { - info.setOneDepart(false); - for (SysDepart dpt : list) { - sysMultiOrgCode.add(dpt.getOrgCode()); - } - } - info.setSysMultiOrgCode(sysMultiOrgCode); + //澶氶儴闂ㄦ敮鎸乮n鏌ヨ + List<SysDepart> list = sysDepartMapper.queryUserDeparts(sysUser.getId()); + List<String> sysMultiOrgCode = new ArrayList<String>(); + if (list == null || list.size() == 0) { + //褰撳墠鐢ㄦ埛鏃犻儴闂� + //sysMultiOrgCode.add("0"); + } else if (list.size() == 1) { + sysMultiOrgCode.add(list.get(0).getOrgCode()); + } else { + info.setOneDepart(false); + for (SysDepart dpt : list) { + sysMultiOrgCode.add(dpt.getOrgCode()); + } + } + info.setSysMultiOrgCode(sysMultiOrgCode); - return info; - } + return info; + } /** * 鏍规嵁閮ㄩ棬Id鏌ヨ + * * @param page * @param departId 閮ㄩ棬id * @param username 鐢ㄦ埛璐︽埛鍚嶇О * @return */ - @Override - public IPage<SysUser> getUserByDepId(Page<SysUser> page, String departId,String username) { - return userMapper.getUserByDepId(page, departId,username); - } + @Override + public IPage<SysUser> getUserByDepId(Page<SysUser> page, String departId, String username) { + return userMapper.getUserByDepId(page, departId, username); + } - @Override - public IPage<SysUser> getUserByDepIds(Page<SysUser> page, List<String> departIds, String username) { - return userMapper.getUserByDepIds(page, departIds,username); - } + @Override + public IPage<SysUser> getUserByDepIds(Page<SysUser> page, List<String> departIds, String username) { + return userMapper.getUserByDepIds(page, departIds, username); + } - @Override - public Map<String, String> getDepNamesByUserIds(List<String> userIds) { - List<SysUserDepVo> list = this.baseMapper.getDepNamesByUserIds(userIds); + @Override + public Map<String, String> getDepNamesByUserIds(List<String> userIds) { + List<SysUserDepVo> list = this.baseMapper.getDepNamesByUserIds(userIds); - Map<String, String> res = new HashMap(5); - list.forEach(item -> { - if (res.get(item.getUserId()) == null) { - res.put(item.getUserId(), item.getDepartName()); - } else { - res.put(item.getUserId(), res.get(item.getUserId()) + "," + item.getDepartName()); - } - } - ); - return res; - } + Map<String, String> res = new HashMap(5); + list.forEach(item -> { + if (res.get(item.getUserId()) == null) { + res.put(item.getUserId(), item.getDepartName()); + } else { + res.put(item.getUserId(), res.get(item.getUserId()) + "," + item.getDepartName()); + } + } + ); + return res; + } - //update-begin-author:taoyan date:2022-9-13 for: VUEN-2245銆愭紡娲炪�戝彂鐜版柊婕忔礊寰呭鐞�20220906 ----sql娉ㄥ叆 鏂规硶娌℃湁浣跨敤锛屾敞鎺� + //update-begin-author:taoyan date:2022-9-13 for: VUEN-2245銆愭紡娲炪�戝彂鐜版柊婕忔礊寰呭鐞�20220906 ----sql娉ㄥ叆 鏂规硶娌℃湁浣跨敤锛屾敞鎺� /* @Override public IPage<SysUser> getUserByDepartIdAndQueryWrapper(Page<SysUser> page, String departId, QueryWrapper<SysUser> queryWrapper) { LambdaQueryWrapper<SysUser> lambdaQueryWrapper = queryWrapper.lambda(); @@ -337,211 +345,214 @@ return userMapper.selectPage(page, lambdaQueryWrapper); }*/ - //update-end-author:taoyan date:2022-9-13 for: VUEN-2245銆愭紡娲炪�戝彂鐜版柊婕忔礊寰呭鐞�20220906 ----sql娉ㄥ叆 鏂规硶娌℃湁浣跨敤锛屾敞鎺� + //update-end-author:taoyan date:2022-9-13 for: VUEN-2245銆愭紡娲炪�戝彂鐜版柊婕忔礊寰呭鐞�20220906 ----sql娉ㄥ叆 鏂规硶娌℃湁浣跨敤锛屾敞鎺� - @Override - public IPage<SysUserSysDepartModel> queryUserByOrgCode(String orgCode, SysUser userParams, IPage page) { - List<SysUserSysDepartModel> list = baseMapper.getUserByOrgCode(page, orgCode, userParams); - Integer total = baseMapper.getUserByOrgCodeTotal(orgCode, userParams); + @Override + public IPage<SysUserSysDepartModel> queryUserByOrgCode(String orgCode, SysUser userParams, IPage page) { + List<SysUserSysDepartModel> list = baseMapper.getUserByOrgCode(page, orgCode, userParams); + Integer total = baseMapper.getUserByOrgCodeTotal(orgCode, userParams); - IPage<SysUserSysDepartModel> result = new Page<>(page.getCurrent(), page.getSize(), total); - result.setRecords(list); + IPage<SysUserSysDepartModel> result = new Page<>(page.getCurrent(), page.getSize(), total); + result.setRecords(list); - return result; - } + return result; + } /** * 鏍规嵁瑙掕壊Id鏌ヨ + * * @param page - * @param roleId 瑙掕壊id + * @param roleId 瑙掕壊id * @param username 鐢ㄦ埛璐︽埛鍚嶇О * @return */ - @Override - public IPage<SysUser> getUserByRoleId(Page<SysUser> page, String roleId, String username) { - return userMapper.getUserByRoleId(page,roleId,username); - } + @Override + public IPage<SysUser> getUserByRoleId(Page<SysUser> page, String roleId, String username) { + return userMapper.getUserByRoleId(page, roleId, username); + } - /** - * 鏍规嵁璁惧杞﹂棿绠$悊Id鏌ヨ - * @param page - * @param baseFactoryId 璁惧杞﹂棿绠$悊Id - * @return - */ - public IPage<SysUser> getUserByworkShopDepartId(Page<SysUser> page,String baseFactoryId,String username){ - return userMapper.getUserByWorkShopDepartId(page,baseFactoryId,username); - } + /** + * 鏍规嵁璁惧杞﹂棿绠$悊Id鏌ヨ + * + * @param page + * @param baseFactoryId 璁惧杞﹂棿绠$悊Id + * @return + */ + public IPage<SysUser> getUserByworkShopDepartId(Page<SysUser> page, String baseFactoryId, String username) { + return userMapper.getUserByWorkShopDepartId(page, baseFactoryId, username); + } - @Override - @CacheEvict(value= {CacheConstant.SYS_USERS_CACHE}, key="#username") - public void updateUserDepart(String username,String orgCode) { - baseMapper.updateUserDepart(username, orgCode); - } + @Override + @CacheEvict(value = {CacheConstant.SYS_USERS_CACHE}, key = "#username") + public void updateUserDepart(String username, String orgCode) { + baseMapper.updateUserDepart(username, orgCode); + } - @Override - public SysUser getUserByPhone(String phone) { - return userMapper.getUserByPhone(phone); - } + @Override + public SysUser getUserByPhone(String phone) { + return userMapper.getUserByPhone(phone); + } - @Override - public SysUser getUserByEmail(String email) { - return userMapper.getUserByEmail(email); - } + @Override + public SysUser getUserByEmail(String email) { + return userMapper.getUserByEmail(email); + } - @Override - @Transactional(rollbackFor = Exception.class) - public void addUserWithDepart(SysUser user, String selectedParts) { + @Override + @Transactional(rollbackFor = Exception.class) + public void addUserWithDepart(SysUser user, String selectedParts) { // this.save(user); //淇濆瓨瑙掕壊鐨勬椂鍊欏凡缁忔坊鍔犺繃涓�娆′簡 - if(oConvertUtils.isNotEmpty(selectedParts)) { - String[] arr = selectedParts.split(","); - for (String deaprtId : arr) { - SysUserDepart userDeaprt = new SysUserDepart(user.getId(), deaprtId); - sysUserDepartMapper.insert(userDeaprt); - } - } - } + if (oConvertUtils.isNotEmpty(selectedParts)) { + String[] arr = selectedParts.split(","); + for (String deaprtId : arr) { + SysUserDepart userDeaprt = new SysUserDepart(user.getId(), deaprtId); + sysUserDepartMapper.insert(userDeaprt); + } + } + } - @Override - @Transactional(rollbackFor = Exception.class) - @CacheEvict(value={CacheConstant.SYS_USERS_CACHE}, allEntries=true) - public void editUserWithDepart(SysUser user, String departs) { + @Override + @Transactional(rollbackFor = Exception.class) + @CacheEvict(value = {CacheConstant.SYS_USERS_CACHE}, allEntries = true) + public void editUserWithDepart(SysUser user, String departs) { //鏇存柊瑙掕壊鐨勬椂鍊欏凡缁忔洿鏂颁簡涓�娆′簡锛屽彲浠ュ啀璺熸柊涓�娆� - this.updateById(user); - String[] arr = {}; - if(oConvertUtils.isNotEmpty(departs)){ - arr = departs.split(","); - } - //鏌ヨ宸插叧鑱旈儴闂� - List<SysUserDepart> userDepartList = sysUserDepartMapper.selectList(new QueryWrapper<SysUserDepart>().lambda().eq(SysUserDepart::getUserId, user.getId())); - if(userDepartList != null && userDepartList.size()>0){ - for(SysUserDepart depart : userDepartList ){ - //淇敼宸插叧鑱旈儴闂ㄥ垹闄ら儴闂ㄧ敤鎴疯鑹插叧绯� - if(!Arrays.asList(arr).contains(depart.getDepId())){ - List<SysDepartRole> sysDepartRoleList = sysDepartRoleMapper.selectList( - new QueryWrapper<SysDepartRole>().lambda().eq(SysDepartRole::getDepartId,depart.getDepId())); - List<String> roleIds = sysDepartRoleList.stream().map(SysDepartRole::getId).collect(Collectors.toList()); - if(roleIds != null && roleIds.size()>0){ - departRoleUserMapper.delete(new QueryWrapper<SysDepartRoleUser>().lambda().eq(SysDepartRoleUser::getUserId, user.getId()) - .in(SysDepartRoleUser::getDroleId,roleIds)); - } - } - } - } - //鍏堝垹鍚庡姞 - sysUserDepartMapper.delete(new QueryWrapper<SysUserDepart>().lambda().eq(SysUserDepart::getUserId, user.getId())); - if(oConvertUtils.isNotEmpty(departs)) { - for (String departId : arr) { - SysUserDepart userDepart = new SysUserDepart(user.getId(), departId); - sysUserDepartMapper.insert(userDepart); - } - } - } + this.updateById(user); + String[] arr = {}; + if (oConvertUtils.isNotEmpty(departs)) { + arr = departs.split(","); + } + //鏌ヨ宸插叧鑱旈儴闂� + List<SysUserDepart> userDepartList = sysUserDepartMapper.selectList(new QueryWrapper<SysUserDepart>().lambda().eq(SysUserDepart::getUserId, user.getId())); + if (userDepartList != null && userDepartList.size() > 0) { + for (SysUserDepart depart : userDepartList) { + //淇敼宸插叧鑱旈儴闂ㄥ垹闄ら儴闂ㄧ敤鎴疯鑹插叧绯� + if (!Arrays.asList(arr).contains(depart.getDepId())) { + List<SysDepartRole> sysDepartRoleList = sysDepartRoleMapper.selectList( + new QueryWrapper<SysDepartRole>().lambda().eq(SysDepartRole::getDepartId, depart.getDepId())); + List<String> roleIds = sysDepartRoleList.stream().map(SysDepartRole::getId).collect(Collectors.toList()); + if (roleIds != null && roleIds.size() > 0) { + departRoleUserMapper.delete(new QueryWrapper<SysDepartRoleUser>().lambda().eq(SysDepartRoleUser::getUserId, user.getId()) + .in(SysDepartRoleUser::getDroleId, roleIds)); + } + } + } + } + //鍏堝垹鍚庡姞 + sysUserDepartMapper.delete(new QueryWrapper<SysUserDepart>().lambda().eq(SysUserDepart::getUserId, user.getId())); + if (oConvertUtils.isNotEmpty(departs)) { + for (String departId : arr) { + SysUserDepart userDepart = new SysUserDepart(user.getId(), departId); + sysUserDepartMapper.insert(userDepart); + } + } + } - /** - * 鏍¢獙鐢ㄦ埛鏄惁鏈夋晥 - * @param sysUser - * @return - */ - @Override - public Result<?> checkUserIsEffective(SysUser sysUser) { - Result<?> result = new Result<Object>(); - //鎯呭喌1锛氭牴鎹敤鎴蜂俊鎭煡璇紝璇ョ敤鎴蜂笉瀛樺湪 - if (sysUser == null) { - result.error500("璇ョ敤鎴蜂笉瀛樺湪锛岃娉ㄥ唽"); - baseCommonService.addLog("鐢ㄦ埛鐧诲綍澶辫触锛岀敤鎴蜂笉瀛樺湪锛�", CommonConstant.LOG_TYPE_1, null); - return result; - } - //鎯呭喌2锛氭牴鎹敤鎴蜂俊鎭煡璇紝璇ョ敤鎴峰凡娉ㄩ攢 - //update-begin---author:鐜嬪竻 Date:20200601 for锛歩f鏉′欢姘歌繙涓篺alsebug------------ - if (CommonConstant.DEL_FLAG_1.equals(sysUser.getDelFlag())) { - //update-end---author:鐜嬪竻 Date:20200601 for锛歩f鏉′欢姘歌繙涓篺alsebug------------ - baseCommonService.addLog("鐢ㄦ埛鐧诲綍澶辫触锛岀敤鎴峰悕:" + sysUser.getUsername() + "宸叉敞閿�锛�", CommonConstant.LOG_TYPE_1, null); - result.error500("璇ョ敤鎴峰凡娉ㄩ攢"); - return result; - } - //鎯呭喌3锛氭牴鎹敤鎴蜂俊鎭煡璇紝璇ョ敤鎴峰凡鍐荤粨 - if (CommonConstant.USER_FREEZE.equals(sysUser.getStatus())) { - baseCommonService.addLog("鐢ㄦ埛鐧诲綍澶辫触锛岀敤鎴峰悕:" + sysUser.getUsername() + "宸插喕缁擄紒", CommonConstant.LOG_TYPE_1, null); - result.error500("璇ョ敤鎴峰凡鍐荤粨"); - return result; - } - //鎯呭喌4锛氭牴鎹敤鎴蜂俊鎭煡璇紝璇ョ敤鎴峰瘑鐮佺郴棣栨浣跨敤锛岄渶淇敼瀵嗙爜 - List<DictModel> dictList = sysDictService.queryEnableDictItemsByCode(CommonConstant.DICT_USER_FIRST_LOGIN); - if (dictList != null && !dictList.isEmpty()) { - if (CommonConstant.DEL_FLAG_1.equals(Integer.valueOf(dictList.get(0).getValue())) && CommonConstant.DEL_FLAG_1.equals(sysUser.getPasswordFlag())) { - baseCommonService.addLog("鐢ㄦ埛鐧诲綍澶辫触锛岀敤鎴峰悕:" + sysUser.getUsername() + "绯婚娆$櫥褰曠郴缁燂紝璇烽噸缃瘑鐮侊紒", CommonConstant.LOG_TYPE_1, null); - result.setCode(5001); - result.setMessage("鐢ㄦ埛瀵嗙爜绯婚粯璁ゅ瘑鐮侊紝闇�閲嶇疆瀵嗙爜鍚庨噸鏂扮櫥褰曞瘑鐮侊紒"); - result.setSuccess(false); - return result; - } - } - //鎯呭喌5锛氭牴鎹敤鎴蜂俊鎭煡璇紝璇ョ敤鎴峰瘑鐮佹槸鍚﹀凡杩囨洿鏀瑰懆鏈� - Date passwordTime = sysUser.getPasswordTime(); - //Integer passwordExpirationPeriod = CommonConstant.PASSWORD_EXPIRATION_PERIOD; - List<DictModel> dictModelList = sysDictService.queryEnableDictItemsByCode(CommonConstant.DICT_PASSWORD_EXPIRATION); - if (dictModelList != null && !dictModelList.isEmpty()) { - Integer passwordExpirationPeriod = Integer.valueOf(dictModelList.get(0).getValue()); - Date dayAfter = DateUtils.getDayAfter(passwordTime, passwordExpirationPeriod); - if (new Date().after(dayAfter)) { - baseCommonService.addLog("鐢ㄦ埛鐧诲綍澶辫触锛岀敤鎴峰悕:" + sysUser.getUsername() + "瀵嗙爜宸茶繃鏈夋晥鏈燂紝璇烽噸缃瘑鐮侊紒", CommonConstant.LOG_TYPE_1, null); - result.setCode(5002); - result.setMessage("鐢ㄦ埛瀵嗙爜宸茶繃鏈夋晥鏈燂紝璇烽噸缃瘑鐮侊紒"); - result.setSuccess(false); - return result; - } - } - return result; - } + /** + * 鏍¢獙鐢ㄦ埛鏄惁鏈夋晥 + * + * @param sysUser + * @return + */ + @Override + public Result<?> checkUserIsEffective(SysUser sysUser) { + Result<?> result = new Result<Object>(); + //鎯呭喌1锛氭牴鎹敤鎴蜂俊鎭煡璇紝璇ョ敤鎴蜂笉瀛樺湪 + if (sysUser == null) { + result.error500("璇ョ敤鎴蜂笉瀛樺湪锛岃娉ㄥ唽"); + baseCommonService.addLog("鐢ㄦ埛鐧诲綍澶辫触锛岀敤鎴蜂笉瀛樺湪锛�", CommonConstant.LOG_TYPE_1, null); + return result; + } + //鎯呭喌2锛氭牴鎹敤鎴蜂俊鎭煡璇紝璇ョ敤鎴峰凡娉ㄩ攢 + //update-begin---author:鐜嬪竻 Date:20200601 for锛歩f鏉′欢姘歌繙涓篺alsebug------------ + if (CommonConstant.DEL_FLAG_1.equals(sysUser.getDelFlag())) { + //update-end---author:鐜嬪竻 Date:20200601 for锛歩f鏉′欢姘歌繙涓篺alsebug------------ + baseCommonService.addLog("鐢ㄦ埛鐧诲綍澶辫触锛岀敤鎴峰悕:" + sysUser.getUsername() + "宸叉敞閿�锛�", CommonConstant.LOG_TYPE_1, null); + result.error500("璇ョ敤鎴峰凡娉ㄩ攢"); + return result; + } + //鎯呭喌3锛氭牴鎹敤鎴蜂俊鎭煡璇紝璇ョ敤鎴峰凡鍐荤粨 + if (CommonConstant.USER_FREEZE.equals(sysUser.getStatus())) { + baseCommonService.addLog("鐢ㄦ埛鐧诲綍澶辫触锛岀敤鎴峰悕:" + sysUser.getUsername() + "宸插喕缁擄紒", CommonConstant.LOG_TYPE_1, null); + result.error500("璇ョ敤鎴峰凡鍐荤粨"); + return result; + } + //鎯呭喌4锛氭牴鎹敤鎴蜂俊鎭煡璇紝璇ョ敤鎴峰瘑鐮佺郴棣栨浣跨敤锛岄渶淇敼瀵嗙爜 + List<DictModel> dictList = sysDictService.queryEnableDictItemsByCode(CommonConstant.DICT_USER_FIRST_LOGIN); + if (dictList != null && !dictList.isEmpty()) { + if (CommonConstant.DEL_FLAG_1.equals(Integer.valueOf(dictList.get(0).getValue())) && CommonConstant.DEL_FLAG_1.equals(sysUser.getPasswordFlag())) { + baseCommonService.addLog("鐢ㄦ埛鐧诲綍澶辫触锛岀敤鎴峰悕:" + sysUser.getUsername() + "绯婚娆$櫥褰曠郴缁燂紝璇烽噸缃瘑鐮侊紒", CommonConstant.LOG_TYPE_1, null); + result.setCode(5001); + result.setMessage("鐢ㄦ埛瀵嗙爜绯婚粯璁ゅ瘑鐮侊紝闇�閲嶇疆瀵嗙爜鍚庨噸鏂扮櫥褰曞瘑鐮侊紒"); + result.setSuccess(false); + return result; + } + } + //鎯呭喌5锛氭牴鎹敤鎴蜂俊鎭煡璇紝璇ョ敤鎴峰瘑鐮佹槸鍚﹀凡杩囨洿鏀瑰懆鏈� + Date passwordTime = sysUser.getPasswordTime(); + //Integer passwordExpirationPeriod = CommonConstant.PASSWORD_EXPIRATION_PERIOD; + List<DictModel> dictModelList = sysDictService.queryEnableDictItemsByCode(CommonConstant.DICT_PASSWORD_EXPIRATION); + if (dictModelList != null && !dictModelList.isEmpty()) { + Integer passwordExpirationPeriod = Integer.valueOf(dictModelList.get(0).getValue()); + Date dayAfter = DateUtils.getDayAfter(passwordTime, passwordExpirationPeriod); + if (new Date().after(dayAfter)) { + baseCommonService.addLog("鐢ㄦ埛鐧诲綍澶辫触锛岀敤鎴峰悕:" + sysUser.getUsername() + "瀵嗙爜宸茶繃鏈夋晥鏈燂紝璇烽噸缃瘑鐮侊紒", CommonConstant.LOG_TYPE_1, null); + result.setCode(5002); + result.setMessage("鐢ㄦ埛瀵嗙爜宸茶繃鏈夋晥鏈燂紝璇烽噸缃瘑鐮侊紒"); + result.setSuccess(false); + return result; + } + } + return result; + } - @Override - public List<SysUser> queryLogicDeleted() { - return this.queryLogicDeleted(null); - } + @Override + public List<SysUser> queryLogicDeleted() { + return this.queryLogicDeleted(null); + } - @Override - public List<SysUser> queryLogicDeleted(LambdaQueryWrapper<SysUser> wrapper) { - if (wrapper == null) { - wrapper = new LambdaQueryWrapper<>(); - } - wrapper.eq(SysUser::getDelFlag, CommonConstant.DEL_FLAG_1); - return userMapper.selectLogicDeleted(wrapper); - } + @Override + public List<SysUser> queryLogicDeleted(LambdaQueryWrapper<SysUser> wrapper) { + if (wrapper == null) { + wrapper = new LambdaQueryWrapper<>(); + } + wrapper.eq(SysUser::getDelFlag, CommonConstant.DEL_FLAG_1); + return userMapper.selectLogicDeleted(wrapper); + } - @Override - @CacheEvict(value={CacheConstant.SYS_USERS_CACHE}, allEntries=true) - public boolean revertLogicDeleted(List<String> userIds, SysUser updateEntity) { - return userMapper.revertLogicDeleted(userIds, updateEntity) > 0; - } + @Override + @CacheEvict(value = {CacheConstant.SYS_USERS_CACHE}, allEntries = true) + public boolean revertLogicDeleted(List<String> userIds, SysUser updateEntity) { + return userMapper.revertLogicDeleted(userIds, updateEntity) > 0; + } - @Override - @Transactional(rollbackFor = Exception.class) - public boolean removeLogicDeleted(List<String> userIds) { - // 1. 鍒犻櫎鐢ㄦ埛 - int line = userMapper.deleteLogicDeleted(userIds); - // 2. 鍒犻櫎鐢ㄦ埛閮ㄩ棬鍏崇郴 - line += sysUserDepartMapper.delete(new LambdaQueryWrapper<SysUserDepart>().in(SysUserDepart::getUserId, userIds)); - // 3. 鍒犻櫎鐢ㄦ埛浜х嚎鍏崇郴 - line += mdcUserProductionMapper.delete(new LambdaQueryWrapper<MdcUserProduction>().in(MdcUserProduction::getUserId, userIds)); - //3. 鍒犻櫎鐢ㄦ埛瑙掕壊鍏崇郴 - line += sysUserRoleMapper.delete(new LambdaQueryWrapper<SysUserRole>().in(SysUserRole::getUserId, userIds)); - //4.鍚屾鍒犻櫎绗笁鏂笰pp鐨勭敤鎴� - try { - dingtalkService.removeThirdAppUser(userIds); - wechatEnterpriseService.removeThirdAppUser(userIds); - } catch (Exception e) { - log.error("鍚屾鍒犻櫎绗笁鏂笰pp鐨勭敤鎴峰け璐ワ細", e); - } - //5. 鍒犻櫎绗笁鏂圭敤鎴疯〃锛堝洜涓虹4姝ラ渶瑕佺敤鍒扮涓夋柟鐢ㄦ埛琛紝鎵�浠ュ湪浠栦箣鍚庡垹锛� - line += sysThirdAccountMapper.delete(new LambdaQueryWrapper<SysThirdAccount>().in(SysThirdAccount::getSysUserId, userIds)); + @Override + @Transactional(rollbackFor = Exception.class) + public boolean removeLogicDeleted(List<String> userIds) { + // 1. 鍒犻櫎鐢ㄦ埛 + int line = userMapper.deleteLogicDeleted(userIds); + // 2. 鍒犻櫎鐢ㄦ埛閮ㄩ棬鍏崇郴 + line += sysUserDepartMapper.delete(new LambdaQueryWrapper<SysUserDepart>().in(SysUserDepart::getUserId, userIds)); + // 3. 鍒犻櫎鐢ㄦ埛浜х嚎鍏崇郴 + line += mdcUserProductionMapper.delete(new LambdaQueryWrapper<MdcUserProduction>().in(MdcUserProduction::getUserId, userIds)); + //3. 鍒犻櫎鐢ㄦ埛瑙掕壊鍏崇郴 + line += sysUserRoleMapper.delete(new LambdaQueryWrapper<SysUserRole>().in(SysUserRole::getUserId, userIds)); + //4.鍚屾鍒犻櫎绗笁鏂笰pp鐨勭敤鎴� + try { + dingtalkService.removeThirdAppUser(userIds); + wechatEnterpriseService.removeThirdAppUser(userIds); + } catch (Exception e) { + log.error("鍚屾鍒犻櫎绗笁鏂笰pp鐨勭敤鎴峰け璐ワ細", e); + } + //5. 鍒犻櫎绗笁鏂圭敤鎴疯〃锛堝洜涓虹4姝ラ渶瑕佺敤鍒扮涓夋柟鐢ㄦ埛琛紝鎵�浠ュ湪浠栦箣鍚庡垹锛� + line += sysThirdAccountMapper.delete(new LambdaQueryWrapper<SysThirdAccount>().in(SysThirdAccount::getSysUserId, userIds)); - return line != 0; - } + return line != 0; + } @Override @Transactional(rollbackFor = Exception.class) @@ -551,280 +562,264 @@ return true; } - @Override - public void saveThirdUser(SysUser sysUser) { - //淇濆瓨鐢ㄦ埛 - String userid = UUIDGenerator.generate(); - sysUser.setId(userid); - baseMapper.insert(sysUser); - //鑾峰彇绗笁鏂硅鑹� - SysRole sysRole = sysRoleMapper.selectOne(new LambdaQueryWrapper<SysRole>().eq(SysRole::getRoleCode, "third_role")); - //淇濆瓨鐢ㄦ埛瑙掕壊 - SysUserRole userRole = new SysUserRole(); - userRole.setRoleId(sysRole.getId()); - userRole.setUserId(userid); - sysUserRoleMapper.insert(userRole); - } + @Override + public void saveThirdUser(SysUser sysUser) { + //淇濆瓨鐢ㄦ埛 + String userid = UUIDGenerator.generate(); + sysUser.setId(userid); + baseMapper.insert(sysUser); + //鑾峰彇绗笁鏂硅鑹� + SysRole sysRole = sysRoleMapper.selectOne(new LambdaQueryWrapper<SysRole>().eq(SysRole::getRoleCode, "third_role")); + //淇濆瓨鐢ㄦ埛瑙掕壊 + SysUserRole userRole = new SysUserRole(); + userRole.setRoleId(sysRole.getId()); + userRole.setUserId(userid); + sysUserRoleMapper.insert(userRole); + } - @Override - public List<SysUser> queryByDepIds(List<String> departIds, String username) { - return userMapper.queryByDepIds(departIds,username); - } + @Override + public List<SysUser> queryByDepIds(List<String> departIds, String username) { + return userMapper.queryByDepIds(departIds, username); + } - @Override - @Transactional(rollbackFor = Exception.class) - public void saveUser(SysUser user, String selectedRoles, String selectedDeparts, String selectedProductions, String selectedRepairDeparts) { - //step.1 淇濆瓨鐢ㄦ埛 - this.save(user); - //step.2 淇濆瓨瑙掕壊 - if(oConvertUtils.isNotEmpty(selectedRoles)) { - String[] arr = selectedRoles.split(","); - for (String roleId : arr) { - SysUserRole userRole = new SysUserRole(user.getId(), roleId); - sysUserRoleMapper.insert(userRole); - } - } - //step.3 淇濆瓨鎵�灞為儴闂� - if(oConvertUtils.isNotEmpty(selectedDeparts)) { - String[] arr = selectedDeparts.split(","); - for (String deaprtId : arr) { - SysUserDepart userDeaprt = new SysUserDepart(user.getId(), deaprtId); - sysUserDepartMapper.insert(userDeaprt); - } - } - //step.4 淇濆瓨鎵�灞炰骇绾� - if (oConvertUtils.isNotEmpty(selectedProductions)) { - String[] arr = selectedProductions.split(","); - for (String productionId : arr) { - MdcUserProduction mdcUserProduction = new MdcUserProduction(user.getId(), productionId); - mdcUserProductionMapper.insert(mdcUserProduction); - } - } - //step.5 淇濆瓨鎵�灞炵淮淇儴闂� - if (oConvertUtils.isNotEmpty(selectedRepairDeparts)) { - String[] arr = selectedRepairDeparts.split(","); - for (String repairDepartId : arr) { - EamBaseRepairDepartUser eamBaseRepairDepartUser = new EamBaseRepairDepartUser(user.getId(), repairDepartId); - eamBaseRepairDepartUserMapper.insert(eamBaseRepairDepartUser); - } - } - } + @Override + @Transactional(rollbackFor = Exception.class) + public void saveUser(SysUser user, String selectedRoles, String selectedDeparts, String selectedProductions, String selectedRepairDeparts) { + //step.1 淇濆瓨鐢ㄦ埛 + this.save(user); + //step.2 淇濆瓨瑙掕壊 + if (oConvertUtils.isNotEmpty(selectedRoles)) { + String[] arr = selectedRoles.split(","); + for (String roleId : arr) { + SysUserRole userRole = new SysUserRole(user.getId(), roleId); + sysUserRoleMapper.insert(userRole); + } + } + //step.3 淇濆瓨鎵�灞為儴闂� + if (oConvertUtils.isNotEmpty(selectedDeparts)) { + String[] arr = selectedDeparts.split(","); + for (String deaprtId : arr) { + SysUserDepart userDeaprt = new SysUserDepart(user.getId(), deaprtId); + sysUserDepartMapper.insert(userDeaprt); + } + } + //step.4 淇濆瓨鎵�灞炰骇绾� + if (oConvertUtils.isNotEmpty(selectedProductions)) { + String[] arr = selectedProductions.split(","); + for (String productionId : arr) { + MdcUserProduction mdcUserProduction = new MdcUserProduction(user.getId(), productionId); + mdcUserProductionMapper.insert(mdcUserProduction); + } + } + //step.5 淇濆瓨鎵�灞炵淮淇儴闂� + if (oConvertUtils.isNotEmpty(selectedRepairDeparts)) { + String[] arr = selectedRepairDeparts.split(","); + for (String repairDepartId : arr) { + EamBaseRepairDepartUser eamBaseRepairDepartUser = new EamBaseRepairDepartUser(user.getId(), repairDepartId); + eamBaseRepairDepartUserMapper.insert(eamBaseRepairDepartUser); + } + } + } - @Override - @Transactional(rollbackFor = Exception.class) - @CacheEvict(value={CacheConstant.SYS_USERS_CACHE}, allEntries=true) - public void editUser(SysUser user, String roles, String departs, String productions, String repairDeparts) { - //step.1 淇敼鐢ㄦ埛鍩虹淇℃伅 - this.updateById(user); - //step.2 淇敼瑙掕壊 - //澶勭悊鐢ㄦ埛瑙掕壊 鍏堝垹鍚庡姞 - sysUserRoleMapper.delete(new QueryWrapper<SysUserRole>().lambda().eq(SysUserRole::getUserId, user.getId())); - if(oConvertUtils.isNotEmpty(roles)) { - String[] arr = roles.split(","); - for (String roleId : arr) { - SysUserRole userRole = new SysUserRole(user.getId(), roleId); - sysUserRoleMapper.insert(userRole); - } - } + @Override + @Transactional(rollbackFor = Exception.class) + @CacheEvict(value = {CacheConstant.SYS_USERS_CACHE}, allEntries = true) + public void editUser(SysUser user, String roles, String departs, String productions, String repairDeparts) { + //step.1 淇敼鐢ㄦ埛鍩虹淇℃伅 + this.updateById(user); + //step.2 淇敼瑙掕壊 + //澶勭悊鐢ㄦ埛瑙掕壊 鍏堝垹鍚庡姞 + sysUserRoleMapper.delete(new QueryWrapper<SysUserRole>().lambda().eq(SysUserRole::getUserId, user.getId())); + if (oConvertUtils.isNotEmpty(roles)) { + String[] arr = roles.split(","); + for (String roleId : arr) { + SysUserRole userRole = new SysUserRole(user.getId(), roleId); + sysUserRoleMapper.insert(userRole); + } + } - //step.3 淇敼閮ㄩ棬 - String[] arr = {}; - if(oConvertUtils.isNotEmpty(departs)){ - arr = departs.split(","); - } - //鏌ヨ宸插叧鑱旈儴闂� - List<SysUserDepart> userDepartList = sysUserDepartMapper.selectList(new QueryWrapper<SysUserDepart>().lambda().eq(SysUserDepart::getUserId, user.getId())); - if(userDepartList != null && userDepartList.size()>0){ - for(SysUserDepart depart : userDepartList ){ - //淇敼宸插叧鑱旈儴闂ㄥ垹闄ら儴闂ㄧ敤鎴疯鑹插叧绯� - if(!Arrays.asList(arr).contains(depart.getDepId())){ - List<SysDepartRole> sysDepartRoleList = sysDepartRoleMapper.selectList( - new QueryWrapper<SysDepartRole>().lambda().eq(SysDepartRole::getDepartId,depart.getDepId())); - List<String> roleIds = sysDepartRoleList.stream().map(SysDepartRole::getId).collect(Collectors.toList()); - if(roleIds != null && roleIds.size()>0){ - departRoleUserMapper.delete(new QueryWrapper<SysDepartRoleUser>().lambda().eq(SysDepartRoleUser::getUserId, user.getId()) - .in(SysDepartRoleUser::getDroleId,roleIds)); - } - } - } - } - //鍏堝垹鍚庡姞 - sysUserDepartMapper.delete(new QueryWrapper<SysUserDepart>().lambda().eq(SysUserDepart::getUserId, user.getId())); - if(oConvertUtils.isNotEmpty(departs)) { - for (String departId : arr) { - SysUserDepart userDepart = new SysUserDepart(user.getId(), departId); - sysUserDepartMapper.insert(userDepart); - } - } - //step.4 淇敼浜х嚎 - String[] array = {}; - if(oConvertUtils.isNotEmpty(productions)){ - array = productions.split(","); - } - //鍏堝垹鍚庡姞 - mdcUserProductionMapper.delete(new QueryWrapper<MdcUserProduction>().lambda().eq(MdcUserProduction::getUserId, user.getId())); - if (oConvertUtils.isNotEmpty(productions)) { - for (String productionId : array) { - MdcUserProduction mdcUserProduction = new MdcUserProduction(user.getId(), productionId); - mdcUserProductionMapper.insert(mdcUserProduction); - } - } - //step.5 淇敼缁翠慨閮ㄩ棬 - String[] arrayRepDep = {}; - if(oConvertUtils.isNotEmpty(repairDeparts)){ - arrayRepDep = repairDeparts.split(","); - } - //鍏堝垹鍚庡姞 - eamBaseRepairDepartUserMapper.delete(new QueryWrapper<EamBaseRepairDepartUser>().lambda().eq(EamBaseRepairDepartUser::getUserId, user.getId())); - if (oConvertUtils.isNotEmpty(repairDeparts)) { - for (String repairDepartId : arrayRepDep) { - EamBaseRepairDepartUser eamBaseRepairDepartUser = new EamBaseRepairDepartUser(user.getId(), repairDepartId); - eamBaseRepairDepartUserMapper.insert(eamBaseRepairDepartUser); - } - } - //step.5 淇敼鎵嬫満鍙峰拰閭 - // 鏇存柊鎵嬫満鍙枫�侀偖绠辩┖瀛楃涓蹭负 null - userMapper.updateNullByEmptyString("email"); - userMapper.updateNullByEmptyString("phone"); + //step.3 淇敼閮ㄩ棬 + String[] arr = {}; + if (oConvertUtils.isNotEmpty(departs)) { + arr = departs.split(","); + } + //鏌ヨ宸插叧鑱旈儴闂� + List<SysUserDepart> userDepartList = sysUserDepartMapper.selectList(new QueryWrapper<SysUserDepart>().lambda().eq(SysUserDepart::getUserId, user.getId())); + if (userDepartList != null && userDepartList.size() > 0) { + for (SysUserDepart depart : userDepartList) { + //淇敼宸插叧鑱旈儴闂ㄥ垹闄ら儴闂ㄧ敤鎴疯鑹插叧绯� + if (!Arrays.asList(arr).contains(depart.getDepId())) { + List<SysDepartRole> sysDepartRoleList = sysDepartRoleMapper.selectList( + new QueryWrapper<SysDepartRole>().lambda().eq(SysDepartRole::getDepartId, depart.getDepId())); + List<String> roleIds = sysDepartRoleList.stream().map(SysDepartRole::getId).collect(Collectors.toList()); + if (roleIds != null && roleIds.size() > 0) { + departRoleUserMapper.delete(new QueryWrapper<SysDepartRoleUser>().lambda().eq(SysDepartRoleUser::getUserId, user.getId()) + .in(SysDepartRoleUser::getDroleId, roleIds)); + } + } + } + } + //鍏堝垹鍚庡姞 + sysUserDepartMapper.delete(new QueryWrapper<SysUserDepart>().lambda().eq(SysUserDepart::getUserId, user.getId())); + if (oConvertUtils.isNotEmpty(departs)) { + for (String departId : arr) { + SysUserDepart userDepart = new SysUserDepart(user.getId(), departId); + sysUserDepartMapper.insert(userDepart); + } + } + //step.4 淇敼浜х嚎 + String[] array = {}; + if (oConvertUtils.isNotEmpty(productions)) { + array = productions.split(","); + } + //鍏堝垹鍚庡姞 + mdcUserProductionMapper.delete(new QueryWrapper<MdcUserProduction>().lambda().eq(MdcUserProduction::getUserId, user.getId())); + if (oConvertUtils.isNotEmpty(productions)) { + for (String productionId : array) { + MdcUserProduction mdcUserProduction = new MdcUserProduction(user.getId(), productionId); + mdcUserProductionMapper.insert(mdcUserProduction); + } + } + //step.5 淇敼缁翠慨閮ㄩ棬 + String[] arrayRepDep = {}; + if (oConvertUtils.isNotEmpty(repairDeparts)) { + arrayRepDep = repairDeparts.split(","); + } + //鍏堝垹鍚庡姞 + eamBaseRepairDepartUserMapper.delete(new QueryWrapper<EamBaseRepairDepartUser>().lambda().eq(EamBaseRepairDepartUser::getUserId, user.getId())); + if (oConvertUtils.isNotEmpty(repairDeparts)) { + for (String repairDepartId : arrayRepDep) { + EamBaseRepairDepartUser eamBaseRepairDepartUser = new EamBaseRepairDepartUser(user.getId(), repairDepartId); + eamBaseRepairDepartUserMapper.insert(eamBaseRepairDepartUser); + } + } + //step.5 淇敼鎵嬫満鍙峰拰閭 + // 鏇存柊鎵嬫満鍙枫�侀偖绠辩┖瀛楃涓蹭负 null + userMapper.updateNullByEmptyString("email"); + userMapper.updateNullByEmptyString("phone"); - } + } - @Override - public List<String> userIdToUsername(Collection<String> userIdList) { - LambdaQueryWrapper<SysUser> queryWrapper = new LambdaQueryWrapper<>(); - queryWrapper.in(SysUser::getId, userIdList); - List<SysUser> userList = super.list(queryWrapper); - return userList.stream().map(SysUser::getUsername).collect(Collectors.toList()); - } + @Override + public List<String> userIdToUsername(Collection<String> userIdList) { + LambdaQueryWrapper<SysUser> queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.in(SysUser::getId, userIdList); + List<SysUser> userList = super.list(queryWrapper); + return userList.stream().map(SysUser::getUsername).collect(Collectors.toList()); + } - @Override - @Cacheable(cacheNames=CacheConstant.SYS_USERS_CACHE, key="#username") - @SensitiveEncode - public LoginUser getEncodeUserInfo(String username){ - if(oConvertUtils.isEmpty(username)) { - return null; - } - LoginUser loginUser = new LoginUser(); - SysUser sysUser = userMapper.getUserByName(username); - if(sysUser==null) { - return null; - } - BeanUtils.copyProperties(sysUser, loginUser); - return loginUser; - } + @Override + @Cacheable(cacheNames = CacheConstant.SYS_USERS_CACHE, key = "#username") + @SensitiveEncode + public LoginUser getEncodeUserInfo(String username) { + if (oConvertUtils.isEmpty(username)) { + return null; + } + LoginUser loginUser = new LoginUser(); + SysUser sysUser = userMapper.getUserByName(username); + if (sysUser == null) { + return null; + } + BeanUtils.copyProperties(sysUser, loginUser); + return loginUser; + } - @Override - public Map<String, String> getProNamesByUserIds(List<String> userIds) { - List<MdcUserProVo> list = this.baseMapper.getProNamesByUserIds(userIds); + @Override + public Map<String, String> getProNamesByUserIds(List<String> userIds) { + List<MdcUserProVo> list = this.baseMapper.getProNamesByUserIds(userIds); - Map<String, String> res = new HashMap<>(5); - list.forEach(item -> { - if (res.get(item.getUserId()) == null) { - res.put(item.getUserId(), item.getProductionName()); - } else { - res.put(item.getUserId(), res.get(item.getUserId()) + "," + item.getProductionName()); - } - }); - return res; - } + Map<String, String> res = new HashMap<>(5); + list.forEach(item -> { + if (res.get(item.getUserId()) == null) { + res.put(item.getUserId(), item.getProductionName()); + } else { + res.put(item.getUserId(), res.get(item.getUserId()) + "," + item.getProductionName()); + } + }); + return res; + } - @Override - public Map<String, String> getRepDepNamesByUserIds(List<String> userIds) { - List<EamUserRepDepVo> list = this.baseMapper.getRepDepNamesByUserIds(userIds); + @Override + public Map<String, String> getRepDepNamesByUserIds(List<String> userIds) { + List<EamUserRepDepVo> list = this.baseMapper.getRepDepNamesByUserIds(userIds); - Map<String, String> res = new HashMap<>(5); - list.forEach(item -> { - if (res.get(item.getUserId()) == null) { - res.put(item.getUserId(), item.getRepairDepartName()); - } else { - res.put(item.getUserId(), res.get(item.getUserId()) + "," + item.getRepairDepartName()); - } - }); - return res; - } + Map<String, String> res = new HashMap<>(5); + list.forEach(item -> { + if (res.get(item.getUserId()) == null) { + res.put(item.getUserId(), item.getRepairDepartName()); + } else { + res.put(item.getUserId(), res.get(item.getUserId()) + "," + item.getRepairDepartName()); + } + }); + return res; + } - // 鏍规嵁瑙掕壊Id鏌ヨ璇ヨ鑹蹭笅鐨勬墍鏈夌敤鎴蜂俊鎭� - @Override - public List<SysUser> getAllUsersByRoleId(String roleId) { - return userMapper.getAllUsersByRoleId(roleId); - } + // 鏍规嵁瑙掕壊Id鏌ヨ璇ヨ鑹蹭笅鐨勬墍鏈夌敤鎴蜂俊鎭� + @Override + public List<SysUser> getAllUsersByRoleId(String roleId) { + return userMapper.getAllUsersByRoleId(roleId); + } - /** - * 鏍规嵁瑙掕壊缂栫爜鏌ヨ鐢ㄦ埛id闆嗗悎 - */ - @Override - public List<String> getUserByRoleCode(String roleCode) { - return this.baseMapper.getUserByRoleCode(roleCode); - } + /** + * 鏍规嵁瑙掕壊缂栫爜鏌ヨ鐢ㄦ埛id闆嗗悎 + */ + @Override + public List<String> getUserByRoleCode(String roleCode) { + return this.baseMapper.getUserByRoleCode(roleCode); + } - /** - * 鏍规嵁瑙掕壊缂栫爜鍒楄〃鏌ヨ鐢ㄦ埛id闆嗗悎 - */ - @Override - public List<SysUser> getUserByRoleCodeList(List<String> roleCodeList) { - return this.baseMapper.getUserByRoleCodeList(roleCodeList); - } + /** + * 鏍规嵁瑙掕壊缂栫爜鍒楄〃鏌ヨ鐢ㄦ埛id闆嗗悎 + */ + @Override + public List<SysUser> getUserByRoleCodeList(List<String> roleCodeList) { + return this.baseMapper.getUserByRoleCodeList(roleCodeList); + } - /** - * 鏍规嵁瑙掕壊缂栫爜鍜岃澶囩紪鍙锋煡璇㈢敤鎴� - */ - @Override - public List<SysUser> getEquipmentAdmin(String roleCode, String equipmentId) { - return this.baseMapper.getEquipmentAdmin(roleCode, equipmentId); - } + /** + * 鏍规嵁瑙掕壊缂栫爜鍜岃澶囩紪鍙锋煡璇㈢敤鎴� + */ + @Override + public List<SysUser> getEquipmentAdmin(String roleCode, String equipmentId) { + return this.baseMapper.getEquipmentAdmin(roleCode, equipmentId); + } - @Override - public List<UserSelector> selectOperatorList(String equipmentCode, String productionId, String positionCode) { - LambdaQueryWrapper<SysUser> queryWrapper = new LambdaQueryWrapper<>(); - queryWrapper.eq(SysUser::getPost, positionCode); - if(StringUtils.isNotBlank(equipmentCode)) { - queryWrapper.and(q -> q.isNull(SysUser::getEquipmentIds).or().eq(SysUser::getEquipmentIds, "").or().like(SysUser::getEquipmentIds, equipmentCode)); - } - if(StringUtils.isNotBlank(productionId)) { - queryWrapper.exists("select 1 from mdc_user_production t where t.user_id=sys_user.id and t.pro_id={0}", productionId); - } - queryWrapper.eq(SysUser::getDelFlag, CommonConstant.DEL_FLAG_0); - queryWrapper.eq(SysUser::getStatus, CommonConstant.DEL_FLAG_1); - queryWrapper.orderByDesc(SysUser::getId); - List<SysUser> sysUsers = userMapper.selectList(queryWrapper); - List<UserSelector> collect = sysUsers.stream().map(user -> new UserSelector(user.getId(), user.getUsername(), user.getRealname())).collect(Collectors.toList()); - return collect; - } + @Override + public List<UserSelector> selectOperatorList(String equipmentCode, String factoryOrgCode, String positionCode) { + LambdaQueryWrapper<SysUser> queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(SysUser::getPost, positionCode); + if (StringUtils.isNotBlank(equipmentCode)) { + queryWrapper.and(q -> q.isNull(SysUser::getEamEquipmentIds).or().eq(SysUser::getEquipmentIds, "").or().like(SysUser::getEamEquipmentIds, equipmentCode)); + } + if (StringUtils.isNotBlank(factoryOrgCode)) { + List<String> factoryIds = factoryService.queryFactoryIdsByOrgCode(factoryOrgCode); + if (CollectionUtil.isNotEmpty(factoryIds)) { + String factory = String.join(",", factoryIds); + String inClause = "(" + factory + ")"; + queryWrapper.exists("select 1 from eam_base_factory_user t where t.user_id=sys_user.id and t.factory_id in {0}", inClause); + } else { + return Collections.emptyList(); + } + } + queryWrapper.eq(SysUser::getDelFlag, CommonConstant.DEL_FLAG_0); + queryWrapper.eq(SysUser::getStatus, CommonConstant.DEL_FLAG_1); + queryWrapper.orderByDesc(SysUser::getId); + List<SysUser> sysUsers = userMapper.selectList(queryWrapper); + if (CollectionUtil.isEmpty(sysUsers)) { + return Collections.emptyList(); + } + return sysUsers.stream().map(user -> new UserSelector(user.getId(), user.getUsername(), user.getRealname())).collect(Collectors.toList()); + } - /** - * 閫夋嫨鐢ㄦ埛 - * @param equipmentCode 閫夋嫨鐨勮澶嘔D - * @param factoryId 閫夋嫨鐨勫伐鍘侷D - * @param positionCode 宀椾綅缂栧彿 - * @return - */ - @Override - public List<UserSelector> selectOperatorFactoryList(String equipmentCode, String factoryId, String positionCode){ - LambdaQueryWrapper<SysUser> queryWrapper = new LambdaQueryWrapper<>(); - queryWrapper.eq(SysUser::getPost, positionCode); -// if(StringUtils.isNotBlank(equipmentCode)) { -// queryWrapper.and(q -> q.isNull(SysUser::getEquipmentIds).or().eq(SysUser::getEquipmentIds, "").or().like(SysUser::getEquipmentIds, equipmentCode)); -// } -// if(StringUtils.isNotBlank(factoryId)) { -// queryWrapper.exists("select 1 from eam_base_factory_user t where t.user_id=sys_user.id and t.factory_id={0}", factoryId); -// } - queryWrapper.eq(SysUser::getDelFlag, CommonConstant.DEL_FLAG_0); - queryWrapper.eq(SysUser::getStatus, CommonConstant.DEL_FLAG_1); - queryWrapper.orderByDesc(SysUser::getId); - List<SysUser> sysUsers = userMapper.selectList(queryWrapper); - List<UserSelector> collect = sysUsers.stream().map(user -> new UserSelector(user.getId(), user.getUsername(), user.getRealname())).collect(Collectors.toList()); - return collect; - } - - @Override - public List<UserSelector> selectOperatorList(String positionCode) { - LambdaQueryWrapper<SysUser> queryWrapper = new LambdaQueryWrapper<>(); - queryWrapper.eq(SysUser::getPost, positionCode); - queryWrapper.eq(SysUser::getDelFlag, CommonConstant.DEL_FLAG_0); - queryWrapper.eq(SysUser::getStatus, CommonConstant.DEL_FLAG_1); - queryWrapper.orderByDesc(SysUser::getId); - List<SysUser> sysUsers = userMapper.selectList(queryWrapper); - List<UserSelector> collect = sysUsers.stream().map(user -> new UserSelector(user.getId(), user.getUsername(), user.getRealname())).collect(Collectors.toList()); - return collect; - } + @Override + public List<UserSelector> selectOperatorList(String positionCode) { + LambdaQueryWrapper<SysUser> queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(SysUser::getPost, positionCode); + queryWrapper.eq(SysUser::getDelFlag, CommonConstant.DEL_FLAG_0); + queryWrapper.eq(SysUser::getStatus, CommonConstant.DEL_FLAG_1); + queryWrapper.orderByDesc(SysUser::getId); + List<SysUser> sysUsers = userMapper.selectList(queryWrapper); + List<UserSelector> collect = sysUsers.stream().map(user -> new UserSelector(user.getId(), user.getUsername(), user.getRealname())).collect(Collectors.toList()); + return collect; + } } -- Gitblit v1.9.3