From c8b503726415980e5fa9a5ffc0e4e751eb7466e9 Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期五, 01 八月 2025 11:45:53 +0800
Subject: [PATCH] 新增加三方业务流程代码
---
ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/system/UserMgrController.java | 168 +++++++++++++++++++++++++++----------------------------
1 files changed, 83 insertions(+), 85 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 727847e..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,8 +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.model.*;
+import com.stylefeng.guns.modular.system.util.qianyuntong.UserUtil;
+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;
@@ -40,6 +46,7 @@
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 +73,8 @@
@Autowired
private ITCompanyService companyService;
+ @Autowired
+ private ShiroExtUtil shiroExtUtil;
/**
@@ -119,7 +128,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 +157,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 +179,15 @@
//创建日期
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];
+ }
+ ShiroUser user1 = shiroExtUtil.getUser();
+ Page<Map<String, Object>> page = new PageFactory<Map<String, Object>>().defaultPage();
+ page.setRecords(userService.getUserListPage(page, null, name, beginTime, endTime, deptid, user1.getObjectId()));
+ return super.packForBT(page);
}
/**
@@ -202,24 +206,37 @@
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;
+ Integer empnew = null;
+ if(null == userInfoByPhone || userInfoByPhone.size() == 0){
+ 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);
+ 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;
+ }
// 完善账号信息
user.setSalt(ShiroKit.getRandomSalt(5));
@@ -232,6 +249,7 @@
User objectUser = UserFactory.createUser(user);
objectUser.setObjectId(user1.getObjectId());
+ objectUser.setEmpnew(empnew);
this.userService.insert(objectUser);
return SUCCESS_TIP;
@@ -250,17 +268,14 @@
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.setEntercode(tCompany.getEnterCode());
- StaffNodeInfo staffNode = EmployeeUtil.getStaffNode(request);
Long empId = null;
- if (null == staffNode || "0".equals(staffNode.getIsValid())) {
+ 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());
@@ -274,46 +289,27 @@
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();
- } else {
- EditStaffNodeRequest request1 = new EditStaffNodeRequest();
- request1.setEmpId(staffNode.getEnterId());
- 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.setDeptId(0);
- request1.setPositionId(1);
- request1.setSuperLevel(0);
- request1.setHideMobile(0);
- EmployeeUtil.editStaffNode(request1);
- empId = staffNode.getEnterId();
+ 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;
}
/**
@@ -331,22 +327,24 @@
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.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.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