|  |  | 
 |  |  | import com.doumee.core.model.LoginUserInfo; | 
 |  |  | import com.doumee.core.utils.Constants; | 
 |  |  | import com.doumee.core.utils.Utils; | 
 |  |  | import com.doumee.dao.business.model.Company; | 
 |  |  | import com.doumee.dao.system.dto.*; | 
 |  |  | import com.doumee.dao.system.model.SystemDepartment; | 
 |  |  | import com.doumee.dao.system.model.SystemDepartmentUser; | 
 |  |  | import com.doumee.dao.system.model.SystemUser; | 
 |  |  | import com.doumee.dao.system.model.SystemUserRole; | 
 |  |  | import com.doumee.service.business.CompanyService; | 
 |  |  | import com.doumee.service.system.*; | 
 |  |  | import org.apache.commons.lang3.RandomStringUtils; | 
 |  |  | import org.apache.commons.lang3.StringUtils; | 
 |  |  | 
 |  |  |  | 
 |  |  |     @Autowired | 
 |  |  |     private SystemUserService systemUserService; | 
 |  |  |  | 
 |  |  |     @Autowired | 
 |  |  |     private CompanyService companyService; | 
 |  |  |  | 
 |  |  |     @Autowired | 
 |  |  |     private SystemUserRoleService systemUserRoleService; | 
 |  |  | 
 |  |  |         queryUserDto.setDeleted(Boolean.FALSE); | 
 |  |  |         SystemUser user = systemUserService.findOne(queryUserDto); | 
 |  |  |         if (user != null) { | 
 |  |  |             throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(), "用户名已存在"); | 
 |  |  |             throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(), "登录账号已存在"); | 
 |  |  |         } | 
 |  |  |         // 验证工号 | 
 |  |  |        if (StringUtils.isNotBlank(systemUser.getEmpNo())) { | 
 |  |  | 
 |  |  |             queryUserDto.setDeleted(Boolean.FALSE); | 
 |  |  |             user = systemUserService.findOne(queryUserDto); | 
 |  |  |             if (user != null && !user.getId().equals(systemUser.getId())) { | 
 |  |  |                 throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(), "用户名已存在"); | 
 |  |  |                 throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(), "登录账号已存在"); | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |  | 
 |  |  | 
 |  |  |         if(Objects.isNull(createCompanyUserDTO) | 
 |  |  |                 ||StringUtils.isBlank(createCompanyUserDTO.getUserName()) | 
 |  |  |                 ||StringUtils.isBlank(createCompanyUserDTO.getRealName()) | 
 |  |  |                 ||StringUtils.isBlank(createCompanyUserDTO.getPassword()) | 
 |  |  |                 ||StringUtils.isBlank(createCompanyUserDTO.getMobile())){ | 
 |  |  |                 ||StringUtils.isBlank(createCompanyUserDTO.getPassword()) ){ | 
 |  |  |             throw new BusinessException(ResponseStatus.BAD_REQUEST); | 
 |  |  |         } | 
 |  |  |         LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); | 
 |  |  | 
 |  |  |         queryUserDto.setDeleted(Boolean.FALSE); | 
 |  |  |         SystemUser user = systemUserService.findOne(queryUserDto); | 
 |  |  |         if (user != null) { | 
 |  |  |             throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(), "用户名已存在"); | 
 |  |  |             throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(), "登录账号已存在"); | 
 |  |  |         } | 
 |  |  |         if(createCompanyUserDTO.getType().equals(Constants.UserType.ZHUBO.getKey())){ | 
 |  |  |             Company company = companyService.findById(loginUserInfo.getCompanyId()); | 
 |  |  |             SystemUser zbUserNum = new SystemUser(); | 
 |  |  |             zbUserNum.setCompanyId(loginUserInfo.getCompanyId()); | 
 |  |  |             zbUserNum.setDeleted(Boolean.FALSE); | 
 |  |  |             zbUserNum.setType(Constants.UserType.ZHUBO.getKey()); | 
 |  |  |             if(!Objects.isNull(company.getUserNum())&&company.getUserNum()!=Constants.ZERO){ | 
 |  |  |                 if(systemUserService.findList(zbUserNum).size()>=company.getUserNum()){ | 
 |  |  |                     throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"对不起,已超出企业可分配主播数量,如有疑问请联系系统管理员!"); | 
 |  |  |                 } | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |         SystemUser systemUser  = new SystemUser(); | 
 |  |  |         BeanUtils.copyProperties(createCompanyUserDTO,systemUser); | 
 |  |  | 
 |  |  |         systemUser.setPassword(Utils.Secure.encryptPassword(systemUser.getPassword(), salt)); | 
 |  |  |         systemUser.setSalt(salt); | 
 |  |  |         Integer userId = systemUserService.create(systemUser); | 
 |  |  |         if(systemUser.getType().equals(Constants.UserType.COMPANY)){ | 
 |  |  |         if(systemUser.getType().equals(Constants.UserType.COMPANY.getKey())){ | 
 |  |  |             SystemUserRole newUserRole = new SystemUserRole(); | 
 |  |  |             newUserRole.setUserId(userId); | 
 |  |  |             newUserRole.setRoleId(createCompanyUserDTO.getRoleId()); | 
 |  |  | 
 |  |  |     @Transactional(rollbackFor = {Exception.class,BusinessException.class}) | 
 |  |  |     public void companyUpdUser(CreateCompanyUserDTO updCreateCompanyUserDTO) { | 
 |  |  |         if(Objects.isNull(updCreateCompanyUserDTO) | 
 |  |  |                 ||Objects.isNull(updCreateCompanyUserDTO.getUserId()) | 
 |  |  |                 ||StringUtils.isBlank(updCreateCompanyUserDTO.getRealName()) | 
 |  |  |                 ||StringUtils.isBlank(updCreateCompanyUserDTO.getMobile())){ | 
 |  |  |                 ||Objects.isNull(updCreateCompanyUserDTO.getId()) | 
 |  |  |                 ||StringUtils.isBlank(updCreateCompanyUserDTO.getRealName())){ | 
 |  |  |             throw new BusinessException(ResponseStatus.BAD_REQUEST); | 
 |  |  |         } | 
 |  |  |         SystemUser systemUser  = systemUserService.findById(updCreateCompanyUserDTO.getUserId()); | 
 |  |  |         SystemUser systemUser  = systemUserService.findById(updCreateCompanyUserDTO.getId()); | 
 |  |  |         if(Objects.isNull(systemUser)){ | 
 |  |  |             throw new BusinessException(ResponseStatus.DATA_EMPTY); | 
 |  |  |         } | 
 |  |  |         systemUser.setRealname(updCreateCompanyUserDTO.getRealName()); | 
 |  |  |         systemUser.setMobile(systemUser.getMobile()); | 
 |  |  |  | 
 |  |  |         // 生成密码盐 | 
 |  |  | //        String salt = RandomStringUtils.randomAlphabetic(6); | 
 |  |  | //        // 生成密码 | 
 |  |  | //        systemUser.setPassword(Utils.Secure.encryptPassword(systemUser.getPassword(), salt)); | 
 |  |  | //        systemUser.setSalt(salt); | 
 |  |  |         systemUser.setMobile(updCreateCompanyUserDTO.getMobile()); | 
 |  |  |         systemUserService.updateById(systemUser); | 
 |  |  |         if(systemUser.getType().equals(Constants.UserType.COMPANY)){ | 
 |  |  |         if(systemUser.getType().equals(Constants.UserType.COMPANY.getKey())){ | 
 |  |  |             // 删除关联角色 | 
 |  |  |             SystemUserRole deleteDto = new SystemUserRole(); | 
 |  |  |             deleteDto.setUserId(systemUser.getId()); | 
 |  |  | 
 |  |  |  | 
 |  |  |     @Override | 
 |  |  |     @Transactional(rollbackFor = {Exception.class,BusinessException.class}) | 
 |  |  |     public void updUserStatus(Integer id,Integer status) { | 
 |  |  |  | 
 |  |  |         SystemUser systemUser  = systemUserService.findById(id); | 
 |  |  |         if(Objects.isNull(systemUser)){ | 
 |  |  |             throw new BusinessException(ResponseStatus.DATA_EMPTY); | 
 |  |  |         } | 
 |  |  |         systemUser.setStatus(status); | 
 |  |  |         systemUserService.updateById(systemUser); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @Override | 
 |  |  |     @Transactional(rollbackFor = {Exception.class,BusinessException.class}) | 
 |  |  |     public void updPassword(CreateCompanyUserDTO updCreateCompanyUserDTO) { | 
 |  |  |         if(Objects.isNull(updCreateCompanyUserDTO) | 
 |  |  |                 ||Objects.isNull(updCreateCompanyUserDTO.getUserId()) | 
 |  |  |                 ||Objects.isNull(updCreateCompanyUserDTO.getId()) | 
 |  |  |                 ||StringUtils.isBlank(updCreateCompanyUserDTO.getPassword())){ | 
 |  |  |             throw new BusinessException(ResponseStatus.BAD_REQUEST); | 
 |  |  |         } | 
 |  |  |         SystemUser systemUser  = systemUserService.findById(updCreateCompanyUserDTO.getUserId()); | 
 |  |  |         SystemUser systemUser  = systemUserService.findById(updCreateCompanyUserDTO.getId()); | 
 |  |  |         if(Objects.isNull(systemUser)){ | 
 |  |  |             throw new BusinessException(ResponseStatus.DATA_EMPTY); | 
 |  |  |         } |