| | |
| | | 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; |
| | |
| | | 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; |
| | |
| | | @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) |
| | |
| | | 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("å¯ç éç½®æå!"); |
| | |
| | | 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); |
| | |
| | | } |
| | | |
| | | @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 çæ¶åï¼æè¯»åsys_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 çæ¶åï¼æè¯»åsys_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()); |
| | | } |
| | | |
| | | //å¤é¨é¨æ¯æinæ¥è¯¢ |
| | | 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); |
| | | //å¤é¨é¨æ¯æinæ¥è¯¢ |
| | | 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(); |
| | |
| | | |
| | | 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ï¼ifæ¡ä»¶æ°¸è¿ä¸ºfalsebug------------ |
| | | if (CommonConstant.DEL_FLAG_1.equals(sysUser.getDelFlag())) { |
| | | //update-end---author:çå¸
Date:20200601 forï¼ifæ¡ä»¶æ°¸è¿ä¸ºfalsebug------------ |
| | | 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ï¼ifæ¡ä»¶æ°¸è¿ä¸ºfalsebug------------ |
| | | if (CommonConstant.DEL_FLAG_1.equals(sysUser.getDelFlag())) { |
| | | //update-end---author:çå¸
Date:20200601 forï¼ifæ¡ä»¶æ°¸è¿ä¸ºfalsebug------------ |
| | | 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.忥å é¤ç¬¬ä¸æ¹Appçç¨æ· |
| | | try { |
| | | dingtalkService.removeThirdAppUser(userIds); |
| | | wechatEnterpriseService.removeThirdAppUser(userIds); |
| | | } catch (Exception e) { |
| | | log.error("忥å é¤ç¬¬ä¸æ¹Appçç¨æ·å¤±è´¥ï¼", 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.忥å é¤ç¬¬ä¸æ¹Appçç¨æ· |
| | | try { |
| | | dingtalkService.removeThirdAppUser(userIds); |
| | | wechatEnterpriseService.removeThirdAppUser(userIds); |
| | | } catch (Exception e) { |
| | | log.error("忥å é¤ç¬¬ä¸æ¹Appçç¨æ·å¤±è´¥ï¼", e); |
| | | } |
| | | //5. å é¤ç¬¬ä¸æ¹ç¨æ·è¡¨ï¼å 为第4æ¥éè¦ç¨å°ç¬¬ä¸æ¹ç¨æ·è¡¨ï¼æä»¥å¨ä»ä¹åå ï¼ |
| | | line += sysThirdAccountMapper.delete(new LambdaQueryWrapper<SysThirdAccount>().in(SysThirdAccount::getSysUserId, userIds)); |
| | | |
| | | return line != 0; |
| | | } |
| | | return line != 0; |
| | | } |
| | | |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | |
| | | 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 éæ©ç设å¤ID |
| | | * @param factoryId éæ©çå·¥åID |
| | | * @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; |
| | | } |
| | | } |