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 |   73 ++++++++++++++++++++++++++++++------
 1 files changed, 61 insertions(+), 12 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 153f89d..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,7 +2,11 @@
 
 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;
@@ -12,12 +16,14 @@
 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;
 
@@ -61,20 +67,37 @@
                     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){
@@ -82,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