From 50fb58286ed3b718c39a97e0987ee7561a295651 Mon Sep 17 00:00:00 2001 From: k94314517 <8417338+k94314517@user.noreply.gitee.com> Date: 星期五, 04 七月 2025 17:56:41 +0800 Subject: [PATCH] git ch --- server/service/src/main/java/com/doumee/biz/system/impl/SystemUserBizImpl.java | 178 ++++++++++++++++++++++++++++++++++------------------------ 1 files changed, 104 insertions(+), 74 deletions(-) diff --git a/server/service/src/main/java/com/doumee/biz/system/impl/SystemUserBizImpl.java b/server/service/src/main/java/com/doumee/biz/system/impl/SystemUserBizImpl.java index ac47064..3e10b1f 100644 --- a/server/service/src/main/java/com/doumee/biz/system/impl/SystemUserBizImpl.java +++ b/server/service/src/main/java/com/doumee/biz/system/impl/SystemUserBizImpl.java @@ -9,8 +9,10 @@ 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; @@ -46,6 +48,9 @@ private SystemDictDataBiz systemDictDataBiz; @Autowired private CompanyService companyService; + @Autowired + private CompanyDepartmentMapper companyDepartmentMapper; + @Value("${debug_model}") private boolean debugModel; @@ -177,6 +182,86 @@ } } + @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); + 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); + + //濡傛灉鏄紒涓氱敤鎴� 蹇呴』濉啓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.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) { @@ -184,7 +269,6 @@ SystemUser queryUserDto = new SystemUser(); SystemUser user = null; if (StringUtils.isNotBlank(systemUser.getUsername())){ - queryUserDto.setUsername(systemUser.getUsername()); queryUserDto.setDeleted(Boolean.FALSE); user = systemUserService.findOne(queryUserDto); @@ -211,17 +295,17 @@ if(StringUtils.isBlank(systemUser.getMobile()) || StringUtils.isBlank(systemUser.getCaptcha())){ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"鐭俊楠岃瘉鐮佷笉鑳戒负绌猴紒"); } - if(!debugModel){ + 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()); } } } - 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) { @@ -231,7 +315,23 @@ 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()); } @@ -247,76 +347,6 @@ 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); } } -- Gitblit v1.9.3