From 91fcd48801ad1120651027824f7a60a14deadf87 Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期二, 08 七月 2025 19:21:21 +0800
Subject: [PATCH] 修改三方对接逻辑和环境参数配置

---
 ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/system/UserMgrController.java |  117 ++++++++++++++++++++++++++--------------------------------
 1 files changed, 52 insertions(+), 65 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 9c420d5..c9bdc7e 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
@@ -3,6 +3,7 @@
 import com.baomidou.mybatisplus.plugins.Page;
 import com.stylefeng.guns.config.properties.GunsProperties;
 import com.stylefeng.guns.core.base.controller.BaseController;
+import com.stylefeng.guns.core.base.tips.ErrorTip;
 import com.stylefeng.guns.core.base.tips.Tip;
 import com.stylefeng.guns.core.beetl.ShiroExtUtil;
 import com.stylefeng.guns.core.common.annotion.BussinessLog;
@@ -27,9 +28,13 @@
 import com.stylefeng.guns.modular.system.service.ITDriverService;
 import com.stylefeng.guns.modular.system.service.IUserService;
 import com.stylefeng.guns.modular.system.transfer.UserDto;
+import com.stylefeng.guns.modular.system.util.ResultUtil;
 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 com.stylefeng.guns.modular.system.util.qianyuntong.model.DeleteStafNodeRequest;
+import com.stylefeng.guns.modular.system.util.qianyuntong.model.QYTUserInfo;
+import com.stylefeng.guns.modular.system.util.qianyuntong.model.SaveStaffNode;
+import com.stylefeng.guns.modular.system.util.qianyuntong.model.SaveStaffNodeRequest;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
 import org.springframework.ui.Model;
@@ -37,7 +42,6 @@
 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;
@@ -69,7 +73,7 @@
     
     @Autowired
     private ITCompanyService companyService;
-    @Resource
+    @Autowired
     private ShiroExtUtil shiroExtUtil;
     
     
@@ -207,9 +211,10 @@
         TCompany tCompany = companyService.selectById(user2.getObjectId());
         List<QYTUserInfo> userInfoByPhone = UserUtil.getUserInfoByPhone(user.getPhone(), tCompany.getEnterCode());
         Long empId = null;
+        Integer empnew = null;
         if(null == userInfoByPhone || userInfoByPhone.size() == 0){
             SaveStaffNodeRequest request1 = new SaveStaffNodeRequest();
-            request1.setMobile(tCompany.getPrincipalPhone());
+            request1.setMobile(user2.getPhone());
             request1.setEntercode(tCompany.getEnterCode());
             request1.setEmpName(user.getName());
             request1.setEmpNickname(user.getName());
@@ -221,10 +226,16 @@
             request1.setPositionId(1);
             request1.setSuperLevel(0);
             request1.setHideMobile(0);
-            SaveStaffNode saveStaffNode = EmployeeUtil.saveStaffNode(request1);
+            ResultUtil<SaveStaffNode> resultUtil = EmployeeUtil.saveStaffNode(request1);
+            if(200 != resultUtil.getStatus()){
+                return new ErrorTip(resultUtil.getStatus(), resultUtil.getMsg());
+            }
+            SaveStaffNode saveStaffNode = resultUtil.getData();
             empId = saveStaffNode.getEmpId();
+            empnew = 1;
         }else{
             empId = userInfoByPhone.get(0).getEmpId();
+            empnew = 0;
         }
     
         // 完善账号信息
@@ -238,6 +249,7 @@
     
         User objectUser = UserFactory.createUser(user);
         objectUser.setObjectId(user1.getObjectId());
+        objectUser.setEmpnew(empnew);
         this.userService.insert(objectUser);
     
         return SUCCESS_TIP;
@@ -260,71 +272,44 @@
         User user2 = userService.selectById(user1.getId());
         TCompany tCompany = companyService.selectById(user2.getObjectId());
         //调用中台接口
-        GetStaffNodeRequest request = new GetStaffNodeRequest();
-        request.setEmpId(oldUser.getEmpId());
-        request.setMobile(tCompany.getPrincipalPhone());
-        request.setEntercode(tCompany.getEnterCode());
-        StaffNodeInfo staffNode = EmployeeUtil.getStaffNode(request);
         Long empId = null;
