|  |  |  | 
|---|
|  |  |  | import com.doumee.service.system.SystemPositionUserService; | 
|---|
|  |  |  | import com.doumee.service.system.SystemUserRoleService; | 
|---|
|  |  |  | import com.doumee.service.system.SystemUserService; | 
|---|
|  |  |  | import com.google.common.base.Objects; | 
|---|
|  |  |  | import org.apache.commons.lang3.RandomStringUtils; | 
|---|
|  |  |  | import org.apache.commons.lang3.StringUtils; | 
|---|
|  |  |  | import org.apache.shiro.SecurityUtils; | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (Constants.formatIntegerNum(user.getFixed())==Constants.ONE ) { | 
|---|
|  |  |  | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "请勿删除" + user.getUsername() + ",因为这是固定用户"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if ("admin".equals(user.getUsername())){ | 
|---|
|  |  |  | throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(), "超级管理员账号不允许删除"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | systemUserService.deleteById(id); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | @Transactional | 
|---|
|  |  |  | public void create(CreateSystemUserDTO systemUser) { | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if (StringUtils.isBlank(systemUser.getUsername()) ){ | 
|---|
|  |  |  | throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"创建用户参数错误"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | // 验证用户名 | 
|---|
|  |  |  | SystemUser queryUserDto = new SystemUser(); | 
|---|
|  |  |  | queryUserDto.setUsername(systemUser.getUsername()); | 
|---|
|  |  |  | queryUserDto.setDeleted(Constants.ZERO); | 
|---|
|  |  |  | //        queryUserDto.setUsername(systemUser.getUsername()); | 
|---|
|  |  |  | SystemUser user = systemUserService.findOne(queryUserDto); | 
|---|
|  |  |  | if (user != null) { | 
|---|
|  |  |  | throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(), "用户名已存在"); | 
|---|
|  |  |  | 
|---|
|  |  |  | // 生成密码盐 | 
|---|
|  |  |  | String salt = RandomStringUtils.randomAlphabetic(6); | 
|---|
|  |  |  | // 生成密码 | 
|---|
|  |  |  | systemUser.setPassword(Utils.Secure.encryptPassword(systemUser.getPassword(), salt)); | 
|---|
|  |  |  | //        systemUser.setPassword(Utils.Secure.encryptPassword(systemUser.getMobile().substring(systemUser.getMobile().length() - 6), salt)); | 
|---|
|  |  |  | systemUser.setPassword(Utils.Secure.encryptPassword(systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.DEFAULT_PWD).getCode(), salt)); | 
|---|
|  |  |  | systemUser.setSalt(salt); | 
|---|
|  |  |  | systemUser.setId(UUID.randomUUID().toString()); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 创建用户记录 | 
|---|
|  |  |  | systemUserService.create(systemUser); | 
|---|
|  |  |  | // 设置部门 | 
|---|
|  |  |  | 
|---|
|  |  |  | systemDepartmentUser.setOperaUser(systemUser.getCreateUser()); | 
|---|
|  |  |  | systemDepartmentUser.setOperaTime(new Date()); | 
|---|
|  |  |  | systemDepartmentUserService.create(systemDepartmentUser); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | // 设置岗位 | 
|---|
|  |  |  | if (systemUser.getPositionIds() != null && systemUser.getPositionIds().size() > 0) { | 
|---|
|  |  |  | for (Integer positionId : systemUser.getPositionIds()) { | 
|---|
|  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public void updateById(CreateSystemUserDTO systemUser) { | 
|---|
|  |  |  | // 验证用户名 | 
|---|
|  |  |  | if (StringUtils.isBlank(systemUser.getUsername()) ){ | 
|---|
|  |  |  | throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"用户名不能为空"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | SystemUser queryUserDto = new SystemUser(); | 
|---|
|  |  |  | //        queryUserDto.setId(systemUser.getId()); | 
|---|
|  |  |  | queryUserDto.setUsername(systemUser.getUsername()); | 
|---|
|  |  |  | queryUserDto.setDeleted(Constants.ZERO); | 
|---|
|  |  |  | SystemUser user = systemUserService.findOne(queryUserDto); | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 验证工号 | 
|---|
|  |  |  | if (StringUtils.isNotBlank(systemUser.getEmpNo())) { | 
|---|
|  |  |  | queryUserDto = new SystemUser(); | 
|---|
|  |  |  | queryUserDto.setEmpNo(systemUser.getEmpNo()); | 
|---|
|  |  |  | queryUserDto.setDeleted(Constants.ZERO); | 
|---|
|  |  |  | user = systemUserService.findOne(queryUserDto); | 
|---|
|  |  |  | if (user != null && !user.getId().equals(systemUser.getId())) { | 
|---|
|  |  |  | throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(), "工号已存在"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | //        if (StringUtils.isNotBlank(systemUser.getEmpNo())) { | 
|---|
|  |  |  | //            queryUserDto = new SystemUser(); | 
|---|
|  |  |  | //            queryUserDto.setEmpNo(systemUser.getEmpNo()); | 
|---|
|  |  |  | //            queryUserDto.setDeleted(Constants.ZERO); | 
|---|
|  |  |  | //            SystemUser user1 = systemUserService.findOne(queryUserDto); | 
|---|
|  |  |  | //            if (user1 != null && !user1.getId().equals(systemUser.getId())) { | 
|---|
|  |  |  | //                throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(), "工号已存在"); | 
|---|
|  |  |  | //            } | 
|---|
|  |  |  | //        } | 
|---|
|  |  |  | if (user != null && "admin".equals(user.getUsername()) && Objects.equal(systemUser.getStatus(),1)){ | 
|---|
|  |  |  | throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(), "超级管理员账号不允许禁用"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | // 修改用户 | 
|---|
|  |  |  | systemUserService.updateById(systemUser); | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public void updateStatusById(CreateSystemUserDTO systemUser) { | 
|---|
|  |  |  |  | 
|---|
|  |  |  | SystemUser queryUserDto = new SystemUser(); | 
|---|
|  |  |  | queryUserDto.setId(systemUser.getId()); | 
|---|
|  |  |  | queryUserDto.setDeleted(Constants.ZERO); | 
|---|
|  |  |  | SystemUser user = systemUserService.findOne(queryUserDto); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if ("admin".equals(user.getUsername()) && Objects.equal(systemUser.getStatus(),1)){ | 
|---|
|  |  |  | throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(), "超级管理员账号不允许禁用"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | // 修改用户 | 
|---|
|  |  |  | systemUserService.updateById(systemUser); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | @Transactional | 
|---|
|  |  |  | public void createUserRole(CreateUserRoleDTO dto) { | 
|---|