From 5dacdee9b54c78372b68140e2b068d03a620eab9 Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期三, 02 七月 2025 19:00:52 +0800
Subject: [PATCH] 修改bug

---
 ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/system/UserMgrController.java |  132 ++++++++++++++++++++++++-------------------
 1 files changed, 74 insertions(+), 58 deletions(-)

diff --git a/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/system/UserMgrController.java b/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/system/UserMgrController.java
index 91ccac7..55cb4af 100644
--- a/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/system/UserMgrController.java
+++ b/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/system/UserMgrController.java
@@ -28,6 +28,7 @@
 import com.stylefeng.guns.modular.system.service.IUserService;
 import com.stylefeng.guns.modular.system.transfer.UserDto;
 import com.stylefeng.guns.modular.system.util.qianyuntong.EmployeeUtil;
+import com.stylefeng.guns.modular.system.util.qianyuntong.UserUtil;
 import com.stylefeng.guns.modular.system.util.qianyuntong.model.*;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
@@ -36,10 +37,12 @@
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
 
+import javax.annotation.Resource;
 import javax.naming.NoPermissionException;
 import javax.validation.Valid;
 import java.io.File;
 import java.util.Date;
+import java.util.List;
 import java.util.Map;
 import java.util.UUID;
 
@@ -66,6 +69,8 @@
     
     @Autowired
     private ITCompanyService companyService;
