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/general/TCompanyController.java |  204 ++++++++++++++++++++-------------------------------
 1 files changed, 80 insertions(+), 124 deletions(-)

diff --git a/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TCompanyController.java b/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TCompanyController.java
index 3649bc4..49a83a2 100644
--- a/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TCompanyController.java
+++ b/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TCompanyController.java
@@ -6,6 +6,7 @@
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.baomidou.mybatisplus.plugins.Page;
 import com.stylefeng.guns.core.base.controller.BaseController;
+import com.stylefeng.guns.core.base.tips.ErrorTip;
 import com.stylefeng.guns.core.beetl.ShiroExtUtil;
 import com.stylefeng.guns.core.common.constant.factory.PageFactory;
 import com.stylefeng.guns.core.log.LogObjectHolder;
@@ -16,6 +17,7 @@
 import com.stylefeng.guns.modular.system.model.*;
 import com.stylefeng.guns.modular.system.service.*;
 import com.stylefeng.guns.modular.system.util.PushMinistryOfTransportUtil;
+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.EnterpriseUtil;
 import com.stylefeng.guns.modular.system.util.qianyuntong.UserUtil;
@@ -29,7 +31,6 @@
 import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.ResponseBody;
 
-import javax.annotation.Resource;
 import java.util.*;
 
 /**
@@ -64,7 +65,7 @@
 	
 	@Autowired
 	private ISpellOrderRuleService spellOrderRuleService;
-	@Resource
+	@Autowired
 	private ShiroExtUtil shiroExtUtil;
 	
 	@Value("${pushMinistryOfTransport}")
@@ -340,58 +341,65 @@
 	    //调用中台接口创建企业
 	    CheckEnterExist checkEnterExist = EnterpriseUtil.checkEnterNameExist(tCompany.getName());
 	    String enterCode = "";
+		Integer enterNew = null;
 		Long empId = null;
-	    String principalName = tCompany.getPrincipalName();
-	    String principalPhone = tCompany.getPrincipalPhone();
-	
+	    Integer empnew = null;
+	    ShiroUser user1 = shiroExtUtil.getUser();
+	    User user2 = userService.selectById(user1.getId());
 	    //企业未注册,进行注册
 	    if (null == checkEnterExist || "0".equals(checkEnterExist.getIsReg())) {
 		    CreateEnterpriseRequest request = new CreateEnterpriseRequest();
 		    request.setName(tCompany.getName());
 		    request.setNickName(tCompany.getName());
 		    request.setIndustry_code("123456");
-		    request.setMobile(principalPhone);
+		    request.setMobile(account);
 		    CreateEnterprise enterprise = EnterpriseUtil.createEnterprise(request);
 		    enterCode = enterprise.getIdCode();
-		    List<QYTUserInfo> userInfoByPhone = UserUtil.getUserInfoByPhone(principalPhone, enterCode);
+		    enterNew = 1;
+		    List<QYTUserInfo> userInfoByPhone = UserUtil.getUserInfoByPhone(account, enterCode);
 		    if(null != userInfoByPhone && userInfoByPhone.size() > 0){
 			    empId = userInfoByPhone.get(0).getEmpId();
+			    empnew = 0;
 		    }else{
 			    empId = 0L;
+			    empnew = 1;
 		    }
 	    }
 	    //企业已注册
 	    if (null != checkEnterExist && "1".equals(checkEnterExist.getIsReg())) {
-		    String larName = checkEnterExist.getLarName();
-		    String mobile = checkEnterExist.getMobile();
 		    enterCode = checkEnterExist.getEnterCode();
-		    if(!mobile.equals(principalPhone)){
+		    enterNew = 0;
+		    List<QYTUserInfo> userInfoByPhone = UserUtil.getUserInfoByPhone(account, enterCode);
+		    if(null == userInfoByPhone ||userInfoByPhone.size() == 0){
 				//负责人不匹配,则创建新的员工到中台
 			    SaveStaffNodeRequest request = new SaveStaffNodeRequest();
-			    request.setMobile(mobile);
+			    request.setMobile(user2.getPhone());
 			    request.setEntercode(enterCode);
-			    request.setEmpName(principalName);
-			    request.setEmpNickname(principalName);
-			    request.setLoginNo(principalPhone);
-			    request.setEmpSex("女");
-			    request.setMphone(principalPhone);
-			    request.setEmail(principalPhone + "@qyt.com");
+			    request.setEmpName(tCompany.getName() + "管理员");
+			    request.setEmpNickname(tCompany.getName() + "管理员");
+			    request.setLoginNo(account);
+			    request.setEmpSex("男");
+			    request.setMphone(account);
+			    request.setEmail(account + "@qyt.com");
 			    request.setDeptId(0);
 			    request.setPositionId(1);
 			    request.setSuperLevel(0);
 			    request.setHideMobile(0);
-			    SaveStaffNode saveStaffNode = EmployeeUtil.saveStaffNode(request);
+			    ResultUtil<SaveStaffNode> resultUtil = EmployeeUtil.saveStaffNode(request);
+			    if(200 != resultUtil.getStatus()){
+				    return new ErrorTip(resultUtil.getStatus(), resultUtil.getMsg());
+			    }
+			    SaveStaffNode saveStaffNode = resultUtil.getData();
 			    empId = saveStaffNode.getEmpId();
-				
+			    empnew = 1;
 		    }else{
-			    List<QYTUserInfo> userInfoByPhone = UserUtil.getUserInfoByPhone(mobile, enterCode);
 			    empId = userInfoByPhone.get(0).getEmpId();
+			    empnew = 0;
 		    }
-		    tCompany.setPrincipalName(larName);
-		    tCompany.setPrincipalPhone(mobile);
 	    }
 	
 	    tCompany.setEnterCode(enterCode);
+	    tCompany.setEnterNew(enterNew);
 	    tCompany.setType(2);  //2:分公司
 	    tCompany.setState(0); //0:正常
 	    tCompany.setFlag("1");
@@ -405,7 +413,7 @@
 	
 	    //添加User对象
 	    User user = new User();
-	    user.setAccount(principalPhone);
+	    user.setAccount(account);
 	    user.setSalt(ShiroKit.getRandomSalt(5));
 	    user.setPassword(ShiroKit.md5(password, user.getSalt()));
 	    user.setRoleid("2");
@@ -419,6 +427,7 @@
 	    user.setEmpId(empId);
 	    user.setEntercode(enterCode);
 	    user.setEnterId(Long.valueOf(enterCode));
+	    user.setEmpnew(empnew);
 	    userService.insert(user);
 		//编写异步延迟处理中台账号延迟创建的问题
 	    if(0 == empId){
@@ -427,7 +436,7 @@
 		    timer.schedule(new TimerTask() {
 			    @Override
 			    public void run() {
-				    List<QYTUserInfo> userInfoByPhone = UserUtil.getUserInfoByPhone(principalPhone, finalEnterCode);
+				    List<QYTUserInfo> userInfoByPhone = UserUtil.getUserInfoByPhone(account, finalEnterCode);
 				    if(null != userInfoByPhone && userInfoByPhone.size() > 0){
 					    Long empId1 = userInfoByPhone.get(0).getEmpId();
 					    user.setEmpId(empId1);
@@ -491,8 +500,10 @@
 	    CheckEnterExist checkEnterExist = EnterpriseUtil.checkEnterNameExist(tCompany.getName());
 	    String enterCode = "";
 	    Long empId = null;
-	    String principalName = tCompany.getPrincipalName();
-	    String principalPhone = tCompany.getPrincipalPhone();
+	    Integer empnew = null;
+	    Integer enterNew = null;
+	    ShiroUser user1 = shiroExtUtil.getUser();
+	    User user2 = userService.selectById(user1.getId());
 	
 	    //企业未注册,进行注册
 	    if (null == checkEnterExist || "0".equals(checkEnterExist.getIsReg())) {
@@ -500,48 +511,53 @@
 		    request.setName(tCompany.getName());
 		    request.setNickName(tCompany.getName());
 		    request.setIndustry_code("123456");
-		    request.setMobile(principalPhone);
+		    request.setMobile(account);
 		    CreateEnterprise enterprise = EnterpriseUtil.createEnterprise(request);
 		    enterCode = enterprise.getIdCode();
-		    List<QYTUserInfo> userInfoByPhone = UserUtil.getUserInfoByPhone(principalPhone, enterCode);
+		    enterNew = 1;
+		    List<QYTUserInfo> userInfoByPhone = UserUtil.getUserInfoByPhone(account, enterCode);
 		    if(null != userInfoByPhone && userInfoByPhone.size() > 0){
 			    empId = userInfoByPhone.get(0).getEmpId();
+			    empnew = 0;
 		    }else{
 			    empId = 0L;
+			    empnew = 1;
 		    }
 	    }
 	    //企业已注册
 	    if (null != checkEnterExist && "1".equals(checkEnterExist.getIsReg())) {
-		    String larName = checkEnterExist.getLarName();
-		    String mobile = checkEnterExist.getMobile();
+		    List<QYTUserInfo> userInfoByPhone = UserUtil.getUserInfoByPhone(account, enterCode);
 		    enterCode = checkEnterExist.getEnterCode();
-		    if(!mobile.equals(principalPhone)){
-			    //负责人不匹配,则创建新的员工到中台
+		    enterNew = 0;
+		    if(null == userInfoByPhone || userInfoByPhone.size() == 0){
 			    SaveStaffNodeRequest request = new SaveStaffNodeRequest();
-			    request.setMobile(mobile);
+			    request.setMobile(user2.getPhone());
 			    request.setEntercode(enterCode);
-			    request.setEmpName(principalName);
-			    request.setEmpNickname(principalName);
-			    request.setLoginNo(principalPhone);
+			    request.setEmpName(tCompany.getName() + "管理员");
+			    request.setEmpNickname(tCompany.getName() + "管理员");
+			    request.setLoginNo(account);
 			    request.setEmpSex("女");
-			    request.setMphone(principalPhone);
-			    request.setEmail(principalPhone + "@qyt.com");
+			    request.setMphone(account);
+			    request.setEmail(account + "@qyt.com");
 			    request.setDeptId(0);
 			    request.setPositionId(1);
 			    request.setSuperLevel(0);
 			    request.setHideMobile(0);
-			    SaveStaffNode saveStaffNode = EmployeeUtil.saveStaffNode(request);
+			    ResultUtil<SaveStaffNode> resultUtil = EmployeeUtil.saveStaffNode(request);
+			    if(200 != resultUtil.getStatus()){
+				    return new ErrorTip(resultUtil.getStatus(), resultUtil.getMsg());
+			    }
+			    SaveStaffNode saveStaffNode = resultUtil.getData();
 			    empId = saveStaffNode.getEmpId();
-			
+			    empnew = 1;
 		    }else{
-			    List<QYTUserInfo> userInfoByPhone = UserUtil.getUserInfoByPhone(mobile, enterCode);
 			    empId = userInfoByPhone.get(0).getEmpId();
+			    empnew = 0;
 		    }
-		    tCompany.setPrincipalName(larName);
-		    tCompany.setPrincipalPhone(mobile);
 	    }
 	
 	    tCompany.setEnterCode(enterCode);
+	    tCompany.setEnterNew(enterNew);
 	    tCompany.setType(3);  //2:分公司
 	    if (shiroExtUtil.getUser().getRoleType() == 2) {
 		    tCompany.setSuperiorId(shiroExtUtil.getUser().getObjectId());
@@ -553,7 +569,7 @@
 	
 	    //添加User对象
 	    User user = new User();
-	    user.setAccount(principalPhone);
+	    user.setAccount(account);
 	    user.setSalt(ShiroKit.getRandomSalt(5));
 	    user.setPassword(ShiroKit.md5(password, user.getSalt()));
 	    user.setRoleid("3");
@@ -567,6 +583,7 @@
 	    user.setEmpId(empId);
 	    user.setEntercode(enterCode);
 	    user.setEnterId(Long.valueOf(enterCode));
+	    user.setEmpnew(empnew);
 	    userService.insert(user);
 	    //编写异步延迟处理中台账号延迟创建的问题
 	    if(0 == empId){
@@ -575,7 +592,7 @@
 		    timer.schedule(new TimerTask() {
 			    @Override
 			    public void run() {
-				    List<QYTUserInfo> userInfoByPhone = UserUtil.getUserInfoByPhone(principalPhone, finalEnterCode);
+				    List<QYTUserInfo> userInfoByPhone = UserUtil.getUserInfoByPhone(account, finalEnterCode);
 				    if(null != userInfoByPhone && userInfoByPhone.size() > 0){
 					    Long empId1 = userInfoByPhone.get(0).getEmpId();
 					    user.setEmpId(empId1);
@@ -595,9 +612,16 @@
     public Object delete(@RequestParam Integer tCompanyId) {
 	    TCompany tCompany = tCompanyService.selectById(tCompanyId);
 	    //调用中台接口创建企业
-	    CheckEnterExist checkEnterExist = EnterpriseUtil.checkEnterNameExist(tCompany.getName());
-	    if (null != checkEnterExist && "1".equals(checkEnterExist.getIsReg())) {
-		    EnterpriseUtil.delEnterprise(checkEnterExist.getEnterCode(), tCompany.getPrincipalPhone());
+	    if(1 == tCompany.getEnterNew()){
+		    CheckEnterExist checkEnterExist = EnterpriseUtil.checkEnterNameExist(tCompany.getName());
+		    if (null != checkEnterExist && "1".equals(checkEnterExist.getIsReg())) {
+			    ShiroUser user1 = shiroExtUtil.getUser();
+			    User user = userService.selectById(user1.getId());
+			    ResultUtil resultUtil = EnterpriseUtil.delEnterprise(checkEnterExist.getEnterCode(), user.getPhone());
+				if(resultUtil.getStatus() != 200){
+					return new ErrorTip(resultUtil.getStatus(), resultUtil.getMsg());
+				}
+		    }
 	    }
 	
 	    tCompany.setFlag("3");
@@ -611,46 +635,13 @@
     @RequestMapping(value = "/update")
     @ResponseBody
     public Object update(TCompany tCompany,@RequestParam String subArr,String account,String password,Integer userId) {
-	    //判断账号
 	    User user = userService.selectById(userId);
-	    TCompany company = tCompanyService.selectById(tCompany.getId());
-	    //调用中台接口创建企业
-	    CheckEnterExist checkEnterExist = EnterpriseUtil.checkEnterNameExist(company.getName());
-	    String enterCode = null;
-	    //企业已存在,编辑企业
-	    if (null != checkEnterExist && "1".equals(checkEnterExist.getIsReg())) {
-		    ModifyEnterpriseInfoRequest request = new ModifyEnterpriseInfoRequest();
-		    request.setEnter_code(company.getEnterCode());
-		    request.setOperator(company.getPrincipalPhone());
-		    request.setEnter_name(tCompany.getName());
-		    request.setEnter_nickname(tCompany.getName());
-		    EnterpriseUtil.modifyEnterpriseInfo(request);
-		    enterCode = checkEnterExist.getEnterCode();
+	    if(null != user && ToolUtil.isNotEmpty(password)){
+		    user.setPassword(ShiroKit.md5(password, user.getSalt()));
+		    userService.updateById(user);
 	    }
-	    //企业不存在,新增企业
-	    if (null == checkEnterExist || "0".equals(checkEnterExist.getIsReg())) {
-		    CreateEnterpriseRequest request = new CreateEnterpriseRequest();
-		    request.setName(tCompany.getName());
-		    request.setNickName(tCompany.getName());
-		    request.setIndustry_code("123456");
-		    request.setMobile(tCompany.getPrincipalPhone());
-		    CreateEnterprise enterprise = EnterpriseUtil.createEnterprise(request);
-		    enterCode = enterprise.getIdCode();
-		    List<QYTUserInfo> userInfoByPhone = UserUtil.getUserInfoByPhone(tCompany.getPrincipalPhone(), enterCode);
-		    Long empId = userInfoByPhone.get(0).getEmpId();
-		    user.setEmpId(empId);
-	    }
-	
-	    company.setEnterCode(enterCode);
-	    company.setUpdateTime(new Date());
-	    tCompany.setVersion(company.getVersion() + 1);
+	    tCompany.setUpdateTime(new Date());
 	    tCompanyService.updateById(tCompany);
-	
-	    user.setEntercode(enterCode);
-	    user.setEnterId(Long.valueOf(enterCode));
-	    user.setName(tCompany.getName());
-	    userService.updateById(user);
-	
 	    //添加经营区域
 	    addSocpe(subArr, tCompany.getId());
 	
@@ -677,48 +668,13 @@
     @RequestMapping(value = "/updateFranchisee")
     @ResponseBody
     public Object updateFranchisee(TCompany tCompany,String account,String password,Integer userId) {
-	    //判断账号
-	    User user = userService.selectById(userId);
-	    if (!user.getAccount().equals(account)) {
-		    //判断账号是否已存在
-		    int count = userService.selectCount(new EntityWrapper<User>().eq("account", account));
-		    if (count > 0) {
-			    return "error";
-		    }
-	    }
-	    TCompany company = tCompanyService.selectById(tCompany.getId());
-	    //调用中台接口创建企业
-	    CheckEnterExist checkEnterExist = EnterpriseUtil.checkEnterNameExist(company.getName());
-	    String enterCode = null;
-	    //企业已存在,编辑企业
-	    if (null != checkEnterExist && "1".equals(checkEnterExist.getIsReg())) {
-		    ModifyEnterpriseInfoRequest request = new ModifyEnterpriseInfoRequest();
-		    request.setEnter_code(company.getEnterCode());
-		    request.setOperator(tCompany.getPrincipalPhone());
-		    request.setEnter_name(tCompany.getName());
-		    request.setEnter_nickname(tCompany.getName());
-		    EnterpriseUtil.modifyEnterpriseInfo(request);
-		    enterCode = checkEnterExist.getEnterCode();
-	    }
-	    //企业不存在,添加企业
-	    if (null == checkEnterExist || "0".equals(checkEnterExist.getIsReg())) {
-		    CreateEnterpriseRequest request = new CreateEnterpriseRequest();
-		    request.setName(tCompany.getName());
-		    request.setNickName(tCompany.getName());
-		    request.setIndustry_code("123456");
-		    request.setMobile(tCompany.getPrincipalPhone());
-		    CreateEnterprise enterprise = EnterpriseUtil.createEnterprise(request);
-		    enterCode = enterprise.getIdCode();
-		    List<QYTUserInfo> userInfoByPhone = UserUtil.getUserInfoByPhone(tCompany.getPrincipalPhone(), enterCode);
-		    Long empId = userInfoByPhone.get(0).getEmpId();
-		    user.setEmpId(empId);
-	    }
-	    tCompany.setEnterCode(enterCode);
+	    tCompany.setUpdateTime(new Date());
+	    tCompany.setVersion(tCompany.getVersion() + 1);
 	    tCompanyService.updateById(tCompany);
 	
 	    //修改账号密码
-	    user.setEntercode(enterCode);
-	    user.setEnterId(Long.valueOf(enterCode));
+	    User user = userService.selectById(userId);
+	    user.setPassword(ShiroKit.md5(password, user.getSalt()));
 	    userService.updateById(user);
 	    return SUCCESS_TIP;
     }

--
Gitblit v1.7.1