| | |
| | | } |
| | | |
| | | } |
| | | @Override |
| | | @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.setUsername(systemUser.getMobile()); |
| | | if(StringUtils.isBlank(systemUser.getMobile()) || StringUtils.isBlank(systemUser.getCaptcha())){ |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST); |
| | | } |
| | | if( systemUser.getCompanyId() == null){ |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST); |
| | | } |
| | | String phoneAtuh = systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.COMPANY_PHONE_AUTH).getCode(); |
| | | if(!debugModel && !StringUtils.equals(phoneAtuh,Constants.ONE+"")){ |
| | | SmsEmailServiceImpl.isCaptcheValide(smsEmailMapper,systemUser.getMobile(),systemUser.getCaptcha()); |
| | | } |
| | | Company company = companyService.findById(systemUser.getCompanyId()); |
| | | if(company == null ||Constants.equalsInteger(company.getIsdeleted(),Constants.ONE)){ |
| | | throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"对不起,当前企业信息不正确!"); |
| | | } |
| | | |
| | | 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(); |
| | | queryUserDto.setDeleted(Boolean.FALSE); |
| | | queryUserDto.setMobile(systemUser.getMobile()); |
| | | user = systemUserService.findOne(queryUserDto); |
| | | if (user != null) { |
| | | throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(), "手机号已存在"); |
| | | } |
| | | } |
| | | // 生成密码盐 |
| | | String salt = RandomStringUtils.randomAlphabetic(6); |
| | | // 生成密码 |
| | | systemUser.setPassword(Utils.Secure.encryptPassword(systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.DEFAULT_PASSWORD).getCode(), salt)); |
| | | systemUser.setSalt(salt); |
| | | systemUser.setType(Constants.equalsInteger(company.getType(),Constants.ONE)?Constants.UserType.ZHUBO.getKey():Constants.UserType.COMPANY.getKey()); |
| | | systemUser.setType(loginUserInfo.getType()); |
| | | systemUser.setStatus(Constants.ZERO); |
| | | Integer userId = systemUserService.create(systemUser); |
| | | // 设置部门 |
| | | if (systemUser.getDepartmentId() != null) { |
| | | SystemDepartmentUser systemDepartmentUser = new SystemDepartmentUser(); |
| | | systemDepartmentUser.setDepartmentId(systemUser.getDepartmentId()); |
| | | systemDepartmentUser.setUserId(userId); |
| | | systemDepartmentUser.setOperaUser(systemUser.getCreateUser()); |
| | | systemDepartmentUser.setOperaTime(new Date()); |
| | | systemDepartmentUserService.create(systemDepartmentUser); |
| | | }else { |
| | | SystemDepartmentUser systemDepartmentUser = new SystemDepartmentUser(); |
| | | QueryWrapper<SystemDepartment> wrapper = new QueryWrapper<>(); |
| | | wrapper.lambda().isNull(SystemDepartment::getParentId).last("limit 1"); |
| | | SystemDepartment systemDepartment = systemDepartmentService.findOne(wrapper); |
| | | systemDepartmentUser.setDepartmentId(systemDepartment.getId()); |
| | | systemDepartmentUser.setUserId(userId); |
| | | systemDepartmentUser.setOperaUser(systemUser.getCreateUser()); |
| | | systemDepartmentUser.setOperaTime(new Date()); |
| | | systemDepartmentUserService.create(systemDepartmentUser); |
| | | } |
| | | |
| | | } |
| | | |
| | | @Override |
| | | public void updateById(CreateSystemUserDTO systemUser) { |
| | |
| | | SystemUserRole newUserRole = new SystemUserRole(); |
| | | newUserRole.setUserId(dto.getUserId()); |
| | | newUserRole.setRoleId(roleId); |
| | | systemUserRoleService.create(newUserRole); |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | @Transactional(rollbackFor = {Exception.class,BusinessException.class}) |
| | | public void companyCreateUser(CreateCompanyUserDTO createCompanyUserDTO) { |
| | | if(Objects.isNull(createCompanyUserDTO) |
| | | ||StringUtils.isBlank(createCompanyUserDTO.getUserName()) |
| | | ||StringUtils.isBlank(createCompanyUserDTO.getRealName()) |
| | | ||StringUtils.isBlank(createCompanyUserDTO.getPassword()) ){ |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST); |
| | | } |
| | | LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); |
| | | SystemUser queryUserDto = new SystemUser(); |
| | | queryUserDto.setUsername(createCompanyUserDTO.getUserName()); |
| | | queryUserDto.setDeleted(Boolean.FALSE); |
| | | SystemUser user = systemUserService.findOne(queryUserDto); |
| | | if (user != null) { |
| | | 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()); |
| | | } |
| | | SystemUser systemUser = new SystemUser(); |
| | | BeanUtils.copyProperties(createCompanyUserDTO,systemUser); |
| | | systemUser.setCompanyId(loginUserInfo.getCompanyId()); |
| | | systemUser.setRealname(createCompanyUserDTO.getRealName()); |
| | | systemUser.setUsername(createCompanyUserDTO.getUserName()); |
| | | // 生成密码盐 |
| | | String salt = RandomStringUtils.randomAlphabetic(6); |
| | | // 生成密码 |
| | | systemUser.setPassword(Utils.Secure.encryptPassword(systemUser.getPassword(), salt)); |
| | | systemUser.setSalt(salt); |
| | | Integer userId = systemUserService.create(systemUser); |
| | | if(systemUser.getType().equals(Constants.UserType.COMPANY.getKey())){ |
| | | SystemUserRole newUserRole = new SystemUserRole(); |
| | | newUserRole.setUserId(userId); |
| | | newUserRole.setRoleId(createCompanyUserDTO.getRoleId()); |
| | | systemUserRoleService.create(newUserRole); |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | @Transactional(rollbackFor = {Exception.class,BusinessException.class}) |
| | | public void companyUpdUser(CreateCompanyUserDTO updCreateCompanyUserDTO) { |
| | | if(Objects.isNull(updCreateCompanyUserDTO) |
| | | ||Objects.isNull(updCreateCompanyUserDTO.getId()) |
| | | ||StringUtils.isBlank(updCreateCompanyUserDTO.getRealName())){ |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST); |
| | | } |
| | | SystemUser systemUser = systemUserService.findById(updCreateCompanyUserDTO.getId()); |
| | | if(Objects.isNull(systemUser)){ |
| | | throw new BusinessException(ResponseStatus.DATA_EMPTY); |
| | | } |
| | | systemUser.setRealname(updCreateCompanyUserDTO.getRealName()); |
| | | systemUser.setMobile(updCreateCompanyUserDTO.getMobile()); |
| | | systemUserService.updateById(systemUser); |
| | | if(systemUser.getType().equals(Constants.UserType.COMPANY.getKey())){ |
| | | // 删除关联角色 |
| | | SystemUserRole deleteDto = new SystemUserRole(); |
| | | deleteDto.setUserId(systemUser.getId()); |
| | | systemUserRoleService.delete(deleteDto); |
| | | SystemUserRole newUserRole = new SystemUserRole(); |
| | | newUserRole.setUserId(systemUser.getId()); |
| | | newUserRole.setRoleId(updCreateCompanyUserDTO.getRoleId()); |
| | | systemUserRoleService.create(newUserRole); |
| | | } |
| | | } |