From d2bc6e096f0806b78ea92d4b90a21d3627d406c7 Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期五, 08 三月 2024 18:28:42 +0800
Subject: [PATCH] mrshi
---
server/service/src/main/java/com/doumee/biz/system/impl/SystemUserBizImpl.java | 82 ++++++++++++++++++++++++-----------------
1 files changed, 48 insertions(+), 34 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 990a06a..7f6e0bb 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
@@ -1,12 +1,15 @@
package com.doumee.biz.system.impl;
+import cn.emay.sdk.core.dto.sms.response.SmsResponse;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.doumee.biz.system.SystemDictDataBiz;
import com.doumee.biz.system.SystemUserBiz;
import com.doumee.core.constants.ResponseStatus;
import com.doumee.core.exception.BusinessException;
import com.doumee.core.model.LoginUserInfo;
import com.doumee.core.utils.Constants;
import com.doumee.core.utils.Utils;
+import com.doumee.dao.business.SmsEmailMapper;
import com.doumee.dao.business.model.Company;
import com.doumee.dao.system.dto.*;
import com.doumee.dao.system.model.SystemDepartment;
@@ -14,12 +17,14 @@
import com.doumee.dao.system.model.SystemUser;
import com.doumee.dao.system.model.SystemUserRole;
import com.doumee.service.business.CompanyService;
+import com.doumee.service.business.impl.SmsEmailServiceImpl;
import com.doumee.service.system.*;
import org.apache.commons.lang3.RandomStringUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.SecurityUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
@@ -34,9 +39,15 @@
@Autowired
private SystemUserService systemUserService;
+ @Autowired
+ private SmsEmailMapper smsEmailMapper;
@Autowired
+ private SystemDictDataBiz systemDictDataBiz;
+ @Autowired
private CompanyService companyService;
+ @Value("${debug_model}")
+ private boolean debugModel;
@Autowired
private SystemUserRoleService systemUserRoleService;
@@ -109,29 +120,40 @@
public void create(CreateSystemUserDTO systemUser) {
// 楠岃瘉鐢ㄦ埛鍚�
// systemUser.setUsername(systemUser.getMobile());
+ if(StringUtils.isBlank(systemUser.getMobile()) || StringUtils.isBlank(systemUser.getCaptcha())){
+ throw new BusinessException(ResponseStatus.BAD_REQUEST);
+ }
+ if(!debugModel){
+ SmsEmailServiceImpl.isCaptcheValide(smsEmailMapper,systemUser.getMobile(),systemUser.getCaptcha());
+ }
SystemUser queryUserDto = new SystemUser();
queryUserDto.setUsername(systemUser.getUsername());
queryUserDto.setDeleted(Boolean.FALSE);
- queryUserDto.setType(Constants.ZERO);
+// queryUserDto.setType(Constants.ZERO);
SystemUser user = systemUserService.findOne(queryUserDto);
if (user != null) {
throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(), "鐧诲綍璐﹀彿宸插瓨鍦�");
}
- // 楠岃瘉宸ュ彿
- if (StringUtils.isNotBlank(systemUser.getEmpNo())) {
+ // 楠岃瘉鎵嬫満鍙�
+ if (StringUtils.isNotBlank(systemUser.getMobile())) {
queryUserDto = new SystemUser();
queryUserDto.setDeleted(Boolean.FALSE);
- queryUserDto.setEmpNo(systemUser.getEmpNo());
+ queryUserDto.setMobile(systemUser.getMobile());
user = systemUserService.findOne(queryUserDto);
if (user != null) {
- throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(), "宸ュ彿宸插瓨鍦�");
+ throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(), "鎵嬫満鍙峰凡瀛樺湪");
}
}
// 鐢熸垚瀵嗙爜鐩�
String salt = RandomStringUtils.randomAlphabetic(6);
// 鐢熸垚瀵嗙爜
- systemUser.setPassword(Utils.Secure.encryptPassword(systemUser.getPassword(), salt));
+// systemUser.setPassword(Utils.Secure.encryptPassword(systemUser.getPassword(), salt));
+ systemUser.setPassword(Utils.Secure.encryptPassword(systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.DEFAULT_PASSWORD).getCode(), salt));
systemUser.setSalt(salt);
+ LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+ systemUser.setType(loginUserInfo.getType());
+ systemUser.setStatus(Constants.ZERO);
+ systemUser.setCompanyId(loginUserInfo.getCompanyId());
Integer userId = systemUserService.create(systemUser);
// 璁剧疆閮ㄩ棬
if (systemUser.getDepartmentId() != null) {
@@ -152,17 +174,7 @@
systemDepartmentUser.setOperaTime(new Date());
systemDepartmentUserService.create(systemDepartmentUser);
}
- // 璁剧疆宀椾綅
-// if (systemUser.getPositionIds() != null && systemUser.getPositionIds().size() > 0) {
-// for (Integer positionId : systemUser.getPositionIds()) {
-// SystemPositionUser systemPositionUser = new SystemPositionUser();
-// systemPositionUser.setPositionId(positionId);
-// systemPositionUser.setUserId(userId);
-// systemPositionUser.setOperaUser(systemUser.getCreateUser());
-// systemPositionUser.setOperaTime(new Date());
-// systemPositionUserService.create(systemPositionUser);
-// }
-// }
+
}
@Override
@@ -181,15 +193,30 @@
}
// 楠岃瘉宸ュ彿
- if (StringUtils.isNotBlank(systemUser.getEmpNo())) {
+ if (StringUtils.isNotBlank(systemUser.getMobile())) {
queryUserDto = new SystemUser();
- queryUserDto.setEmpNo(systemUser.getEmpNo());
+ queryUserDto.setEmpNo(systemUser.getMobile());
queryUserDto.setDeleted(Boolean.FALSE);
user = systemUserService.findOne(queryUserDto);
if (user != null && !user.getId().equals(systemUser.getId())) {
- throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(), "宸ュ彿宸插瓨鍦�");
+ throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(), "鎵嬫満鍙峰凡瀛樺湪");
+ }
+ user = systemUserService.findById(systemUser.getId());
+ if(user == null){
+ throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(), "瀵逛笉璧凤紝鐢ㄦ埛淇℃伅涓嶅瓨鍦紒");
+ }
+ if(!StringUtils.equals(systemUser.getMobile(),user.getMobile())){
+ //濡傛灉鎵嬫満鍙峰彂鐢熷彉鍖栭獙璇侀獙璇佺爜
+ if(StringUtils.isBlank(systemUser.getMobile()) || StringUtils.isBlank(systemUser.getCaptcha())){
+ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"鐭俊楠岃瘉鐮佷笉鑳戒负绌猴紒");
+ }
+ if(!debugModel){
+ SmsEmailServiceImpl.isCaptcheValide(smsEmailMapper,systemUser.getMobile(),systemUser.getCaptcha());
+ }
}
}
+ systemUser.setType(null);//涓嶆敮鎸佷慨鏀�
+ systemUser.setCompanyId(null);//涓嶆敮鎸佷慨鏀�
// 淇敼鐢ㄦ埛
systemUserService.updateById(systemUser);
// 璁剧疆閮ㄩ棬
@@ -204,20 +231,7 @@
systemDepartmentUser.setOperaTime(new Date());
systemDepartmentUserService.create(systemDepartmentUser);
}
- // 璁剧疆宀椾綅
- /* SystemPositionUser deletePositionDto = new SystemPositionUser();
- deletePositionDto.setUserId(systemUser.getId());
- systemPositionUserService.delete(deletePositionDto);
- if (systemUser.getPositionIds() != null && systemUser.getPositionIds().size() > 0) {
- for (Integer positionId : systemUser.getPositionIds()) {
- SystemPositionUser systemPositionUser = new SystemPositionUser();
- systemPositionUser.setPositionId(positionId);
- systemPositionUser.setUserId(systemUser.getId());
- systemPositionUser.setOperaUser(systemUser.getUpdateUser());
- systemPositionUser.setOperaTime(new Date());
- systemPositionUserService.create(systemPositionUser);
- }
- }*/
+
}
@Override
--
Gitblit v1.9.3