From 45ab609a4bfee635162b8947380c858964c9be74 Mon Sep 17 00:00:00 2001 From: k94314517 <8417338+k94314517@user.noreply.gitee.com> Date: 星期四, 14 九月 2023 16:48:35 +0800 Subject: [PATCH] 基础字段 --- server/service/src/main/java/com/doumee/biz/system/impl/SystemUserBizImpl.java | 102 +++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 98 insertions(+), 4 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 49c8cce..9b726f4 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 @@ -4,11 +4,10 @@ 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.system.dto.CreateSystemUserDTO; -import com.doumee.dao.system.dto.CreateUserRoleDTO; -import com.doumee.dao.system.dto.ResetSystemUserPwdDTO; -import com.doumee.dao.system.dto.UpdatePwdDto; +import com.doumee.dao.system.dto.*; import com.doumee.dao.system.model.SystemDepartment; import com.doumee.dao.system.model.SystemDepartmentUser; import com.doumee.dao.system.model.SystemUser; @@ -16,6 +15,8 @@ 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.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -24,6 +25,7 @@ import java.util.Date; import java.util.List; import java.util.Map; +import java.util.Objects; @Service public class SystemUserBizImpl implements SystemUserBiz { @@ -228,6 +230,98 @@ } } + @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()) + ||StringUtils.isBlank(createCompanyUserDTO.getMobile())){ + 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(), "鐢ㄦ埛鍚嶅凡瀛樺湪"); + } + 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)){ + 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.getUserId()) + ||StringUtils.isBlank(updCreateCompanyUserDTO.getRealName()) + ||StringUtils.isBlank(updCreateCompanyUserDTO.getMobile())){ + throw new BusinessException(ResponseStatus.BAD_REQUEST); + } + SystemUser systemUser = systemUserService.findById(updCreateCompanyUserDTO.getUserId()); + if(Objects.isNull(systemUser)){ + throw new BusinessException(ResponseStatus.DATA_EMPTY); + } + systemUser.setRealname(updCreateCompanyUserDTO.getRealName()); + systemUser.setMobile(systemUser.getMobile()); + + // 鐢熸垚瀵嗙爜鐩� +// String salt = RandomStringUtils.randomAlphabetic(6); +// // 鐢熸垚瀵嗙爜 +// systemUser.setPassword(Utils.Secure.encryptPassword(systemUser.getPassword(), salt)); +// systemUser.setSalt(salt); + systemUserService.updateById(systemUser); + if(systemUser.getType().equals(Constants.UserType.COMPANY)){ + // 鍒犻櫎鍏宠仈瑙掕壊 + 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); + } + } + + + @Override + @Transactional(rollbackFor = {Exception.class,BusinessException.class}) + public void updPassword(CreateCompanyUserDTO updCreateCompanyUserDTO) { + if(Objects.isNull(updCreateCompanyUserDTO) + ||Objects.isNull(updCreateCompanyUserDTO.getUserId()) + ||StringUtils.isBlank(updCreateCompanyUserDTO.getPassword())){ + throw new BusinessException(ResponseStatus.BAD_REQUEST); + } + SystemUser systemUser = systemUserService.findById(updCreateCompanyUserDTO.getUserId()); + if(Objects.isNull(systemUser)){ + throw new BusinessException(ResponseStatus.DATA_EMPTY); + } + // 鐢熸垚瀵嗙爜鐩� + String salt = RandomStringUtils.randomAlphabetic(6); + // 鐢熸垚瀵嗙爜 + systemUser.setPassword(Utils.Secure.encryptPassword(updCreateCompanyUserDTO.getPassword(), salt)); + systemUser.setSalt(salt); + systemUserService.updateById(systemUser); + } + private <K,V> K getKey(Map<K,V> map,V v){ -- Gitblit v1.9.3