From 02bc3bfe47e3d5311a0bb041c94e70a34b1ca73c Mon Sep 17 00:00:00 2001 From: k94314517 <8417338+k94314517@user.noreply.gitee.com> Date: 星期二, 09 四月 2024 09:03:01 +0800 Subject: [PATCH] git ch --- 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