From 8f918cb6db02c39e67ce7b0d77cc1be5ed26edaf Mon Sep 17 00:00:00 2001
From: jiaosong <jiaosong6760@dingtalk.com>
Date: 星期五, 25 八月 2023 11:03:28 +0800
Subject: [PATCH] # 企业端用户

---
 server/src/main/java/doumeemes/biz/system/impl/SystemUserBizImpl.java |   37 ++++++++++++++++++++++++++-----------
 1 files changed, 26 insertions(+), 11 deletions(-)

diff --git a/server/src/main/java/doumeemes/biz/system/impl/SystemUserBizImpl.java b/server/src/main/java/doumeemes/biz/system/impl/SystemUserBizImpl.java
index 29f3f26..3b1a1a6 100644
--- a/server/src/main/java/doumeemes/biz/system/impl/SystemUserBizImpl.java
+++ b/server/src/main/java/doumeemes/biz/system/impl/SystemUserBizImpl.java
@@ -10,6 +10,7 @@
 import doumeemes.core.utils.DateUtil;
 import doumeemes.core.utils.Utils;
 import doumeemes.core.utils.excel.EasyExcelUtil;
+import doumeemes.dao.business.CompanyMapper;
 import doumeemes.dao.business.CompanyPositionMapper;
 import doumeemes.dao.business.dto.AutoLoginUserDTO;
 import doumeemes.dao.business.dto.CompanyInitDataDTO;
@@ -78,6 +79,9 @@
     private DepartmentExtService departmentExtService;
     @Autowired
     private CompanyUserExtMapper companyUserExtMapper;
+
+    @Autowired
+    private CompanyMapper companyMapper;
 
     @Override
     public void deleteById(Integer id) {
@@ -213,10 +217,13 @@
                 throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(), "瀵逛笉璧凤紝绗��"+index+"銆戣銆愭墜鏈哄彿銆戝憳宸ヨ处鍙峰凡缁忓瓨锛�");
             }
             cuu.setPhone(null);
-            cuu.setCode(p.getNo());
-            if(companyUserService.findOne(cuu) !=null){
-                throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(), "瀵逛笉璧凤紝绗��"+index+"銆戣銆愬伐鍙枫�戝凡缁忓瓨锛�");
+            if (StringUtils.isNotBlank(p.getNo())){
+                cuu.setCode(p.getNo());
+                if(companyUserService.findOne(cuu) !=null){
+                    throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(), "瀵逛笉璧凤紝绗��"+index+"銆戣銆愬伐鍙枫�戝凡缁忓瓨锛�");
+                }
             }
+
             SystemUser systemUser = new SystemUser();
             systemUser.setUsername(cu.getPhone());
             systemUser.setDeleted(Boolean.FALSE);
@@ -325,10 +332,12 @@
         cu.setDeleted(Constants.ZERO);
         cu.setCreateTime(date);
         cu.setCode("NO."+userParam.getPhone());
+        cu.setIsMaster(com.getIsNew());//鏄惁涓昏处鍙�
         cu.setPhoneAuthStatus(Constants.ZERO+"");
         cu.setQrcodeid(barcodeParamExtService.getByType(com.getId(),com.getRootDepartment().getId(),Constants.BARCODEPARAM_TYPE.user)+"");
         cu.setComDepartId(com.getRootDepartment().getId());
         cu.setDepartmentId(com.getRootDepartment().getId());
+        cu.setOrigin(userParam.getOrigin());
         if(userParam.getOrigin() == Constants.COMPANY_ORIGIN.lingyang){
             cu.setLingyangUserid(userParam.getUserId());
         }else if(userParam.getOrigin() == Constants.COMPANY_ORIGIN.edgp){
@@ -463,7 +472,6 @@
         if(srList!=null && srList.size()>0){
             List<SystemUserRole> urList = new ArrayList<>();
             for(SystemRole tr :srList){
-
                 SystemUserRole userRole = new SystemUserRole();
                 userRole.setUserId(cu.getUserId());
                 userRole.setDeleted(false);
@@ -473,7 +481,7 @@
                 userRole.setCreateTime(userRole.getInvalidTime());
                 userRole.setRemark("缇氱緤浼佷笟鐢熸垚鑷姩瀵煎叆");
                 urList.add(userRole);
-//                    systemUserRoleMapper.insert(userRole);
+//              systemUserRoleMapper.insert(userRole);
             }
             systemRoleMapper.insertRoleUserBatch(urList);
         }
@@ -542,10 +550,11 @@
             cu.setDeleted(Constants.ZERO);
             cu.setRootDepartId(loginUser.getRootDepartment().getId());
             //闄愬埗浜烘暟
-            int limitUserNum = Constants.formatIntegerNum(loginUser.getCompany().getOpenUserNum());
-            if(limitUserNum > 0){
+//            int limitUserNum = Constants.formatIntegerNum(loginUser.getCompany().getOpenUserNum());
+            Company company = companyMapper.selectById(loginUser.getCompany().getId());
+            if(company.getOpenUserNum() > 0){
                 //浜烘暟闄愬埗杈撳叆0锛岃〃绀轰笉闄愬埗浜烘暟
-                if(companyUserExtMapper.selectCount(new QueryWrapper<>(cu)) +1 > limitUserNum ){
+                if(companyUserExtMapper.selectCount(new QueryWrapper<>(cu)) +1 > company.getOpenUserNum() ){
                     throw  new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鐢ㄦ埛鏁伴噺瓒呰繃璐拱鏁伴噺锛岃鑱旂郴涓氬姟缁忕悊缁喘!");
                 }
             }
@@ -569,10 +578,14 @@
                     throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(), "鎵嬫満鍙峰凡瀛樺湪锛�");
                 }
             }
-            cu.setCode(systemUser.getEmpNo());
-            if(companyUserService.findOne(cu) !=null){
-                throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(), "宸ュ彿宸插瓨鍦�");
+            //瀛樺湪宸ュ彿闇�瑕佸敮涓�鍒ゆ柇
+            if (StringUtils.isNotBlank(systemUser.getEmpNo())){
+                cu.setCode(systemUser.getEmpNo());
+                if(companyUserService.findOne(cu) !=null){
+                    throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(), "宸ュ彿宸插瓨鍦�");
+                }
             }
+
             cu.setUserId(userId);
             cu.setComDepartId(loginUser.getComDepartment().getId());
             cu.setCreateUser(loginUser.getId());
@@ -688,6 +701,8 @@
                 if (codeUser != null && !codeUser.getId().equals(cu.getId())) {
                     throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(), "宸ュ彿宸插瓨鍦�");
                 }
+            }else if (StringUtils.isBlank(systemUser.getEmpNo())) {
+                u.setCode(systemUser.getEmpNo());
             }
             u.setId(cu.getId());
             u.setName(systemUser.getRealname());

--
Gitblit v1.9.3