+    @Resource
+    private ShiroExtUtil shiroExtUtil;
     
     
     /**
@@ -119,7 +124,7 @@
      */
     @RequestMapping("/user_info")
     public String userInfo(Model model) {
-	    Integer userId = ShiroExtUtil.getUser().getId();
+        Integer userId = shiroExtUtil.getUser().getId();
         if (ToolUtil.isEmpty(userId)) {
             throw new GunsException(BizExceptionEnum.REQUEST_NULL);
         }
@@ -148,8 +153,8 @@
         if (!newPwd.equals(rePwd)) {
             throw new GunsException(BizExceptionEnum.TWO_PWD_NOT_MATCH);
         }
-	    Integer userId = ShiroExtUtil.getUser().getId();
-	    User user = userService.selectById(userId);
+        Integer userId = shiroExtUtil.getUser().getId();
+        User user = userService.selectById(userId);
         String oldMd5 = ShiroKit.md5(oldPwd, user.getSalt());
         if (user.getPassword().equals(oldMd5)) {
             String newMd5 = ShiroKit.md5(newPwd, user.getSalt());
@@ -170,20 +175,20 @@
         //创建日期
         String beginTime = null;
         String endTime = null;
-	    if (SinataUtil.isNotEmpty(createTime)) {
-		    String[] timeArray = createTime.split(" - ");
-		    beginTime = timeArray[0];
-		    endTime = timeArray[1];
-	    }
-	    if (ShiroExtUtil.getUser().isAdmin()) {
-		    Page<Map<String, Object>> page = new PageFactory<Map<String, Object>>().defaultPage();
-		    page.setRecords(userService.getUserListPage(page, null, name, beginTime, endTime, deptid));
-		    return super.packForBT(page);
-	    } else {
-		    Page<Map<String, Object>> page = new PageFactory<Map<String, Object>>().defaultPage();
-		    page.setRecords(userService.getUserListPage(page, null, name, beginTime, endTime, deptid));
-		    return super.packForBT(page);
-	    }
+        if (SinataUtil.isNotEmpty(createTime)) {
+            String[] timeArray = createTime.split(" - ");
+            beginTime = timeArray[0];
+            endTime = timeArray[1];
+        }
+        if (shiroExtUtil.getUser().isAdmin()) {
+            Page<Map<String, Object>> page = new PageFactory<Map<String, Object>>().defaultPage();
+            page.setRecords(userService.getUserListPage(page, null, name, beginTime, endTime, deptid));
+            return super.packForBT(page);
+        } else {
+            Page<Map<String, Object>> page = new PageFactory<Map<String, Object>>().defaultPage();
+            page.setRecords(userService.getUserListPage(page, null, name, beginTime, endTime, deptid));
+            return super.packForBT(page);
+        }
     }
 
     /**
@@ -202,24 +207,30 @@
         if (theUser != null) {
             throw new GunsException(BizExceptionEnum.USER_ALREADY_REG);
         }
-        ShiroUser user1 = ShiroExtUtil.getUser();
+        ShiroUser user1 = shiroExtUtil.getUser();
         User user2 = userService.selectById(user1.getId());
         TCompany tCompany = companyService.selectById(user2.getObjectId());
-        SaveStaffNodeRequest request1 = new SaveStaffNodeRequest();
-        request1.setMobile(user2.getPhone());
-        request1.setEntercode(tCompany.getEnterCode());
-        request1.setEmpName(user.getName());
-        request1.setEmpNickname(user.getName());
-        request1.setLoginNo(user.getAccount());
-        request1.setEmpSex(user.getSex() == 1 ? "男" : "女");
-        request1.setMphone(user.getPhone());
-        request1.setEmail(user.getPhone() + "@qyt.com");
-        request1.setDeptId(0);
-        request1.setPositionId(1);
-        request1.setSuperLevel(0);
-        request1.setHideMobile(0);
-        SaveStaffNode saveStaffNode = EmployeeUtil.saveStaffNode(request1);
-        Long empId = saveStaffNode.getEmpId();
+        List<QYTUserInfo> userInfoByPhone = UserUtil.getUserInfoByPhone(user.getPhone(), tCompany.getEnterCode());
+        Long empId = null;
+        if(null == userInfoByPhone || userInfoByPhone.size() == 0){
+            SaveStaffNodeRequest request1 = new SaveStaffNodeRequest();
+            request1.setMobile(tCompany.getPrincipalPhone());
+            request1.setEntercode(tCompany.getEnterCode());
+            request1.setEmpName(user.getName());
+            request1.setEmpNickname(user.getName());
+            request1.setLoginNo(user.getAccount());
+            request1.setEmpSex(user.getSex() == 1 ? "男" : "女");
+            request1.setMphone(user.getPhone());
+            request1.setEmail(user.getPhone() + "@qyt.com");
+            request1.setDeptId(0);
+            request1.setPositionId(1);
+            request1.setSuperLevel(0);
+            request1.setHideMobile(0);
+            SaveStaffNode saveStaffNode = EmployeeUtil.saveStaffNode(request1);
+            empId = saveStaffNode.getEmpId();
+        }else{
+            empId = userInfoByPhone.get(0).getEmpId();
+        }
     
         // 完善账号信息
         user.setSalt(ShiroKit.getRandomSalt(5));
@@ -250,36 +261,41 @@
             throw new GunsException(BizExceptionEnum.REQUEST_NULL);
         }
         User oldUser = userService.selectById(user.getId());
-        ShiroUser user1 = ShiroExtUtil.getUser();
+        ShiroUser user1 = shiroExtUtil.getUser();
         User user2 = userService.selectById(user1.getId());
         TCompany tCompany = companyService.selectById(user2.getObjectId());
         //调用中台接口
         GetStaffNodeRequest request = new GetStaffNodeRequest();
         request.setEmpId(oldUser.getEmpId());
-        request.setMobile(user2.getPhone());
+        request.setMobile(tCompany.getPrincipalPhone());
         request.setEntercode(tCompany.getEnterCode());
         StaffNodeInfo staffNode = EmployeeUtil.getStaffNode(request);
         Long empId = null;
         if (null == staffNode || "0".equals(staffNode.getIsValid())) {
-            SaveStaffNodeRequest request1 = new SaveStaffNodeRequest();
-            request1.setMobile(user2.getPhone());
-            request1.setEntercode(tCompany.getEnterCode());
-            request1.setEmpName(user.getName());
-            request1.setEmpNickname(user.getName());
-            request1.setLoginNo(user.getAccount());
-            request1.setEmpSex(user.getSex() == 1 ? "男" : "女");
-            request1.setMphone(user.getPhone());
-            request1.setEmail(user.getPhone() + "@qyt.com");
-            request1.setDeptId(0);
-            request1.setPositionId(1);
-            request1.setSuperLevel(0);
-            request1.setHideMobile(0);
-            SaveStaffNode saveStaffNode = EmployeeUtil.saveStaffNode(request1);
-            empId = saveStaffNode.getEmpId();
+            List<QYTUserInfo> userInfoByPhone = UserUtil.getUserInfoByPhone(user.getPhone(), tCompany.getEnterCode());
+            if(null == userInfoByPhone || userInfoByPhone.size() == 0){
+                SaveStaffNodeRequest request1 = new SaveStaffNodeRequest();
+                request1.setMobile(tCompany.getPrincipalPhone());
+                request1.setEntercode(tCompany.getEnterCode());
+                request1.setEmpName(user.getName());
+                request1.setEmpNickname(user.getName());
+                request1.setLoginNo(user.getAccount());
+                request1.setEmpSex(user.getSex() == 1 ? "男" : "女");
+                request1.setMphone(user.getPhone());
+                request1.setEmail(user.getPhone() + "@qyt.com");
+                request1.setDeptId(0);
+                request1.setPositionId(1);
+                request1.setSuperLevel(0);
+                request1.setHideMobile(0);
+                SaveStaffNode saveStaffNode = EmployeeUtil.saveStaffNode(request1);
+                empId = saveStaffNode.getEmpId();
+            }else{
+                empId = userInfoByPhone.get(0).getEmpId();
+            }
         } else {
             EditStaffNodeRequest request1 = new EditStaffNodeRequest();
             request1.setEmpId(staffNode.getEmpId());
-	        request1.setMobile(user2.getPhone());
+	        request1.setMobile(tCompany.getPrincipalPhone());
             request1.setEntercode(tCompany.getEnterCode());
             request1.setEnterId(Long.valueOf(tCompany.getEnterCode()));
             request1.setEmpName(user.getName());
@@ -292,8 +308,8 @@
 	        request1.setPositionId(1);
             request1.setSuperLevel(0);
             request1.setHideMobile(0);
-	        EmployeeUtil.editStaffNode(request1);
-	        empId = staffNode.getEmpId();
+            EmployeeUtil.editStaffNode(request1);
+            empId = staffNode.getEmpId();
         }
         oldUser.setEmpId(empId);
         oldUser.setEntercode(tCompany.getEnterCode());
@@ -302,11 +318,11 @@
         user.setEntercode(tCompany.getEnterCode());
         user.setEnterId(Long.valueOf(tCompany.getEnterCode()));
     
-        if (ShiroExtUtil.getUser().isAdmin) {
+        if (shiroExtUtil.getUser().isAdmin) {
             this.userService.updateById(UserFactory.editUser(user, oldUser));
             return SUCCESS_TIP;
         } else {
-            ShiroUser shiroUser = ShiroExtUtil.getUser();
+            ShiroUser shiroUser = shiroExtUtil.getUser();
             if (shiroUser.getId().equals(user.getId())) {
                 this.userService.updateById(UserFactory.editUser(user, oldUser));
                 return SUCCESS_TIP;
@@ -331,19 +347,19 @@
             throw new GunsException(BizExceptionEnum.CANT_DELETE_ADMIN);
         }
         User user = userService.selectById(userId);
-        ShiroUser user1 = ShiroExtUtil.getUser();
+        ShiroUser user1 = shiroExtUtil.getUser();
         User user2 = userService.selectById(user1.getId());
         TCompany tCompany = companyService.selectById(user2.getObjectId());
         //调用中台接口
         GetStaffNodeRequest request = new GetStaffNodeRequest();
         request.setEmpId(user.getEmpId());
-        request.setMobile(user2.getPhone());
+        request.setMobile(tCompany.getPrincipalPhone());
         request.setEntercode(tCompany.getEnterCode());
         StaffNodeInfo staffNode = EmployeeUtil.getStaffNode(request);
         if (null != staffNode && "1".equals(staffNode.getIsValid())) {
             DeleteStafNodeRequest request1 = new DeleteStafNodeRequest();
             request1.setEmpId(user.getEnterId());
-            request1.setMobile(user2.getPhone());
+            request1.setMobile(tCompany.getPrincipalPhone());
             request1.setEntercode(tCompany.getEnterCode());
             EmployeeUtil.ecrmDeleteStafNode(request1);
         }

--
Gitblit v1.7.1