From 0d663103c178d04f725fb0ef3a4ce2fa454b9244 Mon Sep 17 00:00:00 2001
From: 1 <1>
Date: 星期三, 22 十月 2025 11:51:27 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/task/handler/OrderToLineHandler.java |   78 ++++++++++++++++++++++++++++++++-------
 1 files changed, 64 insertions(+), 14 deletions(-)

diff --git a/src/main/java/com/zy/asrs/task/handler/OrderToLineHandler.java b/src/main/java/com/zy/asrs/task/handler/OrderToLineHandler.java
index 143bc74..9e017d2 100644
--- a/src/main/java/com/zy/asrs/task/handler/OrderToLineHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/OrderToLineHandler.java
@@ -2,21 +2,28 @@
 
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.core.common.Cools;
+import com.core.common.SpringUtils;
 import com.core.exception.CoolException;
+import com.zy.asrs.entity.ApiLog;
 import com.zy.asrs.entity.param.ArmPrecomputeParam;
 import com.zy.asrs.entity.param.OrderToLine;
 import com.zy.asrs.service.ApiLogService;
 import com.zy.asrs.service.BasArmRulesService;
+import com.zy.asrs.service.OrderPakinService;
 import com.zy.asrs.service.OrderService;
 import com.zy.asrs.task.AbstractHandler;
 import com.zy.asrs.task.core.ReturnT;
 import com.zy.common.utils.HttpHandler;
+import com.zy.common.utils.IpTools;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.util.Date;
 import java.util.HashMap;
 import java.util.Map;
 
@@ -27,7 +34,7 @@
     @Autowired
     private ApiLogService apiLogService;
     @Autowired
-    private OrderService orderService;
+    private OrderPakinService orderPakinService;
 
     @Value("${line.address.URL}")
     //绔彛
@@ -54,26 +61,43 @@
                 JSONObject jsonObject = JSON.parseObject(response);
                 if (jsonObject.getInteger("code").equals(200)) {
                     success = true;
-                    orderService.updateOrderStatus(orderToline.getOrderNo());   //鏇存柊璁㈠崟鐘舵�� 0 -> 1
+                    orderPakinService.updateOrderStatus(orderToline.getOrderNo());   //鏇存柊璁㈠崟鐘舵�� 0 -> 1
                 } else {
                     log.error("涓嬪彂鍗曟嵁锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", URL+Path, JSON.toJSONString(orderToline), response);
                     throw new CoolException("涓嬪彂鍗曟嵁澶辫触");
                 }
             } catch (Exception e) {
-                log.error("fail", e);
-                return FAIL.setMsg(e.getMessage());
+                try{
+                    log.error("fail==>涓嬪彂鍗曟嵁鑷冲垎鎷g嚎:"+e.getLocalizedMessage());
+                } catch (Exception e1){
+
+                }
+//                return FAIL.setMsg(e.getLocalizedMessage());
+                return FAIL;
             } finally {
                 try {
-                    // 淇濆瓨鎺ュ彛鏃ュ織
-                    apiLogService.save(
-                            "涓嬪彂鍗曟嵁鑷冲垎鎷g嚎",
-                            URL + Path,
-                            null,
-                            "127.0.0.1",
-                            JSON.toJSONString(orderToline),
-                            response,
-                            success
-                    );
+                    if (success){
+                        // 淇濆瓨鎺ュ彛鏃ュ織
+                        apiLogService.save(
+                                "涓嬪彂鍗曟嵁鑷冲垎鎷g嚎",
+                                URL +"/"+ Path,
+                                null,
+                                "127.0.0.1",
+                                JSON.toJSONString(orderToline),
+                                response,
+                                success
+                        );
+                    } else {
+                        beforeBodyWriteCallApiLogSave(
+                                "涓嬪彂鍗曟嵁鑷冲垎鎷g嚎",
+                                URL +"/"+ Path,
+                                null,
+                                "127.0.0.1",
+                                JSON.toJSONString(orderToline),
+                                response,
+                                success
+                        );
+                    }
                 } catch (Exception e) { log.error("", e); }
             }
         }catch (Exception e){
@@ -81,4 +105,30 @@
         }
         return SUCCESS;
     }
+
+    public void beforeBodyWriteCallApiLogSave(String name, String url, String appkey, String ip, String request, String response, boolean success) {
+        ApiLog apiLog = apiLogService.selectOne(new EntityWrapper<ApiLog>()
+                .eq("namespace", name)
+                .eq("response", response)
+                .eq("result", success? 1:0)
+                .orderBy("create_time", false)
+        );
+
+        if (!Cools.isEmpty(apiLog)){
+            long parseLong = Long.parseLong(apiLog.getTimestamp());
+            if (new Date().getTime()-parseLong<5*1000*60){
+                return;
+            }
+        }
+        // 淇濆瓨鎺ュ彛鏃ュ織
+        apiLogService.save(
+                name,
+                url,
+                appkey,
+                ip,
+                request,
+                response,
+                success
+        );
+    }
 }

--
Gitblit v1.9.1