| | |
| | | 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()); |
| | | |
| | | } |
| | | |