wzp
2025-05-12 e21119007e7d9899376c0dce4ed406a4c2901310
ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java
@@ -25,6 +25,31 @@
public class RyTask
{
    private static final Logger log = LoggerFactory.getLogger(RyTask.class);
    // 添加状态映射字典
    private static final Map<String, String> ORDER_STATUS_MAP = new HashMap<String, String>() {{
        put("-1", "无效取消");
        put("1", "未报价");
        put("2", "已报价");
        put("3", "1 - 完全未确认");
        put("4", "2 - 部分已确认");
        put("5", "未出车");
        put("6", "3 - 已出车(去接患者途中)");
        put("7", "已出车(等待患者)");
        put("8", "4 - 已出车(服务中)");
        put("9", "5 - 已送达(回程中)");
        put("10", "已返回");
        put("11", "跑空单,已返回");
        put("12", "取消");
        put("13", "0 - 新调度单(未下发)");
        put("14", "已提交,等待审核");
        put("15", "审核完成");
        put("16", "审核不通过");
        put("17", "已站点");
    }};
    @Autowired
    private IAOrderStatusService orderStatusService;
@@ -40,6 +65,9 @@
    @Autowired
    private ITbCallbackLogService tbCallbackLogService;
    @Autowired
    private ITbVehicleOrderService tbVehicleOrderService;
    public void ryMultipleParams(String s, Boolean b, Long l, Double d, Integer i)
    {
        System.out.println(StringUtils.format("执行多参方法: 字符串类型{},布尔类型{},长整型{},浮点型{},整形{}", s, b, l, d, i));
@@ -54,6 +82,9 @@
    {
        System.out.println("执行无参方法");
    }
    /**
     * 回调推送状态
@@ -106,6 +137,38 @@
                                    }
                                }
                            }
                            //如果车牌号不为空
                            if(carLicense!=null && carLicense.length()>0){
                                log.info("更新订单-车牌号关联表,【" + tbOrders.getOrderID() + "】车牌号:" + carLicense);
                                //查询是否存在关联记录
                                TbVehicleOrder tbVehicleOrder = tbVehicleOrderService.selectTbVehicleOrderById(tbOrders.getOrderID());
                                if(tbVehicleOrder==null){
                                    //不存在关联记录
                                    //创建关联记录
                                    tbVehicleOrder = new TbVehicleOrder();
                                    tbVehicleOrder.setOrderId(tbOrders.getOrderID());
                                    tbVehicleOrder.setServiceOrdId(tbOrders.getServiceOrdID());
                                    tbVehicleOrder.setVehicle(carLicense);
                                    tbVehicleOrder.setStatus("0");
                                    tbVehicleOrderService.insertTbVehicleOrder(tbVehicleOrder);
                                }
                                else{
                                    //存在关联记录
                                    //更新关联记录
                                    if(orderStatus.getMsg().contains("已返回"))
                                    {
                                        tbVehicleOrder.setStatus("1");
                                        tbVehicleOrderService.updateTbVehicleOrder(tbVehicleOrder);
                                    }
                                    else if(orderStatus.getMsg().contains("取消"))
                                    {
                                        tbVehicleOrder.setStatus("2");
                                        tbVehicleOrderService.updateTbVehicleOrder(tbVehicleOrder);
                                    }
                                }
                            }
                        }
                    }
                    catch (Exception e)
@@ -116,7 +179,7 @@
                    SysClientApp clientApp = sysClientAppService.selectSysClientAppByAppKey(tbOrders.getAppId());
                    if(clientApp==null){
                        log.error("回调地址不存在");
                        return;
                        continue;
                    }
                    String callbackUrl = clientApp.getCallbackUrl();
@@ -125,12 +188,16 @@
                        Map<String, String> map = new HashMap<>();
                        map.put("orderID", tbOrders.getOrderID().toString());
                        map.put("thirdOrderNo", orderStatus.getServiceOrdID());
                        map.put("orderStatus","1");
                        map.put("orderStatus", ORDER_STATUS_MAP.entrySet()
                            .stream()
                            .filter(entry -> entry.getValue().equals(orderStatus.getMsg()))
                            .map(Map.Entry::getKey)
                            .findFirst()
                            .orElse("0"));
                        map.put("orderRemark", orderStatus.getMsg());
                        map.put("plateNo",carLicense);
                        map.put("driverMobile",driverMobiles.toString());
                        map.put("driverName", driverNames.toString());
                        map.put("appId", tbOrders.getAppId());
                        // 第一次尝试
                        String response = sendCallback(callbackUrl, map);