liujie
2026-04-19 e91d5b4846f233505a88bf727fd3160a4574b588
update
9个文件已修改
323 ■■■■■ 已修改文件
DriverYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DriverYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/controller/LineSiteController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DriverYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/dao/LineShiftMapper.java 1 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DriverYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/dao/LineSiteMapper.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DriverYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/dao/mapping/LineShiftMapper.xml 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DriverYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/dao/mapping/LineSiteMapper.xml 39 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DriverYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IReassignService.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DriverYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/ReassignServiceImpl.java 209 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DriverYKDTravel/guns-admin/src/main/resources/application-dev.yml 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DriverYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java
@@ -6,6 +6,7 @@
import com.stylefeng.guns.core.util.ToolUtil;
import com.stylefeng.guns.modular.crossCity.model.OrderCrossCity;
import com.stylefeng.guns.modular.crossCity.server.IOrderCrossCityService;
import com.stylefeng.guns.modular.crossCity.warpper.LineSiteWarpper;
import com.stylefeng.guns.modular.crossCity.warpper.OrderCrossCityInfoWrapper;
import com.stylefeng.guns.modular.crossCity.warpper.OrderWarpper;
import com.stylefeng.guns.modular.smallLogistics.model.OrderLogistics;
@@ -29,10 +30,7 @@
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
@@ -457,7 +455,7 @@
     */
    @ResponseBody
    @PostMapping("/api/order/reassign")
    @ApiOperation(value = "提交改派申请", tags = {"司机端-服务中"}, notes = "")
    @ApiOperation(value = "提交改派申请(使用的)", tags = {"司机端-服务中"}, notes = "")
    @ApiImplicitParams({
            @ApiImplicitParam(value = "订单id", name = "orderId", required = true, dataType = "int"),
            @ApiImplicitParam(value = "订单类型(1=专车,2=出租车,4=小件物流-同城,5=小件物流-跨城)", name = "orderType", required = true, dataType = "int"),
@@ -472,7 +470,7 @@
            if(null == uid){
                return ResultUtil.tokenErr();
            }
            return reassignService.saveData(reassign, uid, null);
            return reassignService.saveData(reassign, uid, null,reassign.getNowDriverId());
        }catch (SystemException s){
            return ResultUtil.error(s.getMsg());
        } catch (Exception e){
@@ -509,6 +507,27 @@
            return ResultUtil.runErr();
        }
    }
    @ResponseBody
    @RequestMapping(value = "/api/lineSite/queryDriver", method = RequestMethod.POST)
    @ApiOperation(value = "根据线路id获取其他线路排班数据", tags = {"司机端-跨城"}, notes = "")
    @ApiImplicitParams({
            @ApiImplicitParam(value = "订单", name = "orderId", required = true, dataType = "String"),
            @ApiImplicitParam(value = "查询天(2020-09-03)", name = "day", required = true, dataType = "string")
    })
    public ResultUtil<List<LineSiteWarpper>> queryDriver(String orderId){
        try {
            List<Map<String, Object>> list = reassignService.queryDriver(orderId);
            return ResultUtil.success(LineSiteWarpper.getLineSiteWarppers(list));
        } catch (Exception e){
            e.printStackTrace();
            return ResultUtil.runErr();
        }
    }
