liujie
2025-07-24 a8895e0ce4d03c9a50ad0196bb4ddc6dd642cd34
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;
    
    
@@ -180,15 +184,10 @@
            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);
        }
        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);
    }
    /**
@@ -212,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());
@@ -226,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;
        }
    
        // 完善账号信息
@@ -243,6 +249,7 @@
    
        User objectUser = UserFactory.createUser(user);
        objectUser.setObjectId(user1.getObjectId());
        objectUser.setEmpnew(empnew);
        this.userService.insert(objectUser);
    
        return SUCCESS_TIP;
@@ -265,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;
    }
    /**
@@ -351,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;
    }