From dcdb0231034810232f2542f3865666ebf72daf11 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期三, 30 四月 2025 16:45:34 +0800
Subject: [PATCH] sf

---
 server/service/src/main/java/com/doumee/biz/system/impl/SystemUserBizImpl.java |   62 +++++++++++++++++++++----------
 1 files changed, 42 insertions(+), 20 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 9b726f4..446eac4 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
@@ -7,11 +7,13 @@
 import com.doumee.core.model.LoginUserInfo;
 import com.doumee.core.utils.Constants;
 import com.doumee.core.utils.Utils;
+import com.doumee.dao.business.model.Company;
 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;
 import com.doumee.dao.system.model.SystemUserRole;
+import com.doumee.service.business.CompanyService;
 import com.doumee.service.system.*;
 import org.apache.commons.lang3.RandomStringUtils;
 import org.apache.commons.lang3.StringUtils;
@@ -32,6 +34,9 @@
 
     @Autowired
     private SystemUserService systemUserService;
+
+    @Autowired
+    private CompanyService companyService;
 
     @Autowired
     private SystemUserRoleService systemUserRoleService;
@@ -107,9 +112,10 @@
         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(), "鐢ㄦ埛鍚嶅凡瀛樺湪");
+            throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(), "鐧诲綍璐﹀彿宸插瓨鍦�");
         }
         // 楠岃瘉宸ュ彿
        if (StringUtils.isNotBlank(systemUser.getEmpNo())) {
@@ -170,7 +176,7 @@
             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(), "鐧诲綍璐﹀彿宸插瓨鍦�");
             }
         }
 
@@ -236,8 +242,7 @@
         if(Objects.isNull(createCompanyUserDTO)
                 ||StringUtils.isBlank(createCompanyUserDTO.getUserName())
                 ||StringUtils.isBlank(createCompanyUserDTO.getRealName())
-                ||StringUtils.isBlank(createCompanyUserDTO.getPassword())
-                ||StringUtils.isBlank(createCompanyUserDTO.getMobile())){
+                ||StringUtils.isBlank(createCompanyUserDTO.getPassword()) ){
             throw new BusinessException(ResponseStatus.BAD_REQUEST);
         }
         LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
@@ -246,7 +251,19 @@
         queryUserDto.setDeleted(Boolean.FALSE);
         SystemUser user = systemUserService.findOne(queryUserDto);
         if (user != null) {
-            throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(), "鐢ㄦ埛鍚嶅凡瀛樺湪");
+            throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(), "鐧诲綍璐﹀彿宸插瓨鍦�");
+        }
+        if(createCompanyUserDTO.getType().equals(Constants.UserType.ZHUBO.getKey())){
+            Company company = companyService.findById(loginUserInfo.getCompanyId());
+            SystemUser zbUserNum = new SystemUser();
+            zbUserNum.setCompanyId(loginUserInfo.getCompanyId());
+            zbUserNum.setDeleted(Boolean.FALSE);
+            zbUserNum.setType(Constants.UserType.ZHUBO.getKey());
+            if(!Objects.isNull(company.getUserNum())&&company.getUserNum()!=Constants.ZERO){
+                if(systemUserService.findList(zbUserNum).size()>=company.getUserNum()){
+                    throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝宸茶秴鍑轰紒涓氬彲鍒嗛厤涓绘挱鏁伴噺锛屽鏈夌枒闂鑱旂郴绯荤粺绠$悊鍛橈紒");
+                }
+            }
         }
         SystemUser systemUser  = new SystemUser();
         BeanUtils.copyProperties(createCompanyUserDTO,systemUser);
@@ -259,7 +276,7 @@
         systemUser.setPassword(Utils.Secure.encryptPassword(systemUser.getPassword(), salt));
         systemUser.setSalt(salt);
         Integer userId = systemUserService.create(systemUser);
-        if(systemUser.getType().equals(Constants.UserType.COMPANY)){
+        if(systemUser.getType().equals(Constants.UserType.COMPANY.getKey())){
             SystemUserRole newUserRole = new SystemUserRole();
             newUserRole.setUserId(userId);
             newUserRole.setRoleId(createCompanyUserDTO.getRoleId());
@@ -271,25 +288,18 @@
     @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())){
+                ||Objects.isNull(updCreateCompanyUserDTO.getId())
+                ||StringUtils.isBlank(updCreateCompanyUserDTO.getRealName())){
             throw new BusinessException(ResponseStatus.BAD_REQUEST);
         }
-        SystemUser systemUser  = systemUserService.findById(updCreateCompanyUserDTO.getUserId());
+        SystemUser systemUser  = systemUserService.findById(updCreateCompanyUserDTO.getId());
         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);
+        systemUser.setMobile(updCreateCompanyUserDTO.getMobile());
         systemUserService.updateById(systemUser);
-        if(systemUser.getType().equals(Constants.UserType.COMPANY)){
+        if(systemUser.getType().equals(Constants.UserType.COMPANY.getKey())){
             // 鍒犻櫎鍏宠仈瑙掕壊
             SystemUserRole deleteDto = new SystemUserRole();
             deleteDto.setUserId(systemUser.getId());
@@ -304,13 +314,25 @@
 
     @Override
     @Transactional(rollbackFor = {Exception.class,BusinessException.class})
+    public void updUserStatus(Integer id,Integer status) {
+
+        SystemUser systemUser  = systemUserService.findById(id);
+        if(Objects.isNull(systemUser)){
+            throw new BusinessException(ResponseStatus.DATA_EMPTY);
+        }
+        systemUser.setStatus(status);
+        systemUserService.updateById(systemUser);
+    }
+
+    @Override
+    @Transactional(rollbackFor = {Exception.class,BusinessException.class})
     public void updPassword(CreateCompanyUserDTO updCreateCompanyUserDTO) {
         if(Objects.isNull(updCreateCompanyUserDTO)
-                ||Objects.isNull(updCreateCompanyUserDTO.getUserId())
+                ||Objects.isNull(updCreateCompanyUserDTO.getId())
                 ||StringUtils.isBlank(updCreateCompanyUserDTO.getPassword())){
             throw new BusinessException(ResponseStatus.BAD_REQUEST);
         }
-        SystemUser systemUser  = systemUserService.findById(updCreateCompanyUserDTO.getUserId());
+        SystemUser systemUser  = systemUserService.findById(updCreateCompanyUserDTO.getId());
         if(Objects.isNull(systemUser)){
             throw new BusinessException(ResponseStatus.DATA_EMPTY);
         }

--
Gitblit v1.9.3