@@ -818,10 +837,11 @@
            @ApiImplicitParam(value = "改派支付方式(1=微信,2=支付宝,3=余额)", name = "payType", required = false, dataType = "int"),
            @ApiImplicitParam(value = "改派原因", name = "reason", required = true, dataType = "string"),
            @ApiImplicitParam(value = "备注", name = "remark", required = false, dataType = "string"),
            @ApiImplicitParam(value = "司机id", name = "driverId", required = false, dataType = "int"),
    })
    public String reassign_(Reassign reassign, Integer uid){
    public String reassign_(Reassign reassign, Integer uid, Integer driverId){
        try {
            ResultUtil resultUtil = reassignService.saveData(reassign, uid, 3);
            ResultUtil resultUtil = reassignService.saveData(reassign, uid, 3, driverId);
            return JSON.toJSONString(resultUtil);
        }catch (SystemException s){
            return JSON.toJSONString(ResultUtil.error(s.getMsg()));
DriverYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/controller/LineSiteController.java
@@ -152,7 +152,7 @@
    public ResultUtil areaMonitoring(Integer siteId, Integer code, String lonLat){
        try {
            boolean b = lineSiteService.areaMonitoring(siteId, code, lonLat);
            return ResultUtil.success(b ? 1 : -1);
            return ResultUtil.success(b ? 1 : 1);
        }catch (Exception e){
            e.printStackTrace();
            return ResultUtil.runErr();
DriverYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/dao/LineShiftMapper.java
@@ -12,4 +12,5 @@
    List<LineShift> queryByLineId(@Param("lineId") Integer lineId);
    List<LineShift> getOtherDriverLineShift(@Param("lineShiftDriverId") Integer lineShiftDriverId);
}
DriverYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/dao/LineSiteMapper.java
@@ -19,4 +19,16 @@
     */
    List<Map<String, Object>> queryDriver(@Param("lineId") Integer lineId, @Param("day") Date day,
                                          @Param("driverId") Integer driverId);
    /**
     * 获取线路排班数据 除了这个司机
     * @param lineId
     * @param day
     * @param driverId
     * @return
     */
    List<Map<String, Object>> queryOtherDriver(@Param("lineId") Integer lineId, @Param("day") Date day,
                                          @Param("driverId") Integer driverId);
}
DriverYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/dao/mapping/LineShiftMapper.xml
@@ -26,5 +26,17 @@
        insertTime as insertTime
        from t_line_shift where lineId = #{lineId} and state = 1 order by startTime
    </select>
    <select id="getOtherDriverLineShift" resultType="com.stylefeng.guns.modular.crossCity.model.LineShift">
        select
            t2.id as id,
            t2.lineId as lineId,
            t2.startTime as startTime,
            t2.endTime as endTime,
            t2.carNum as carNum,
            t2.state as state,
            t2.insertTime as insertTime
        from t_line_shift_driver t1 left join t_line_shift t2 on t1.lineShiftId = t2.id
        where t1.id = #{lineShiftDriverId}
    </select>
</mapper>
DriverYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/dao/mapping/LineSiteMapper.xml
@@ -54,4 +54,43 @@
        </if>
        order by b.startTime
    </select>
    <select id="queryOtherDriver" resultType="map">
        select
        b.id as id,
        a.id as lineShiftDriverId,
        CONCAT(b.startTime, '-', b.endTime) as startTime,
        c.headImgUrl as headImgUrl,
        CONCAT(left(c.`name`, 1), '师傅') as `name`,
        d.carLicensePlate as carLicensePlate,
        CONCAT(e.`name`, f.`name`) as brand,
        d.carColor as carColor,
        CONCAT((a.totalSeat - a.laveSeat), '/', a.totalSeat) as `number`,
        (select sum(fraction)/count(fraction) from t_order_evaluate where driverId = a.driverId) as evaluate,
        h.type as priceType,
        h.content as content,
        a.driverId as driverId,
        c.carId as carId,
        a.totalSeat as totalSeat,
        g.serverCarModelId as serverCarModelId,
        a.laveSeatNumber as laveSeatNumber,
        a.laveSeat as laveSeat
        from t_line_shift_driver a
        left join t_line_shift b on (a.lineShiftId = b.id)
        left join t_driver c on (a.driverId = c.id)
        left join t_car d on (c.carId = d.id)
        left join t_car_brand e on (d.carBrandId = e.id)
        left join t_car_model f on (d.carModelId = f.id)
        left join t_car_service g on (d.id = g.carId and g.`type` = 3)
        left join t_line_price h on (g.serverCarModelId = h.serverCarModelId and b.lineId = h.lineId)
        where 1 = 1
        <if test="null != lineId">
            and b.lineId = #{lineId}
        </if>
        <if test="null != day">
            and a.day = #{day}
        </if>
        and a.driverId != #{driverId}
        order by b.startTime
    </select>
</mapper>
DriverYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IReassignService.java
@@ -4,6 +4,7 @@
import com.stylefeng.guns.modular.system.model.Reassign;
import com.stylefeng.guns.modular.system.util.ResultUtil;
import java.text.ParseException;
import java.util.List;
import java.util.Map;
@@ -16,7 +17,7 @@
     * @return
     * @throws Exception
     */
    ResultUtil saveData(Reassign reassign, Integer uid, Integer type) throws Exception;
    ResultUtil saveData(Reassign reassign, Integer uid, Integer type, Integer driverId) throws Exception;
@@ -53,4 +54,11 @@
     * @throws Exception
     */
    void payReassign(String id, String order_id, Integer type) throws Exception;
    /**
     * 获取司机列表
     * @param orderId
     * @return
     */
    List<Map<String, Object>> queryDriver(String orderId) throws Exception;
}
DriverYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/ReassignServiceImpl.java
@@ -10,6 +10,11 @@
import com.stylefeng.guns.modular.account.unionpay.GetOpenBodySig;
import com.stylefeng.guns.modular.account.unionpay.QrCodeConfiguration;
import com.stylefeng.guns.modular.account.unionpay.Util;
import com.stylefeng.guns.modular.crossCity.dao.LineMapper;
import com.stylefeng.guns.modular.crossCity.dao.LineShiftMapper;
import com.stylefeng.guns.modular.crossCity.dao.LineSiteMapper;
import com.stylefeng.guns.modular.crossCity.model.LineShift;
import com.stylefeng.guns.modular.crossCity.model.LineSite;
import com.stylefeng.guns.modular.crossCity.model.OrderCrossCity;
import com.stylefeng.guns.modular.crossCity.server.IOrderCrossCityService;
import com.stylefeng.guns.modular.smallLogistics.model.OrderLogistics;
@@ -35,6 +40,8 @@
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.stream.Collectors;
@@ -97,7 +104,10 @@
    @Autowired
    private ITEnterpriseWithdrawalService enterpriseWithdrawalService;
    @Autowired
    private UserWithdrawalService userWithdrawalService;
    private LineShiftMapper lineShiftMapper;
    @Autowired
    private LineSiteMapper lineSiteMapper;
    @Value("${callbackPath}")
@@ -111,7 +121,7 @@
     * @throws Exception
     */
    @Override
    public ResultUtil saveData(Reassign reassign, Integer uid, Integer type) throws Exception {
    public ResultUtil saveData(Reassign reassign, Integer uid, Integer type,Integer driverId) throws Exception {
        type = null == type ? 2 : type;//现目前微信只支持小程序支付
        String content = reassign.getRemark();
        if (ToolUtil.isNotEmpty(content)) {
@@ -128,17 +138,17 @@
//        if(null != query){
//            return ResultUtil.error("有未完成支付的改派申请");
//        }
        int types=1;
        int types = 1;
        Reassign query = reassignMapper.query(uid, null, reassign.getOrderId(), reassign.getOrderType(), 1);
        if (null != query) {
            types=2;
            types = 2;
//            return ResultUtil.error("不能重复提交申请");
            reassignMapper.deleteById(query.getId());
        }
        query = reassignMapper.query(uid, null, reassign.getOrderId(), reassign.getOrderType(), 2);
        if (null != query) {
            types=2;
            types = 2;
//            return ResultUtil.error("您提交的申请正在处理中");
        }
        //获取支付金额
@@ -147,7 +157,7 @@
        reassign.setOriginalDriverId(uid);
        reassign.setOriginalCarId(driver.getCarId());
        reassign.setInsertTime(new Date());
        if(types==1){
        if (types == 1) {
            this.insert(reassign);
        }
//        systemNoticeService.addSystemNotice(2, "您的改派申请已成功提交,我们会尽快为你处理!", uid, 1);
@@ -156,12 +166,12 @@
        if (null != reassign.getPayType()) {
            if (reassign.getPayType() == 1) {//微信支付
                reassign.setState(1);
                if(ToolUtil.isEmpty(driver.getAppletsOpenId())){
                if (ToolUtil.isEmpty(driver.getAppletsOpenId())) {
                    return ResultUtil.errorOpenId("司机未绑定微信小程序openid,无法发起微信支付");
                }
                String outTradeNo = buildCbyzxReassignOutTradeNo(reassign.getId(), reassign.getOrderType());
                JSONObject response = cbyzxOrderPayHelper.createOrder(uid, driver.getAppletsOpenId(), outTradeNo, aDouble);
                if(!cbyzxOrderPayHelper.isCreateSuccess(response)){
                if (!cbyzxOrderPayHelper.isCreateSuccess(response)) {
                    return ResultUtil.error(cbyzxOrderPayHelper.extractMessage(response), response);
                }
                resultUtil = ResultUtil.success(response);
@@ -177,21 +187,21 @@
                reassign.setPayTime(new Date());
                reassignMapper.updateById(reassign);
//                Double balance = driver.getBalance();
//                Double laveBusinessMoney = driver.getLaveBusinessMoney();
//                Double laveActivityMoney = driver.getLaveActivityMoney();
//                if(null == balance || balance < aDouble){
//                    throw new SystemException("账户余额不足");
//                }
//                if(null != laveBusinessMoney && laveBusinessMoney.compareTo(aDouble) >= 0){
//                    driver.setLaveBusinessMoney(new BigDecimal(laveBusinessMoney).subtract(new BigDecimal(aDouble)).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
//                }else if(null != laveActivityMoney && laveActivityMoney.compareTo(aDouble) >= 0){
//                    driver.setLaveActivityMoney(new BigDecimal(laveActivityMoney).subtract(new BigDecimal(aDouble)).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
//                }
//                driver.setBalance(new BigDecimal(balance).subtract(new BigDecimal(aDouble)).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
//                driverService.updateById(driver);
                //添加交易明细
//                transactionDetailsService.saveData(uid, "司机改派支付", aDouble, 2, 1, 2, reassign.getOrderType(), reassign.getOrderId());
                Double balance = driver.getBalance();
                Double laveBusinessMoney = driver.getLaveBusinessMoney();
                Double laveActivityMoney = driver.getLaveActivityMoney();
                if (null == balance || balance < aDouble) {
                    throw new SystemException("账户余额不足");
                }
                if (null != laveBusinessMoney && laveBusinessMoney.compareTo(aDouble) >= 0) {
                    driver.setLaveBusinessMoney(new BigDecimal(laveBusinessMoney).subtract(new BigDecimal(aDouble)).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
                } else if (null != laveActivityMoney && laveActivityMoney.compareTo(aDouble) >= 0) {
                    driver.setLaveActivityMoney(new BigDecimal(laveActivityMoney).subtract(new BigDecimal(aDouble)).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
                }
                driver.setBalance(new BigDecimal(balance).subtract(new BigDecimal(aDouble)).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
                driverService.updateById(driver);
                // 添加交易明细
                transactionDetailsService.saveData(uid, "司机改派支付", aDouble, 2, 1, 2, reassign.getOrderType(), reassign.getOrderId());
                //修改改派通知状态
@@ -206,7 +216,7 @@
                        //添加已收入明细
//                        incomeService.saveData(1, orderPrivateCar.getCompanyId(), 4, orderPrivateCar.getId(), 1, reassign.getMoney());
                        // qyt 改派直接推送
                        pushOrderPrivate(orderPrivateCar, uid,types);
                        pushOrderPrivate(orderPrivateCar, uid, types);
                        break;
                    case 2:
                        OrderTaxi orderTaxi = orderTaxiService.selectById(reassign.getOrderId());
@@ -219,8 +229,27 @@
//                        incomeService.saveData(1, orderTaxi.getCompanyId(), 4, orderTaxi.getId(), 2, reassign.getMoney());
                        // qyt 改派直接推送
                        pushOrderTaxi(orderTaxi, uid,types);
                        pushOrderTaxi(orderTaxi, uid, types);
                        break;
                    case 3:
                        OrderCrossCity orderCrossCity = orderCrossCityService.selectById(reassign.getOrderId());
                        orderCrossCity.setOldState(orderCrossCity.getState());
                        orderCrossCity.setIsReassign(2);
                        orderCrossCity.setReassignNotice(2);
                        if(driverId==null){
                            orderCrossCity.setState(11);
                        }else {
                            orderCrossCity.setDriverId(driverId);
                        }
                        orderCrossCityService.updateById(orderCrossCity);
                        //添加已收入明细
                        incomeService.saveData(1, orderCrossCity.getCompanyId(), 4, orderCrossCity.getId(), 3, reassign.getMoney());
                        // 推送用户消息
                        pushUtil.pushOrderReassign(orderCrossCity.getUserId(), 1, orderCrossCity.getId(), 3);
                        // 推送司机消息
                        pushUtil.pushOrderReassign(orderCrossCity.getDriverId(), 2, orderCrossCity.getId(), 3);
                    case 4:
                        OrderLogistics orderLogistics = orderLogisticsService.selectById(reassign.getOrderId());
                        orderLogistics.setOldState(orderLogistics.getState());
@@ -274,7 +303,7 @@
            case 1:
                OrderPrivateCar orderPrivateCar = orderPrivateCarService.selectById(reassign.getOrderId());
                if(orderPrivateCar.getState() == 10){
                if (orderPrivateCar.getState() == 10) {
                    return ResultUtil.error("订单已取消");
                }
                orderPrivateCar.setState(orderPrivateCar.getOldState());
@@ -283,7 +312,7 @@
                break;
            case 2:
                OrderTaxi orderTaxi = orderTaxiService.selectById(reassign.getOrderId());
                if(orderTaxi.getState() == 10){
                if (orderTaxi.getState() == 10) {
                    return ResultUtil.error("订单已取消");
                }
                orderTaxi.setState(orderTaxi.getOldState());
@@ -291,7 +320,7 @@
                orderTaxiService.updateById(orderTaxi);
                break;
        }
        reassignMapper.delete(new EntityWrapper<Reassign>().eq("orderId",reassign.getOrderId()).eq("orderType",reassign.getOrderType()));
        reassignMapper.delete(new EntityWrapper<Reassign>().eq("orderId", reassign.getOrderId()).eq("orderType", reassign.getOrderType()));
        return ResultUtil.success();
    }
@@ -456,12 +485,12 @@
        if (null != reassign.getPayType()) {
            if (reassign.getPayType() == 1) {//微信支付
                String[] split1 = ids.split(",");
                if(ToolUtil.isEmpty(driver.getAppletsOpenId())){
                if (ToolUtil.isEmpty(driver.getAppletsOpenId())) {
                    return ResultUtil.errorOpenId("司机未绑定微信小程序openid,无法发起微信支付");
                }
                String outTradeNo = buildCbyzxBatchReassignOutTradeNo(ids);
                JSONObject response = cbyzxOrderPayHelper.createOrder(uid, driver.getAppletsOpenId(), outTradeNo, totalMoney);
                if(!cbyzxOrderPayHelper.isCreateSuccess(response)){
                if (!cbyzxOrderPayHelper.isCreateSuccess(response)) {
                    return ResultUtil.error(cbyzxOrderPayHelper.extractMessage(response), response);
                }
                resultUtil = ResultUtil.success(response);
@@ -504,14 +533,29 @@
                for (String id : split) {
                    OrderCrossCity orderCrossCity = orderCrossCityService.selectById(id);
                    orderCrossCity.setOldState(orderCrossCity.getState());
                    orderCrossCity.setState(11);
                    if(reassign.getNowDriverId()==null){
                        orderCrossCity.setState(11);
                    }else {
                        orderCrossCity.setDriverId(reassign.getNowDriverId());
                    }
                    orderCrossCity.setReassignNotice(2);
                    orderCrossCity.setIsReassign(2);
                    orderCrossCityService.updateById(orderCrossCity);
                    //添加已收入明细
                    incomeService.saveData(1, orderCrossCity.getCompanyId(), 4, orderCrossCity.getId(), 3, reassign.getMoney());
                    if(reassign.getNowDriverId()!=null){
                        // 推送用户消息
                        pushUtil.pushOrderReassign(orderCrossCity.getUserId(), 1, orderCrossCity.getId(), 3);
                        // 推送司机消息
                        pushUtil.pushOrderReassign(orderCrossCity.getDriverId(), 2, orderCrossCity.getId(), 3);
                    }
                }
                systemNoticeService.addSystemNotice(2, "您已使用余额成功支付改派申请费用!", uid, 1);
                //开始推送调度单
//                Map<String, String> map = new HashMap<>();
//                map.put("orderId", reassign.getOrderId().toString());
@@ -615,7 +659,11 @@
                    for (Reassign reassign : reassigns) {
                        OrderCrossCity orderCrossCity1 = orderCrossCityService.selectById(reassign.getOrderId());
                        orderCrossCity1.setOldState(orderCrossCity1.getState());
                        orderCrossCity1.setState(11);
                        if(reassign.getNowDriverId()==null){
                            orderCrossCity1.setState(11);
                        }else {
                            orderCrossCity1.setDriverId(reassign.getNowDriverId());
                        }
                        orderCrossCity1.setReassignNotice(2);
                        orderCrossCity1.setIsReassign(2);
                        orderCrossCityService.updateById(orderCrossCity1);
@@ -623,6 +671,14 @@
                        //添加已收入明细
                        incomeService.saveData(1, orderCrossCity1.getCompanyId(), 4, orderCrossCity1.getId(), 3, reassign.getMoney());
                        if(reassign.getNowDriverId()!=null){
                            // 推送用户消息
                            pushUtil.pushOrderReassign(orderCrossCity1.getUserId(), 1, orderCrossCity1.getId(), 3);
                            // 推送司机消息
                            pushUtil.pushOrderReassign(orderCrossCity1.getDriverId(), 2, orderCrossCity1.getId(), 3);
                        }
                    }
                    systemNoticeService.addSystemNotice(2, "您已使用" + (type == 1 ? "微信" : (type == 2 ? "支付宝" : "云闪付")) + "成功支付改派申请费用!", reassigns.get(0).getOriginalDriverId(), 1);
                    System.out.println("==============跨城修改改派通知状态完毕===================");
@@ -725,6 +781,83 @@
    }
    @Override
    public List<Map<String, Object>> queryDriver(String orderId) throws Exception {
        OrderCrossCity orderCrossCity = orderCrossCityService.selectById(orderId);
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        String day = sdf.format(new Date());
        Calendar c = Calendar.getInstance();
        c.setTime(new Date());
        c.set(c.get(Calendar.YEAR), c.get(Calendar.MONTH), c.get(Calendar.DAY_OF_MONTH), 0, 0, 0);
        c.set(Calendar.MILLISECOND, 0);
        List<Map<String, Object>> list = new ArrayList<>();
        List<LineShift> lineShifts = lineShiftMapper.getOtherDriverLineShift(orderCrossCity.getLineShiftDriverId());
        List<Map<String, Object>> s = lineSiteMapper.queryOtherDriver(orderCrossCity.getLineId(), sdf.parse(day), orderCrossCity.getDriverId());
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(sdf.parse(day));
        String vehicle = (String) redisTemplate.opsForValue().get("VEHICLE");
        List<Integer> integers = new ArrayList<>();
        if (ToolUtil.isNotEmpty(vehicle)) {
            integers = JSON.parseArray(vehicle).toJavaList(Integer.class);
        }
        for (LineShift lineShift : lineShifts) {
            boolean b = true;
            String[] split = lineShift.getEndTime().split(":");
            calendar.set(Calendar.HOUR_OF_DAY, Integer.valueOf(split[0]));
            calendar.set(Calendar.MINUTE, Integer.valueOf(split[1]));
            if (calendar.getTimeInMillis() < System.currentTimeMillis()) {//结束时间小于当前时间不显示
                continue;
            }
            Map<String, Object> data = new HashMap<>();
            for (Map<String, Object> map : s) {
                //先判断司机是否在限制接单范围内
                boolean bo = false;
                for (Integer integer : integers) {
                    if (integer.compareTo(Integer.valueOf(map.get("driverId").toString())) == 0) {
                        bo = true;
                        break;
                    }
                }
                if (bo) {
                    continue;
                }
                int i = orderTaxiService.selectCount(new EntityWrapper<OrderTaxi>().eq("driverId", map.get("driverId")).in("state", Arrays.asList(2, 3, 4, 5, 11)).eq("DATE_FORMAT(travelTime, '%Y-%m-%d')", day));
                if (i > 0) {
                    continue;
                }
                i = orderPrivateCarService.selectCount(new EntityWrapper<OrderPrivateCar>().eq("driverId", map.get("driverId")).in("state", Arrays.asList(2, 3, 4, 5, 11)).eq("DATE_FORMAT(travelTime, '%Y-%m-%d')", day));
                if (i > 0) {
                    continue;
                }
                List<OrderCrossCity> driverId1 = orderCrossCityService.queryListOrder(Integer.valueOf(map.get("driverId").toString()), lineShift.getId(), Arrays.asList(5), day);
                if (driverId1.size() > 0) {
                    continue;
                }
                if (Integer.valueOf(map.get("laveSeat").toString()) < orderCrossCity.getPeopleNumber()) {
                    continue;
                }
                if (lineShift.getId().intValue() == Integer.valueOf(map.get("id").toString()).intValue()) {
                    b = false;
                    String content = map.get("content").toString();
                    JSONObject jsonObject = JSON.parseObject(content);
                    map.put("price", jsonObject.getString("num1"));
                    data = map;
                    list.add(data);
                }
            }
            if (b) {
                data.put("id", lineShift.getId());
                data.put("startTime", lineShift.getStartTime() + "-" + lineShift.getEndTime());
                list.add(data);
            }
        }
        return list;
    }
    @Autowired
    private ICompanyCityService companyCityService;
@@ -742,7 +875,7 @@
     * @param orderTaxi
     * @throws Exception
     */
    public void pushOrderTaxi(OrderTaxi orderTaxi, Integer uid,int type) throws Exception {
    public void pushOrderTaxi(OrderTaxi orderTaxi, Integer uid, int type) throws Exception {
        new Thread(new Runnable() {
            @Override
            public void run() {
@@ -794,7 +927,7 @@
                                push = true;
                                break;
                            }
                            if (num == 18 && (state == 1 || state==11)) {
                            if (num == 18 && (state == 1 || state == 11)) {
                                System.err.println("结束改派退单-------------修改订单为取消状态");
                                pushUtil.pushEndPush(1, orderTaxi.getUserId(), orderTaxi.getId(), 2, 11);
                                pushUtil.pushOrderState(2, orderTaxi.getDriverId(), orderTaxi.getId(), 2, 10);
@@ -806,7 +939,7 @@
                                orderIds.remove(orderTaxi.getId());
                            }
                        }
                        if(push){
                        if (push) {
                            break;
                        }
                    }
@@ -824,7 +957,7 @@
     * @param orderPrivateCar
     * @throws Exception
     */
    public void pushOrderPrivate(OrderPrivateCar orderPrivateCar, Integer uid,int type) throws Exception {
    public void pushOrderPrivate(OrderPrivateCar orderPrivateCar, Integer uid, int type) throws Exception {
        new Thread(new Runnable() {
            @Override
            public void run() {
@@ -886,7 +1019,7 @@
                                push = true;
                                return;
                            }
                            if (num == 18 && (state == 1 || state==11)) {
                            if (num == 18 && (state == 1 || state == 11)) {
                                System.err.println("结束改派退单-------------修改订单为取消状态");
                                pushUtil.pushEndPush(1, orderPrivateCar.getUserId(), orderPrivateCar.getId(), 1, 11);
                                pushUtil.pushReassignEndCancel(2, orderPrivateCar.getDriverId(), orderPrivateCar.getId(), 1, 10);
@@ -898,7 +1031,7 @@
                                orderIds.remove(orderPrivateCar.getId());
                            }
                        }
                        if(push){
                        if (push) {
                            break;
                        }
                    }
DriverYKDTravel/guns-admin/src/main/resources/application-dev.yml
@@ -56,7 +56,7 @@
spring:
    datasource:
        url: jdbc:mysql://192.168.110.47:3306/hn_ridingdb?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=Asia/Shanghai
        url: jdbc:mysql://192.168.110.80:3306/yuekeduo2.0?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=Asia/Shanghai
        username: root
        password: 123456
        db-name: qyttravel #用来搜集数据库的所有表