Pu Zhibing
2024-12-13 73b750200f25df08aa64124da49e7461f9de6653
DriverNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverServiceImpl.java
@@ -172,7 +172,7 @@
                break;
        }
//        HuaWeiSMSUtil.sendSms("[\"" + authCode + "\"]", phone, "8822061324669", templateCode);
        String sData = aLiSendSms.sendSms(phone, "SMS_147415322", "{\"code\":\"" + authCode + "\"}");
        String sData = aLiSendSms.sendSms(phone, "SMS_467580138", "{\"code\":\"" + authCode + "\"}");
//        JSONObject jsonObject = JSON.parseObject(sData);
//        String message = jsonObject.getString("Message");
//        if(!"OK".equals(message)){
@@ -341,6 +341,9 @@
        driver.setName(registeredWarpper.getName());
        driver.setSex(registeredWarpper.getSex());
        driver.setIdCard(registeredWarpper.getIdCard());
        //设置人脸识别照片
        driver.setFaceImgUrl(registeredWarpper.getFaceImgUrl());
        String code = registeredWarpper.getPlaceOfEmployment();
        Company query = companyCityService.query(code);
@@ -551,6 +554,8 @@
    }
    @Autowired
    private ITSysFaceDistinguishService faceDistinguishService;
    /**
     * 上下班操作
     * @param uid
@@ -561,6 +566,9 @@
    public ResultUtil work(Integer uid, String type) throws Exception {
        DriverWork driverWork = driverWorkMapper.queryNewWork(uid, null, 1);
        Driver driver = this.selectById(uid);
        if (driver.getCarId()==null){
            return ResultUtil.error("请先绑定车辆");
        }
        if(null != driverWork){//作下班操作
            //检测是否有未完成的订单
            List<Map<String, Object>> list = orderService.queryOrderList(1, 1, 10, uid);
@@ -581,6 +589,15 @@
                }
            }).start();
        }else{
            //拿到后台配置的人脸识别配置
            TSysFaceDistinguish tSysFaceDistinguish = faceDistinguishService.selectOne(null);
            //如果是关闭就结束
            if (tSysFaceDistinguish.getIsOpen()!=2){
                if (driver.getFailCount()>=5){
                    return ResultUtil.error("请进行人脸认证后重试");
                }
            }
            driverWork = new DriverWork();
            driverWork.setState(1);
            driverWork.setDriverId(uid);
@@ -652,7 +669,7 @@
                if(Integer.valueOf(t) == 3){
                    CarService query1 = carServiceMapper.query(3, driver.getCarId());
                    if(query1 == null){
                        return ResultUtil.error("车辆未添加直通车服务");
                        return ResultUtil.error("车辆未添加跨城服务");
                    }
                }
                DriverOrders query = driverOrdersMapper.query(uid, Integer.valueOf(t));
@@ -722,7 +739,7 @@
                    baseWarpper.setName("出租车");
                    break;
                case 3:
                    baseWarpper.setName("直通车");
                    baseWarpper.setName("城际拼车");
                    break;
                case 4:
                    baseWarpper.setName("同城小件物流");
@@ -732,6 +749,9 @@
                    break;
                case 6:
                    baseWarpper.setName("包车");
                    break;
                    case 7:
                    baseWarpper.setName("接送机/站");
                    break;
            }
            maps.add(baseWarpper);
@@ -776,6 +796,34 @@
        this.updateById(driver1);
        smsrecordService.saveData(7, phone, code, "短信验证码【" + code + "】已发到您的手机,验证码将在5分钟后失效,请及时登录!");
        DriverWork driverWork = driverWorkMapper.queryNewWork(uid, null, 1);
        if (driverWork==null){
            return ResultUtil.success();
        }
        //检测是否有未完成的订单
        List<Map<String, Object>> list = orderService.queryOrderList(1, 1, 10, uid);
        if(list.size() > 0){
            return ResultUtil.error("还有未完成的订单,不能进行下班操作");
        }
        driverWork.setEndTime(new Date());
        driverWork.setState(2);
        driverWorkMapper.updateById(driverWork);
        driver1.setState(1);
        this.updateById(driver1);
        new Thread(new Runnable() {
            @Override
            public void run() {
                if(pushMinistryOfTransport){//上传数据
                    pushMinistryOfTransportUtil.operateLogout(uid);
                }
            }
        }).start();
        return ResultUtil.success();
    }
@@ -836,11 +884,12 @@
     * @throws Exception
     */
    @Override
    public Map<String, Object> queryPhone(Integer uid) throws Exception {
    public Map<String, Object> queryPhone(Integer uid,String wechat) throws Exception {
        Driver driver = this.selectById(uid);
        Company company = companyMapper.selectById(driver.getFranchiseeId() != null && driver.getFranchiseeId() != 0 ? driver.getFranchiseeId() : (
                driver.getCompanyId() != null && driver.getCompanyId() != 0 ? driver.getCompanyId() : 1));
        Map<String, Object> map = new HashMap<>();
        map.put("wechatUrl",wechat);
        if(company.getType() == 3){//加盟商
            Phone phone = phoneMapper.queryInfo(company.getId(), 2);
            map.put("franchisee", null != phone ? phone.getPhone() : "");
@@ -858,6 +907,7 @@
            }else{
                map.put("platform", "");
            }
            return map;
        }
        if(company.getType() == 2){//分公司
@@ -971,7 +1021,7 @@
                            break;
                        case 3:
                            sb.append("直通车");
                            sb.append("跨城");
                            break;
                        case 4:
                            break;
@@ -984,10 +1034,11 @@
                    DriverActivityOrder driverActivityOrder = driverActivityOrderMapper.selectById(dah.getActivityId());
                    activityWarpper.setId(driverActivityOrder.getId());
                    activityWarpper.setContent("今日" + driverActivityOrder.getStart() + "-" + driverActivityOrder.getEnd() + "累计接单" + driverActivityOrder.getOrderNum() + "单奖励" + driverActivityOrder.getMoney() + "元");
                    SimpleDateFormat sdf = new SimpleDateFormat("H:m");
                    Date start = sdf.parse(driverActivityOrder.getStart());
                    Date end = sdf.parse(driverActivityOrder.getEnd());
                    Integer integer = orderService.queryOrderNum(uid, start, end);
                    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
                    SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
                    Integer integer = orderService.queryOrderNum(uid, sdf1.parse(sdf.format(new Date()) + " " + driverActivityOrder.getStart() + ":00"), sdf1.parse(sdf.format(new Date()) + " " + driverActivityOrder.getEnd() + ":59"));
                    activityWarpper.setCarryOut(integer > driverActivityOrder.getOrderNum() ? driverActivityOrder.getOrderNum() + "/" + driverActivityOrder.getOrderNum() : integer + "/" + driverActivityOrder.getOrderNum());
                    break;
            }
@@ -1126,6 +1177,7 @@
            DriverActivityOrder dao = driverActivityOrderMapper.selectById(dah.getActivityId());
            Integer integer = orderService.queryOrderNum(dah.getDriverId(), sdf1.parse(sdf.format(new Date()) + " " + dao.getStart() + ":00"),
                    sdf1.parse(sdf.format(new Date()) + " " + dao.getEnd() + ":59"));
            dao.setOrderNum(integer);
            if(dao.getOrderNum() <= integer){
                dah.setCarryOut(2);//完成状态
                driverActivityHistoryMapper.updateById(dah);
@@ -1142,6 +1194,7 @@
                //添加收入记录
                incomeService.saveData(2, dah.getDriverId(), 1, dao.getId(), null, dah.getMoney());
            }
            driverActivityHistoryMapper.updateById(dah);
        }
    }