|  |  | 
 |  |  | import com.doumee.core.model.LoginUserInfo; | 
 |  |  | import com.doumee.core.utils.Constants; | 
 |  |  | import com.doumee.core.utils.Utils; | 
 |  |  | import com.doumee.dao.business.CompanyDepartmentMapper; | 
 |  |  | import com.doumee.dao.business.SmsEmailMapper; | 
 |  |  | import com.doumee.dao.business.model.Company; | 
 |  |  | import com.doumee.dao.business.model.CompanyDepartment; | 
 |  |  | import com.doumee.dao.system.dto.*; | 
 |  |  | import com.doumee.dao.system.model.SystemDepartment; | 
 |  |  | import com.doumee.dao.system.model.SystemDepartmentUser; | 
 |  |  | 
 |  |  |     private SystemDictDataBiz systemDictDataBiz; | 
 |  |  |     @Autowired | 
 |  |  |     private CompanyService companyService; | 
 |  |  |     @Autowired | 
 |  |  |     private CompanyDepartmentMapper companyDepartmentMapper; | 
 |  |  |  | 
 |  |  |     @Value("${debug_model}") | 
 |  |  |     private boolean debugModel; | 
 |  |  |  | 
 |  |  | 
 |  |  |     @Transactional(rollbackFor = {Exception.class,BusinessException.class}) | 
 |  |  |     public void createCompany(CreateSystemUserDTO systemUser) { | 
 |  |  |         // 验证用户名 | 
 |  |  |  | 
 |  |  |         LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); | 
 |  |  |         if(!Constants.equalsInteger(loginUserInfo.getType(),Constants.UserType.SYSTEM.getKey())){ | 
 |  |  |             throw new BusinessException(ResponseStatus.NOT_ALLOWED); | 
 |  |  | 
 |  |  |         SystemUser queryUserDto = new SystemUser(); | 
 |  |  |         queryUserDto.setUsername(systemUser.getUsername()); | 
 |  |  |         queryUserDto.setDeleted(Boolean.FALSE); | 
 |  |  | //        queryUserDto.setType(Constants.ZERO); | 
 |  |  |         SystemUser user = systemUserService.findOne(queryUserDto); | 
 |  |  |         if (user != null) { | 
 |  |  |             throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(), "登录账号已存在"); | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         // 验证手机号 | 
 |  |  |        if (StringUtils.isNotBlank(systemUser.getMobile())) { | 
 |  |  |             queryUserDto = new SystemUser(); | 
 |  |  | 
 |  |  |         systemUser.setType(Constants.equalsInteger(company.getType(),Constants.ONE)?Constants.UserType.ZHUBO.getKey():Constants.UserType.COMPANY.getKey()); | 
 |  |  |         systemUser.setType(loginUserInfo.getType()); | 
 |  |  |         systemUser.setStatus(Constants.ZERO); | 
 |  |  |  | 
 |  |  |         //如果是企业用户 必须填写email | 
 |  |  |         if(Constants.equalsInteger(systemUser.getType(),Constants.ONE)){ | 
 |  |  |             if( systemUser.getEmail() == null){ | 
 |  |  |                 throw new BusinessException(ResponseStatus.BAD_REQUEST); | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |         this.dealCompanyDepartmentData(systemUser); | 
 |  |  |         Integer userId = systemUserService.create(systemUser); | 
 |  |  |         // 设置部门 | 
 |  |  |  | 
 |  |  |         /*// 设置部门 | 
 |  |  |         if (systemUser.getDepartmentId() != null) { | 
 |  |  |             SystemDepartmentUser systemDepartmentUser = new SystemDepartmentUser(); | 
 |  |  |             systemDepartmentUser.setDepartmentId(systemUser.getDepartmentId()); | 
 |  |  | 
 |  |  |             systemDepartmentUser.setOperaUser(systemUser.getCreateUser()); | 
 |  |  |             systemDepartmentUser.setOperaTime(new Date()); | 
 |  |  |             systemDepartmentUserService.create(systemDepartmentUser); | 
 |  |  |         } | 
 |  |  |         }*/ | 
 |  |  |  | 
 |  |  |     } | 
 |  |  |  | 
 |  |  | 
 |  |  |         SystemUser queryUserDto = new SystemUser(); | 
 |  |  |         SystemUser user = null; | 
 |  |  |         if (StringUtils.isNotBlank(systemUser.getUsername())){ | 
 |  |  |  | 
 |  |  |             queryUserDto.setUsername(systemUser.getUsername()); | 
 |  |  |             queryUserDto.setDeleted(Boolean.FALSE); | 
 |  |  |             user = systemUserService.findOne(queryUserDto); | 
 |  |  | 
 |  |  |                 } | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |         systemUser.setType(null);//不支持修改 | 
 |  |  |         systemUser.setCompanyId(null);//不支持修改 | 
 |  |  |         // 修改用户 | 
 |  |  |         systemUserService.updateById(systemUser); | 
 |  |  |         // 设置部门 | 
 |  |  |         SystemDepartmentUser deleteDepartmentDto = new SystemDepartmentUser(); | 
 |  |  |         /*SystemDepartmentUser deleteDepartmentDto = new SystemDepartmentUser(); | 
 |  |  |         deleteDepartmentDto.setUserId(systemUser.getId()); | 
 |  |  |         systemDepartmentUserService.delete(deleteDepartmentDto); | 
 |  |  |         if (systemUser.getDepartmentId() != null) { | 
 |  |  | 
 |  |  |             systemDepartmentUser.setOperaUser(systemUser.getUpdateUser()); | 
 |  |  |             systemDepartmentUser.setOperaTime(new Date()); | 
 |  |  |             systemDepartmentUserService.create(systemDepartmentUser); | 
 |  |  |         }*/ | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     public void dealCompanyDepartmentData(CreateSystemUserDTO systemUser){ | 
 |  |  |         if(Objects.isNull(systemUser.getDepartmentId())){ | 
 |  |  |             throw new BusinessException(ResponseStatus.BAD_REQUEST); | 
 |  |  |         } | 
 |  |  |         //处理组织数据 | 
 |  |  |         CompanyDepartment companyDepartment = companyDepartmentMapper.selectById(systemUser.getDepartmentId()); | 
 |  |  |         if(Objects.isNull(companyDepartment)){ | 
 |  |  |             throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"未查询到组织数据"); | 
 |  |  |         } | 
 |  |  |         if(Constants.equalsInteger(companyDepartment.getType(),systemUser.getType())){ | 
 |  |  |             throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"组织匹配失败,非同类型组织"); | 
 |  |  |         } | 
 |  |  |         systemUser.setDepartmentId(companyDepartment.getId()); | 
 |  |  |  | 
 |  |  |     } | 
 |  |  |  |