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