-        if (null == staffNode || "0".equals(staffNode.getIsValid())) {
-            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(tCompany.getPrincipalPhone());
+        Integer empnew = null;
+        List<QYTUserInfo> userInfoByPhone = UserUtil.getUserInfoByPhone(oldUser.getPhone(), tCompany.getEnterCode());
+        if(null == userInfoByPhone || userInfoByPhone.size() == 0){
+            SaveStaffNodeRequest request1 = new SaveStaffNodeRequest();
+            request1.setMobile(user2.getPhone());
             request1.setEntercode(tCompany.getEnterCode());
-            request1.setEnterId(Long.valueOf(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.setDeptIds(staffNode.getDeptId() + "");
-	        request1.setPositionId(1);
+            request1.setEmail(user.getPhone() + "@qyt.com");
+            request1.setDeptId(0);
+            request1.setPositionId(1);
             request1.setSuperLevel(0);
             request1.setHideMobile(0);
-            EmployeeUtil.editStaffNode(request1);
-            empId = staffNode.getEmpId();
+            ResultUtil<SaveStaffNode> resultUtil = EmployeeUtil.saveStaffNode(request1);
+            if(200 != resultUtil.getStatus()){
+                return new ErrorTip(resultUtil.getStatus(), resultUtil.getMsg());
+            }
+            SaveStaffNode saveStaffNode = resultUtil.getData();
+            empId = saveStaffNode.getEmpId();
+            empnew = 1;
+        }else{
+            empId = userInfoByPhone.get(0).getEmpId();
+            empnew = 0;
         }
         oldUser.setEmpId(empId);
         oldUser.setEntercode(tCompany.getEnterCode());
         oldUser.setEnterId(Long.valueOf(tCompany.getEnterCode()));
+        oldUser.setEmpnew(empnew);
         user.setEmpId(empId);
         user.setEntercode(tCompany.getEnterCode());
         user.setEnterId(Long.valueOf(tCompany.getEnterCode()));
-    
-        if (shiroExtUtil.getUser().isAdmin) {
-            this.userService.updateById(UserFactory.editUser(user, oldUser));
-            return SUCCESS_TIP;
-        } else {
-            ShiroUser shiroUser = shiroExtUtil.getUser();
-            if (shiroUser.getId().equals(user.getId())) {
-                this.userService.updateById(UserFactory.editUser(user, oldUser));
-                return SUCCESS_TIP;
-            } else {
-                throw new GunsException(BizExceptionEnum.NO_PERMITION);
-            }
-        }
+        user.setEmpnew(empnew);
+        this.userService.updateById(UserFactory.editUser(user, oldUser));
+        return SUCCESS_TIP;
     }
 
     /**
@@ -346,18 +331,20 @@
         User user2 = userService.selectById(user1.getId());
         TCompany tCompany = companyService.selectById(user2.getObjectId());
         //调用中台接口
-        GetStaffNodeRequest request = new GetStaffNodeRequest();
-        request.setEmpId(user.getEmpId());
-        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(tCompany.getPrincipalPhone());
-            request1.setEntercode(tCompany.getEnterCode());
-            EmployeeUtil.ecrmDeleteStafNode(request1);
+        if(1 == user.getEmpnew()){
+            List<QYTUserInfo> userInfoByPhone = UserUtil.getUserInfoByPhone(user.getPhone(), tCompany.getEnterCode());
+            if (null != userInfoByPhone && 0 < userInfoByPhone.size() && 1 == user.getEmpnew()) {
+                DeleteStafNodeRequest request1 = new DeleteStafNodeRequest();
+                request1.setEmpId(user.getEnterId());
+                request1.setMobile(tCompany.getPrincipalPhone());
+                request1.setEntercode(tCompany.getEnterCode());
+                ResultUtil resultUtil = EmployeeUtil.ecrmDeleteStafNode(request1);
+                if(200 != resultUtil.getStatus()){
+                    return new ErrorTip(resultUtil.getStatus(), resultUtil.getMsg());
+                }
+            }
         }
+        //不删除中台数据,需要线下删除
         this.userService.setStatus(userId, ManagerStatus.DELETED.getCode());
         return SUCCESS_TIP;
     }

--
Gitblit v1.7.1