From dc0579496b9c858806a606523397cd43ee6217ba Mon Sep 17 00:00:00 2001
From: wzp <2040239371@qq.com>
Date: 星期二, 06 五月 2025 11:42:42 +0800
Subject: [PATCH] feat: 新增回调记录表和优化订单记录表

---
 ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java |   37 +++++++++++++++++++++++++++++++------
 1 files changed, 31 insertions(+), 6 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 e187354..d4cfcca 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,17 +1,16 @@
 package com.ruoyi.quartz.task;
 
+import com.alibaba.fastjson2.JSON;
 import com.ruoyi.common.utils.HttpUtil;
 import com.ruoyi.system.domain.*;
-import com.ruoyi.system.service.IAOrderStatusService;
-import com.ruoyi.system.service.IDispatchOrdService;
-import com.ruoyi.system.service.ISysClientAppService;
-import com.ruoyi.system.service.ITbOrdersService;
+import com.ruoyi.system.service.*;
 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.Date;
 
 import java.util.HashMap;
 import java.util.List;
@@ -37,6 +36,9 @@
 
     @Autowired
     private ISysClientAppService sysClientAppService;
+
+    @Autowired
+    private ITbCallbackLogService tbCallbackLogService;
 
     public void ryMultipleParams(String s, Boolean b, Long l, Double d, Integer i)
     {
@@ -66,7 +68,7 @@
             for (AOrderStatus orderStatus : orderStatusList) {
                 int count = tbOrdersService.checkServiceOrdIDExists(orderStatus.getServiceOrdID());
                 if (count > 0) {
-                    System.out.println("鏈嶅姟璁㈠崟ID瀛樺湪锛�" + orderStatus.getServiceOrdID());
+                    log.info("鏈嶅姟璁㈠崟ID瀛樺湪锛�" + orderStatus.getServiceOrdID());
 
                     TbOrders tbOrders = tbOrdersService.selectTbOrdersByServiceOrdID(orderStatus.getServiceOrdID());
 
@@ -111,7 +113,7 @@
                         log.error("鑾峰彇璋冨害鍗曞紓甯革細"+e.getMessage());
                     }
 
-                    SysClientApp clientApp = sysClientAppService.selectSysClientAppByAppKey("appId1");
+                    SysClientApp clientApp = sysClientAppService.selectSysClientAppByAppKey(tbOrders.getAppId());
                     if(clientApp==null){
                         log.error("鍥炶皟鍦板潃涓嶅瓨鍦�");
                         return;
@@ -128,6 +130,7 @@
                         map.put("plateNo",carLicense);
                         map.put("driverMobile",driverMobiles.toString());
                         map.put("driverName", driverNames.toString());
+                        map.put("appId", tbOrders.getAppId());
 
                         // 绗竴娆″皾璇�
                         String response = sendCallback(callbackUrl, map);
@@ -144,6 +147,9 @@
                             log.info("鍥炶皟鎺ㄩ�佹垚鍔燂紝鍙傛暟濡備笅锛�");
                             map.forEach((key, value) -> log.info("    {} : {}", key, value));
                             orderStatusService.updateAOrderStatusFlag(orderStatus.getId());
+
+
+                            
                         } else {
                             log.error("鍥炶皟璇锋眰閲嶈瘯鍚庝粛鐒跺け璐�");
                             orderStatusService.updateAOrderStatusFlag(orderStatus.getId());
@@ -166,6 +172,16 @@
 
     // 鏂板鍙戦�佸洖璋冪殑鏂规硶
     private String sendCallback(String callbackUrl, Map<String, String> params) {
+        TbCallbackLog callbackLog = new TbCallbackLog();
+        callbackLog.setCallbackUrl(callbackUrl);
+        callbackLog.setRequestParams(JSON.toJSONString(params));
+        callbackLog.setCreateTime(new Date());
+        callbackLog.setStatus("0");  // 榛樿澶辫触
+        callbackLog.setRetryCount(0);
+        callbackLog.setServiceOrdId(params.get("thirdOrderNo"));
+        callbackLog.setOrderId(Long.valueOf(params.get("orderID")));
+        callbackLog.setAppId(params.get("appId"));
+
         try {
             // 鎵撳嵃璇锋眰鍙傛暟
             log.info("鍙戦�佸洖璋冭姹傦紝URL: " + callbackUrl);
@@ -177,9 +193,18 @@
             // 鎵撳嵃鍝嶅簲缁撴灉
             log.info("鍥炶皟鍝嶅簲缁撴灉: " + response);
             
+            // 鏇存柊鏃ュ織鐘舵��
+            callbackLog.setResponseResult(response);
+            callbackLog.setStatus("1");  // 鎴愬姛
+            
+            tbCallbackLogService.insertTbCallbackLog(callbackLog);
             return response;
         } catch (Exception e) {
             log.error("鍥炶皟璇锋眰寮傚父: " + e.getMessage());
+            // 璁板綍閿欒淇℃伅
+            callbackLog.setErrorMsg(e.getMessage());
+            callbackLog.setRetryCount(1);  // 濡傛灉鏄噸璇曠殑鎯呭喌涓嬮渶瑕�+1
+            tbCallbackLogService.insertTbCallbackLog(callbackLog);
             return null;
         }
     }

--
Gitblit v1.9.1