From 86bb0542773fec123ea4bfb90852c503265426ac Mon Sep 17 00:00:00 2001
From: wzp <2040239371@qq.com>
Date: 星期六, 03 五月 2025 17:57:27 +0800
Subject: [PATCH] feat: 回调处理和详情展示优化

---
 ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java |  128 ++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 128 insertions(+), 0 deletions(-)

diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java
index 853243b..6fdb634 100644
--- a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java
+++ b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java
@@ -1,7 +1,23 @@
 package com.ruoyi.quartz.task;
 
+import com.ruoyi.common.utils.HttpUtil;
+import com.ruoyi.system.domain.AOrderStatus;
+import com.ruoyi.system.domain.DispatchOrd;
+import com.ruoyi.system.domain.OrderStatusCallBackVo;
+import com.ruoyi.system.domain.TbOrders;
+import com.ruoyi.system.service.IAOrderStatusService;
+import com.ruoyi.system.service.IDispatchOrdService;
+import com.ruoyi.system.service.ITbOrdersService;
+import com.ruoyi.system.service.impl.SysUserServiceImpl;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 import com.ruoyi.common.utils.StringUtils;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
 
 /**
  * 瀹氭椂浠诲姟璋冨害娴嬭瘯
@@ -11,6 +27,16 @@
 @Component("ryTask")
 public class RyTask
 {
+    private static final Logger log = LoggerFactory.getLogger(RyTask.class);
+    @Autowired
+    private IAOrderStatusService orderStatusService;
+
+    @Autowired
+    private ITbOrdersService tbOrdersService;
+
+    @Autowired
+    private IDispatchOrdService dispatchOrdService;
+
     public void ryMultipleParams(String s, Boolean b, Long l, Double d, Integer i)
     {
         System.out.println(StringUtils.format("鎵ц澶氬弬鏂规硶锛� 瀛楃涓茬被鍨媨}锛屽竷灏旂被鍨媨}锛岄暱鏁村瀷{}锛屾诞鐐瑰瀷{}锛屾暣褰}", s, b, l, d, i));
@@ -25,4 +51,106 @@
     {
         System.out.println("鎵ц鏃犲弬鏂规硶");
     }
+
+    public void ryOrderStatus() {
+        try {
+            List<AOrderStatus> orderStatusList = orderStatusService.selectAOrderStatusList();
+            if (orderStatusList.size() < 0) {
+                System.out.println("娌℃湁鏁版嵁");
+                return;
+            }
+            for (AOrderStatus orderStatus : orderStatusList) {
+                int count = tbOrdersService.checkServiceOrdIDExists(orderStatus.getServiceOrdID());
+                if (count > 0) {
+                    // orderStatusService.updateAOrderStatusFlag(orderStatus.getId());
+                    System.out.println("鏈嶅姟璁㈠崟ID瀛樺湪锛�" + orderStatus.getServiceOrdID());
+
+                    TbOrders tbOrders = tbOrdersService.selectTbOrdersByServiceOrdID(orderStatus.getServiceOrdID());
+
+
+
+                    //鑾峰彇杞︾墝鍙�
+                    String carLicense = "";
+                    StringBuilder driverNames = new StringBuilder();
+                    StringBuilder driverMobiles = new StringBuilder();
+                    try{
+                        DispatchOrd dispatchOrd = dispatchOrdService.selectDispatchOrdByServiceOrdIDDt(orderStatus.getServiceOrdID());
+                        if(dispatchOrd!=null){
+                            carLicense = dispatchOrdService.selectCarLicenseByCarId(Integer.valueOf(dispatchOrd.getDispatchOrdCarID()));
+
+                            String dispatchOAEntourage = dispatchOrd.getDispatchOrd_OAEntourage();
+                            String dispatchOAName = dispatchOrd.getDispatchOrd_OAName();
+
+                            if (dispatchOAEntourage != null && dispatchOAName != null) {
+                                
+                                String[] entourages = dispatchOAEntourage.split(",");
+                                String[] names = dispatchOAName.split(",");
+                                
+                                // 鏌ユ壘鎵�鏈夊徃鏈轰俊鎭�
+                                for (int i = 0; i < Math.min(entourages.length, names.length); i++) {
+                                    if ("鍙告満".equals(entourages[i].trim())) {
+                                        String driverMobile = dispatchOrdService.selectDriverMobileByName(names[i].trim());
+                                        if (driverNames.length() > 0) {
+                                            driverNames.append(",");
+                                        }
+                                        driverNames.append(names[i].trim());
+                                        if (driverMobiles.length() > 0) {
+                                            driverMobiles.append(",");
+                                        }
+                                        driverMobiles.append(driverMobile);
+                                    }
+                                }
+                            }
+                        }
+                    }
+                    catch (Exception e)
+                    {
+                        log.error("鑾峰彇璋冨害鍗曞紓甯革細"+e.getMessage());
+                    }
+
+
+
+                    // 浣跨敤鑾峰彇鍒扮殑鎵�鏈夊徃鏈哄鍚�
+                    String callbackUrl = "http://localhost:8080/system/apitest/orderCallback";
+                    try {
+                        // 鏋勫缓璇锋眰鍙傛暟
+                        Map<String, String> map = new HashMap<>();
+                        map.put("orderID", tbOrders.getOrderID().toString());
+                        map.put("thirdOrderNo", orderStatus.getServiceOrdID());
+                        map.put("orderStatus","1");
+                        map.put("orderRemark", orderStatus.getMsg());
+                        map.put("plateNo",carLicense);
+                        map.put("driverMobile",driverMobiles.toString());
+                        map.put("driverName", driverNames.toString());
+
+                        // 鎵撳嵃璇锋眰鍙傛暟
+                        log.info("鍙戦�佸洖璋冭姹傦紝URL: " + callbackUrl);
+                        log.info("璇锋眰鍙傛暟: " + map);
+
+                        // 鍙戦�佽姹傚苟鑾峰彇鍝嶅簲
+                        String response = HttpUtil.post(callbackUrl, map);
+
+                        // 鎵撳嵃鍝嶅簲缁撴灉
+                        log.info("鍥炶皟鍝嶅簲缁撴灉: " + response);
+
+                        // 鏇存柊鐘舵��
+                        // orderStatusService.updateAOrderStatusFlag(orderStatus.getId());
+                    } catch (Exception e) {
+                        log.error("鍥炶皟璇锋眰澶辫触: " + e.getMessage());
+                        // 鍙互鑰冭檻閲嶈瘯鏈哄埗鎴栬�呰褰曞け璐ユ棩蹇�
+                    }
+
+
+
+                }
+                else {
+                    log.info("鏈嶅姟璁㈠崟ID涓嶅瓨鍦細" + orderStatus.getServiceOrdID());
+                    orderStatusService.updateAOrderStatusFlag(orderStatus.getId());
+                }
+            }
+        } catch (Exception e) {
+            log.error("鎵ц澶辫触: " + e.getMessage());
+            e.printStackTrace();
+        }
+    }
 }

--
Gitblit v1.9.1