| | |
| | | import com.ruoyi.system.mapper.SysUserPostMapper; |
| | | import com.ruoyi.system.mapper.SysUserRoleMapper; |
| | | import com.ruoyi.system.service.ISysConfigService; |
| | | import com.ruoyi.system.service.ISysDeptService; |
| | | import com.ruoyi.system.service.ISysUserService; |
| | | |
| | | /** |
| | |
| | | |
| | | @Autowired |
| | | private ISysConfigService configService; |
| | | |
| | | @Autowired |
| | | private ISysDeptService deptService; |
| | | |
| | | @Autowired |
| | | protected Validator validator; |
| | |
| | | { |
| | | return userMapper.selectUserByPhonenumber(phonenumber); |
| | | } |
| | | |
| | | /** |
| | | * 通过用户ID查询用户 |
| | | * |
| | | * @param userId 用户ID |
| | | * @return 用户对象信息 |
| | | */ |
| | | @Override |
| | | public SysUser selectUserById(Long userId) |
| | | { |
| | | return userMapper.selectUserById(userId); |
| | | } |
| | | |
| | | /** |
| | | * 通过微信OpenID查询用户 |
| | |
| | | public SysUser selectUserByOpenId(String openId) |
| | | { |
| | | return userMapper.selectUserByOpenId(openId); |
| | | } |
| | | |
| | | /** |
| | | * 通过企业微信用户ID查询用户 |
| | | * |
| | | * @param qyWechatUserId 企业微信用户ID |
| | | * @return 用户对象信息 |
| | | */ |
| | | @Override |
| | | public SysUser selectUserByQyWechatUserId(String qyWechatUserId) |
| | | { |
| | | return userMapper.selectUserByQyWechatUserId(qyWechatUserId); |
| | | } |
| | | |
| | | /** |
| | | * 根据oaUserId查询用户 |
| | | * |
| | | * @param oaUserId SQL Server中的OA用户ID |
| | | * @return 用户信息 |
| | | */ |
| | | @Override |
| | | public SysUser selectUserByOaUserId(Integer oaUserId) |
| | | { |
| | | return userMapper.selectUserByOaUserId(oaUserId); |
| | | } |
| | | |
| | | /** |
| | | * 通过用户ID查询用户 |
| | | * |
| | | * @param userId 用户ID |
| | | * @return 用户对象信息 |
| | | */ |
| | | @Override |
| | | public SysUser selectUserById(Long userId) |
| | | { |
| | | return userMapper.selectUserById(userId); |
| | | } |
| | | |
| | | /** |
| | |
| | | { |
| | | return StringUtils.EMPTY; |
| | | } |
| | | return list.stream().map(SysRole::getRoleName).collect(Collectors.joining(",")); |
| | | return list.stream().map(SysRole::getRoleName).reduce((x, y) -> x + "," + y).orElse(StringUtils.EMPTY); |
| | | } |
| | | |
| | | /** |
| | |
| | | * @return 结果 |
| | | */ |
| | | @Override |
| | | public boolean checkUserNameUnique(SysUser user) |
| | | public Boolean checkUserNameUnique(SysUser user) |
| | | { |
| | | Long userId = StringUtils.isNull(user.getUserId()) ? -1L : user.getUserId(); |
| | | SysUser info = userMapper.checkUserNameUnique(user.getUserName()); |
| | |
| | | * @return |
| | | */ |
| | | @Override |
| | | public boolean checkPhoneUnique(SysUser user) |
| | | public Boolean checkPhoneUnique(SysUser user) |
| | | { |
| | | Long userId = StringUtils.isNull(user.getUserId()) ? -1L : user.getUserId(); |
| | | SysUser info = userMapper.checkPhoneUnique(user.getPhonenumber()); |
| | |
| | | * @return |
| | | */ |
| | | @Override |
| | | public boolean checkEmailUnique(SysUser user) |
| | | public Boolean checkEmailUnique(SysUser user) |
| | | { |
| | | Long userId = StringUtils.isNull(user.getUserId()) ? -1L : user.getUserId(); |
| | | SysUser info = userMapper.checkEmailUnique(user.getEmail()); |
| | |
| | | public void insertUserPost(SysUser user) |
| | | { |
| | | Long[] posts = user.getPostIds(); |
| | | if (StringUtils.isNotEmpty(posts)) |
| | | if (StringUtils.isNotNull(posts)) |
| | | { |
| | | // 新增用户与岗位管理 |
| | | List<SysUserPost> list = new ArrayList<SysUserPost>(posts.length); |
| | | List<SysUserPost> list = new ArrayList<SysUserPost>(); |
| | | for (Long postId : posts) |
| | | { |
| | | SysUserPost up = new SysUserPost(); |
| | |
| | | up.setPostId(postId); |
| | | list.add(up); |
| | | } |
| | | userPostMapper.batchUserPost(list); |
| | | if (list.size() > 0) |
| | | { |
| | | userPostMapper.batchUserPost(list); |
| | | } |
| | | } |
| | | } |
| | | |
| | |
| | | */ |
| | | public void insertUserRole(Long userId, Long[] roleIds) |
| | | { |
| | | if (StringUtils.isNotEmpty(roleIds)) |
| | | if (StringUtils.isNotNull(roleIds)) |
| | | { |
| | | // 新增用户与角色管理 |
| | | List<SysUserRole> list = new ArrayList<SysUserRole>(roleIds.length); |
| | | List<SysUserRole> list = new ArrayList<SysUserRole>(); |
| | | for (Long roleId : roleIds) |
| | | { |
| | | SysUserRole ur = new SysUserRole(); |
| | |
| | | ur.setRoleId(roleId); |
| | | list.add(ur); |
| | | } |
| | | userRoleMapper.batchUserRole(list); |
| | | if (list.size() > 0) |
| | | { |
| | | userRoleMapper.batchUserRole(list); |
| | | } |
| | | } |
| | | } |
| | | |
| | |
| | | for (Long userId : userIds) |
| | | { |
| | | checkUserAllowed(new SysUser(userId)); |
| | | checkUserDataScope(userId); |
| | | } |
| | | // 删除用户与角色关联 |
| | | userRoleMapper.deleteUserRole(userIds); |
| | |
| | | int failureNum = 0; |
| | | StringBuilder successMsg = new StringBuilder(); |
| | | StringBuilder failureMsg = new StringBuilder(); |
| | | String password = configService.selectConfigByKey("sys.user.initPassword"); |
| | | for (SysUser user : userList) |
| | | { |
| | | try |
| | |
| | | if (StringUtils.isNull(u)) |
| | | { |
| | | BeanValidators.validateWithException(validator, user); |
| | | deptService.checkDeptDataScope(user.getDeptId()); |
| | | |
| | | // 校验手机号唯一性 |
| | | if (StringUtils.isNotEmpty(user.getPhonenumber())) |
| | | { |
| | | SysUser phoneCheck = userMapper.checkPhoneUnique(user.getPhonenumber()); |
| | | if (StringUtils.isNotNull(phoneCheck)) |
| | | { |
| | | failureNum++; |
| | | failureMsg.append("<br/>" + failureNum + "、账号 " + user.getUserName() + " 导入失败:手机号码 " + user.getPhonenumber() + " 已被用户 " + phoneCheck.getUserName() + " 使用"); |
| | | continue; |
| | | } |
| | | } |
| | | |
| | | // 校验邮箱唯一性 |
| | | if (StringUtils.isNotEmpty(user.getEmail())) |
| | | { |
| | | SysUser emailCheck = userMapper.checkEmailUnique(user.getEmail()); |
| | | if (StringUtils.isNotNull(emailCheck)) |
| | | { |
| | | failureNum++; |
| | | failureMsg.append("<br/>" + failureNum + "、账号 " + user.getUserName() + " 导入失败:邮箱 " + user.getEmail() + " 已被用户 " + emailCheck.getUserName() + " 使用"); |
| | | continue; |
| | | } |
| | | } |
| | | |
| | | String password = configService.selectConfigByKey("sys.user.initPassword"); |
| | | user.setPassword(SecurityUtils.encryptPassword(password)); |
| | | user.setCreateBy(operName); |
| | | userMapper.insertUser(user); |
| | | this.insertUser(user); |
| | | successNum++; |
| | | successMsg.append("<br/>" + successNum + "、账号 " + user.getUserName() + " 导入成功"); |
| | | } |
| | | else if (isUpdateSupport) |
| | | { |
| | | BeanValidators.validateWithException(validator, user); |
| | | checkUserAllowed(u); |
| | | checkUserDataScope(u.getUserId()); |
| | | deptService.checkDeptDataScope(user.getDeptId()); |
| | | |
| | | // 校验手机号唯一性(排除自己) |
| | | if (StringUtils.isNotEmpty(user.getPhonenumber())) |
| | | { |
| | | SysUser phoneCheck = userMapper.checkPhoneUnique(user.getPhonenumber()); |
| | | if (StringUtils.isNotNull(phoneCheck) && !phoneCheck.getUserId().equals(u.getUserId())) |
| | | { |
| | | failureNum++; |
| | | failureMsg.append("<br/>" + failureNum + "、账号 " + user.getUserName() + " 更新失败:手机号码 " + user.getPhonenumber() + " 已被用户 " + phoneCheck.getUserName() + " 使用"); |
| | | continue; |
| | | } |
| | | } |
| | | |
| | | // 校验邮箱唯一性(排除自己) |
| | | if (StringUtils.isNotEmpty(user.getEmail())) |
| | | { |
| | | SysUser emailCheck = userMapper.checkEmailUnique(user.getEmail()); |
| | | if (StringUtils.isNotNull(emailCheck) && !emailCheck.getUserId().equals(u.getUserId())) |
| | | { |
| | | failureNum++; |
| | | failureMsg.append("<br/>" + failureNum + "、账号 " + user.getUserName() + " 更新失败:邮箱 " + user.getEmail() + " 已被用户 " + emailCheck.getUserName() + " 使用"); |
| | | continue; |
| | | } |
| | | } |
| | | |
| | | user.setUserId(u.getUserId()); |
| | | user.setUpdateBy(operName); |
| | | userMapper.updateUser(user); |
| | | this.updateUser(user); |
| | | successNum++; |
| | | successMsg.append("<br/>" + successNum + "、账号 " + user.getUserName() + " 更新成功"); |
| | | } |
| | |
| | | } |
| | | return successMsg.toString(); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 根据分公司ID列表查询用户(包含分公司及其所有子部门的用户) |
| | | * |
| | | * @param branchDeptIds 分公司ID列表 |
| | | * @return 用户列表 |
| | | */ |
| | | @Override |
| | | public List<SysUser> selectUsersByBranchDeptIds(List<Long> branchDeptIds) |
| | | { |
| | | return userMapper.selectUsersByBranchDeptIds(branchDeptIds); |
| | | } |
| | | |
| | | /** |
| | | * 根据serviceOrderClass或dispatchOrderClass查询具有canViewAllConsult权限的用户 |
| | | * |
| | | * @param orderClass serviceOrderClass或dispatchOrderClass |
| | | * @return 用户列表 |
| | | */ |
| | | @Override |
| | | public List<SysUser> selectUsersByOrderClassAndCanViewAllConsult(String orderClass) |
| | | { |
| | | return userMapper.selectUsersByOrderClassAndCanViewAllConsult(orderClass); |
| | | } |
| | | } |