From c58316993ee13c6f4dc727f9a052b6ba4e8fff7d Mon Sep 17 00:00:00 2001 From: jiangping <jp@doumee.com> Date: 星期四, 25 一月 2024 17:37:43 +0800 Subject: [PATCH] 开发业务接口 --- server/service/src/main/java/com/doumee/biz/system/impl/SystemUserBizImpl.java | 75 +++++++++++++++++++++---------------- 1 files changed, 43 insertions(+), 32 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..d108c33 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,5 +1,6 @@ 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.SystemUserBiz; import com.doumee.core.constants.ResponseStatus; @@ -7,6 +8,7 @@ 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 +16,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 +38,13 @@ @Autowired private SystemUserService systemUserService; + @Autowired + private SmsEmailMapper smsEmailMapper; @Autowired private CompanyService companyService; + @Value("${debug_model}") + private boolean debugModel; @Autowired private SystemUserRoleService systemUserRoleService; @@ -109,22 +117,29 @@ 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); + 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.setEmpNo(systemUser.getMobile()); user = systemUserService.findOne(queryUserDto); if (user != null) { - throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(), "宸ュ彿宸插瓨鍦�"); + throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(), "鎵嬫満鍙峰凡瀛樺湪"); } } // 鐢熸垚瀵嗙爜鐩� @@ -132,6 +147,10 @@ // 鐢熸垚瀵嗙爜 systemUser.setPassword(Utils.Secure.encryptPassword(systemUser.getPassword(), 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 +171,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 +190,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 +228,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