Pu Zhibing
5 天以前 ffe705d1fe2c4fa60d457f94b3e2be0cfeaf24c0
ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TDriverController.java
@@ -11,6 +11,7 @@
import com.stylefeng.guns.core.common.constant.factory.PageFactory;
import com.stylefeng.guns.core.log.LogObjectHolder;
import com.stylefeng.guns.core.shiro.ShiroKit;
import com.stylefeng.guns.core.shiro.ShiroUser;
import com.stylefeng.guns.core.util.DateUtil;
import com.stylefeng.guns.core.util.SinataUtil;
import com.stylefeng.guns.core.util.ToolUtil;
@@ -20,12 +21,15 @@
import com.stylefeng.guns.modular.system.model.*;
import com.stylefeng.guns.modular.system.service.*;
import com.stylefeng.guns.modular.system.util.*;
import com.stylefeng.guns.modular.system.util.qianyuntong.EmployeeUtil;
import com.stylefeng.guns.modular.system.util.qianyuntong.model.*;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.*;
@@ -64,35 +68,43 @@
    @Autowired
    private ITLineService itLineService;
    @Autowired
    private PushMinistryOfTransportUtil pushMinistryOfTransportUtil;
    @Resource
    private DriverTrainMapper driverTrainMapper;
    @Resource
    private DriverPunishMapper driverPunishMapper;
    @Autowired
    private RedisUtil redisUtil;
    private RedisTemplate redisTemplate;
    @Value("${pushMinistryOfTransport}")
    private boolean pushMinistryOfTransport;
    @Autowired
    private ITCompanyService itCompanyService;
    @Autowired
    private ITDriverServiceService itDriverServiceService;
    @Autowired
    private ITComplaintService tComplaintService;
    @Autowired
    private IUserService userService;
    /**
     * 跳转投诉页面
     *
     * @return
     */
    @RequestMapping("complaint")
    public String complaint(Model model,Integer driverId) {
        model.addAttribute("id",driverId);
    public String complaint(Model model, Integer driverId) {
        model.addAttribute("id", driverId);
        return PREFIX + "tComplaint.html";
    }
@@ -633,28 +645,52 @@
            if (1 == authState){
                type = 5;
                tDriver.setAuthState(2);
                new Thread(new Runnable() {
                    @Override
                    public void run() {
                        if(pushMinistryOfTransport){//上传数据
                        if (pushMinistryOfTransport) {//上传数据
                            pushMinistryOfTransportUtil.baseInfoCompanyStat();
                            pushMinistryOfTransportUtil.baseInfoDriver(id);
                            pushMinistryOfTransportUtil.baseInfoDriverApp(id);
                        }
                    }
                }).start();
            }else{
            } else {
                type = 6;
                tDriver.setAuthState(4);
            }
            Map<String,String> map = new HashMap<>();
            Map<String, String> map = new HashMap<>();
            map.put("uid", String.valueOf(tDriver.getId()));
            map.put("type", String.valueOf(type));
            String result = HttpRequestUtil.postRequest(PushURL.driver_auth_url, map);
            System.out.println("司机注册审核发送短信 :【driverId="+tDriver.getId().toString()+"】,调用接口:"+result);
            System.out.println("司机注册审核发送短信 :【driverId=" + tDriver.getId().toString() + "】,调用接口:" + result);
            //审核通过,在中台添加司机账号
            if (2 == tDriver.getAuthState()) {
                ShiroUser user = ShiroExtUtil.getUser();
                Integer objectId = user.getObjectId();
                TCompany tCompany = itCompanyService.selectById(objectId);
                User user1 = userService.selectById(user.getId());
                SaveStaffNodeRequest request = new SaveStaffNodeRequest();
                request.setMobile(user1.getPhone());
                request.setEntercode(tCompany.getEnterCode());
                request.setEmpName(tDriver.getName());
                request.setEmpNickname(tDriver.getName());
                request.setLoginNo(tDriver.getPhone());
                request.setEmpSex(tDriver.getSex() == 1 ? "男" : "女");
                request.setMphone(tDriver.getPhone());
                request.setEmail("qyt@qyt.com");
                request.setDeptId(0);
                request.setPositionId(1);
                request.setSuperLevel(0);
                request.setHideMobile(0);
                SaveStaffNode saveStaffNode = EmployeeUtil.saveStaffNode(request);
                TCompany tCompany1 = itCompanyService.selectById(tDriver.getCompanyId());
                tDriver.setEmpId(saveStaffNode.getEmpId());
                tDriver.setEntercode(tCompany1.getEnterCode());
                tDriver.setEnterId(Long.valueOf(tCompany1.getEnterCode()));
            }
            tDriverService.updateById(tDriver);
        }
        return SUCCESS_TIP;
@@ -728,23 +764,47 @@
        tDriver.setInsertTime(new Date());
        tDriver.setInsertUser(ShiroExtUtil.getUser().getId());
//        tDriver.setPassword(MD5Util.encrypt(tDriver.getPassword()));
        tDriver.setPassword(ShiroKit.md5(tDriver.getPassword(), "SA;d5#"));
        //审核通过,在中台添加司机账号
        if (2 == tDriver.getAuthState()) {
            ShiroUser user = ShiroExtUtil.getUser();
            Integer objectId = user.getObjectId();
            TCompany tCompany = itCompanyService.selectById(objectId);
            User user1 = userService.selectById(user.getId());
            SaveStaffNodeRequest request = new SaveStaffNodeRequest();
            request.setMobile(user1.getPhone());
            request.setEntercode(tCompany.getEnterCode());
            request.setEmpName(tDriver.getName());
            request.setEmpNickname(tDriver.getName());
            request.setLoginNo(tDriver.getPhone());
            request.setEmpSex(tDriver.getSex() == 1 ? "男" : "女");
            request.setMphone(tDriver.getPhone());
            request.setEmail("qyt@qyt.com");
            request.setDeptId(0);
            request.setPositionId(1);
            request.setSuperLevel(0);
            request.setHideMobile(0);
            SaveStaffNode saveStaffNode = EmployeeUtil.saveStaffNode(request);
            TCompany tCompany1 = itCompanyService.selectById(tDriver.getCompanyId());
            tDriver.setEmpId(saveStaffNode.getEmpId());
            tDriver.setEntercode(tCompany1.getEnterCode());
            tDriver.setEnterId(Long.valueOf(tCompany1.getEnterCode()));
        }
        tDriverService.insert(tDriver);
        //添加经营业务
        String[] serverArray = serverBox.split(",");
        for (int i=0;i<serverArray.length;i++){
        for (int i = 0; i < serverArray.length; i++) {
            TDriverService service = new TDriverService();
            service.setDriverId(tDriver.getId());
            service.setType(Integer.valueOf(serverArray[i]));
            tDriverServiceService.insert(service);
            if (3 == Integer.valueOf(serverArray[i])){
            if (3 == Integer.valueOf(serverArray[i])) {
                //添加线路
                if (SinataUtil.isNotEmpty(lineStr)){
                    addLine(lineStr,tDriver.getId());
                if (SinataUtil.isNotEmpty(lineStr)) {
                    addLine(lineStr, tDriver.getId());
                }
            }
        }
@@ -780,11 +840,27 @@
    public Object delete(@RequestParam Integer tDriverId) {
        TDriver driver = tDriverService.selectById(tDriverId);
        driver.setFlag("3");
        ShiroUser user = ShiroKit.getUser();
        User user1 = userService.selectById(user.getId());
        TCompany tCompany = itCompanyService.selectById(user.getObjectId());
        //中台先删除司机
        GetStaffNodeRequest request = new GetStaffNodeRequest();
        request.setEmpId(driver.getEmpId());
        request.setMobile(user1.getPhone());
        request.setEntercode(tCompany.getEnterCode());
        StaffNodeInfo staffNode = EmployeeUtil.getStaffNode(request);
        if ("1".equals(staffNode.getIsValid())) {
            DeleteStafNodeRequest deleteStafNodeRequest = new DeleteStafNodeRequest();
            deleteStafNodeRequest.setEmpId(driver.getEmpId());
            deleteStafNodeRequest.setEntercode(tCompany.getEnterCode());
            deleteStafNodeRequest.setMobile(user1.getPhone());
            EmployeeUtil.ecrmDeleteStafNode(deleteStafNodeRequest);
        }
        tDriverService.updateById(driver);
        String value = redisUtil.getValue("DRIVER_" + driver.getPhone());
        redisUtil.remove(value);
        redisUtil.remove("DRIVER_" + driver.getId());
        redisUtil.remove("DRIVER_" + driver.getPhone());
        String value = (String) redisTemplate.opsForValue().get("DRIVER_" + driver.getPhone());
        redisTemplate.delete(value);
        redisTemplate.delete("DRIVER_" + driver.getId());
        redisTemplate.delete("DRIVER_" + driver.getPhone());
        return SUCCESS_TIP;
    }
    /**
@@ -811,19 +887,45 @@
                new Thread(new Runnable() {
                    @Override
                    public void run() {
                        if(pushMinistryOfTransport){//上传数据
                        if (pushMinistryOfTransport) {//上传数据
                            pushMinistryOfTransportUtil.baseInfoCompanyStat();
                            pushMinistryOfTransportUtil.baseInfoDriver(driverId);
                        }
                    }
                }).start();
                String value = redisUtil.getValue("DRIVER_" + tDriver.getPhone());
                redisUtil.remove(value);
                redisUtil.remove("DRIVER_" + tDriver.getId());
                redisUtil.remove("DRIVER_" + tDriver.getPhone());
                String value = (String) redisTemplate.opsForValue().get("DRIVER_" + tDriver.getPhone());
                redisTemplate.delete(value);
                redisTemplate.delete("DRIVER_" + tDriver.getId());
                redisTemplate.delete("DRIVER_" + tDriver.getPhone());
            }
            tDriver.setRemark(remark);
            //审核通过,在中台添加司机账号
            if (2 == tDriver.getAuthState()) {
                ShiroUser user = ShiroExtUtil.getUser();
                Integer objectId = user.getObjectId();
                TCompany tCompany = itCompanyService.selectById(objectId);
                User user1 = userService.selectById(user.getId());
                SaveStaffNodeRequest request = new SaveStaffNodeRequest();
                request.setMobile(user1.getPhone());
                request.setEntercode(tCompany.getEnterCode());
                request.setEmpName(tDriver.getName());
                request.setEmpNickname(tDriver.getName());
                request.setLoginNo(tDriver.getPhone());
                request.setEmpSex(tDriver.getSex() == 1 ? "男" : "女");
                request.setMphone(tDriver.getPhone());
                request.setEmail("qyt@qyt.com");
                request.setDeptId(0);
                request.setPositionId(1);
                request.setSuperLevel(0);
                request.setHideMobile(0);
                SaveStaffNode saveStaffNode = EmployeeUtil.saveStaffNode(request);
                TCompany tCompany1 = itCompanyService.selectById(tDriver.getCompanyId());
                tDriver.setEmpId(saveStaffNode.getEmpId());
                tDriver.setEntercode(tCompany1.getEnterCode());
                tDriver.setEnterId(Long.valueOf(tCompany1.getEnterCode()));
            }
            tDriverService.updateById(tDriver);
        }
        return SUCCESS_TIP;
@@ -1286,14 +1388,40 @@
                        driver.setInsertTime(new Date());
                        driver.setAddType(2);
                        driver.setAddObjectId(ShiroExtUtil.getUser().getObjectId());
                        if(SinataUtil.isNotEmpty(eight)){
                        if (SinataUtil.isNotEmpty(eight)) {
                            driver.setDriverAddress(eight);
                        }
                        //审核通过,在中台添加司机账号
                        if (2 == driver.getAuthState()) {
                            ShiroUser user = ShiroExtUtil.getUser();
                            Integer objectId = user.getObjectId();
                            TCompany tCompany = itCompanyService.selectById(objectId);
                            User user1 = userService.selectById(user.getId());
                            SaveStaffNodeRequest saveStaffNodeRequest = new SaveStaffNodeRequest();
                            saveStaffNodeRequest.setMobile(user1.getPhone());
                            saveStaffNodeRequest.setEntercode(tCompany.getEnterCode());
                            saveStaffNodeRequest.setEmpName(driver.getName());
                            saveStaffNodeRequest.setEmpNickname(driver.getName());
                            saveStaffNodeRequest.setLoginNo(driver.getPhone());
                            saveStaffNodeRequest.setEmpSex(driver.getSex() == 1 ? "男" : "女");
                            saveStaffNodeRequest.setMphone(driver.getPhone());
                            saveStaffNodeRequest.setEmail("qyt@qyt.com");
                            saveStaffNodeRequest.setDeptId(0);
                            saveStaffNodeRequest.setPositionId(1);
                            saveStaffNodeRequest.setSuperLevel(0);
                            saveStaffNodeRequest.setHideMobile(0);
                            SaveStaffNode saveStaffNode = EmployeeUtil.saveStaffNode(saveStaffNodeRequest);
                            TCompany tCompany1 = itCompanyService.selectById(driver.getCompanyId());
                            driver.setEmpId(saveStaffNode.getEmpId());
                            driver.setEntercode(tCompany1.getEnterCode());
                            driver.setEnterId(Long.valueOf(tCompany1.getEnterCode()));
                        }
                        tDriverService.insert(driver);
                        //添加快车服务模式
                        if ("是".equals(eleven)){
                        if ("是".equals(eleven)) {
                            TDriverService service = new TDriverService();
                            service.setDriverId(driver.getId());
                            service.setType(1);
@@ -1826,16 +1954,8 @@
        }
        return SUCCESS_TIP;
    }
    @Autowired
    private ITCompanyService itCompanyService;
    @Autowired
    private ITDriverServiceService itDriverServiceService;
    /**
     * 验证是否可以字符转为整数
     * @param str