From bbf11a79fce0131aa95905c09b00f25e7696d20b Mon Sep 17 00:00:00 2001
From: lsh <lsh@163.com>
Date: 星期二, 21 十月 2025 16:53:13 +0800
Subject: [PATCH] *

---
 src/main/java/com/zy/asrs/task/handler/OrderToLineHandler.java |   84 +++++++++++++++++++++++++++++++++++-------
 1 files changed, 70 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 2305e09..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,20 +2,30 @@
 
 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;
 
 @Slf4j
 @Service
@@ -24,7 +34,7 @@
     @Autowired
     private ApiLogService apiLogService;
     @Autowired
-    private OrderService orderService;
+    private OrderPakinService orderPakinService;
 
     @Value("${line.address.URL}")
     //绔彛
@@ -39,7 +49,10 @@
             String response = "";
             boolean success = false;
             try {
+                Map<String, Object> map = new HashMap<>();
+                map.put("appkey","ea1f0459efc02a79f046f982767939ae");
                 response = new HttpHandler.Builder()
+                        .setHeaders(map)
                         .setUri(URL)
                         .setPath(Path)
                         .setJson(JSON.toJSONString(orderToline))
@@ -48,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){
@@ -75,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