From 8932133e2ee2e5708e3506bee3d01d59bff5f1d2 Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期日, 12 一月 2025 11:30:52 +0800
Subject: [PATCH] bug
---
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