wlzboy
2025-09-25 4648a3bee638e9a99d2d80b66f8833b261a2db91
ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java
@@ -10,6 +10,10 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import com.ruoyi.common.utils.StringUtils;
import java.text.SimpleDateFormat;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.Date;
import java.util.HashMap;
@@ -25,6 +29,8 @@
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>() {{
@@ -62,6 +68,9 @@
    @Autowired
    private ITbCallbackLogService tbCallbackLogService;
    @Autowired
    private ITbVehicleOrderService tbVehicleOrderService;
    public void ryMultipleParams(String s, Boolean b, Long l, Double d, Integer i)
    {
@@ -101,7 +110,7 @@
                    //获取车牌号
                    String carLicense = "";
                    String carLicense = "-";
                    StringBuilder driverNames = new StringBuilder();
                    StringBuilder driverMobiles = new StringBuilder();
                    try{
@@ -132,6 +141,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)
@@ -142,11 +183,19 @@
                    SysClientApp clientApp = sysClientAppService.selectSysClientAppByAppKey(tbOrders.getAppId());
                    if(clientApp==null){
                        log.error("回调地址不存在");
                        return;
                        orderStatusService.updateAOrderStatusFlag(orderStatus.getId());
                        continue;
                    }
                    String callbackUrl = clientApp.getCallbackUrl();
                    try {
                        String carLicenseStr = "-";
                        if(carLicense!=null && carLicense.length()>0){
                            carLicenseStr = carLicense;
                        }
                        // 构建请求参数
                        Map<String, String> map = new HashMap<>();
                        map.put("orderID", tbOrders.getOrderID().toString());
@@ -158,10 +207,29 @@
                            .findFirst()
                            .orElse("0"));
                        map.put("orderRemark", orderStatus.getMsg());
                        map.put("plateNo",carLicense);
                        map.put("plateNo",carLicenseStr);
                        map.put("driverMobile",driverMobiles.toString());
                        map.put("driverName", driverNames.toString());
                        map.put("appId", tbOrders.getAppId());
                        //格式化更新时间
                        try {
                            // 2. 定义目标格式(24小时制 "HH")
                            DateTimeFormatter targetFormat = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
                            String formattedTime = orderStatus.getUpdateTime().format(targetFormat);
                            map.put("updateTime", formattedTime);
                        }
                        catch (Exception ex)
                        {
                            log.error("时间格式转化出错");
                        }
                        log.info("【监测】[" + tbOrders.getOrderID() + "]车牌号:" + carLicenseStr);
                        //打印map
                        log.info("【监测】[" + tbOrders.getOrderID() + "]回调请求参数:" + map);
                        // 第一次尝试
                        String response = sendCallback(callbackUrl, map);