From 39375b057d1c775b4e063e8fa2eeaf8c4627812c Mon Sep 17 00:00:00 2001
From: 1 <1>
Date: 星期三, 15 十月 2025 09:16:10 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/entity/param/OrderArmEndParam.java        |    4 +
 src/main/java/com/zy/common/config/ControllerResAdvice.java         |   68 +++++++++++++++++++++++++++++-----
 src/main/java/com/zy/asrs/entity/param/TaskArmCycleResultParam.java |    4 +
 src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java         |   12 +-----
 4 files changed, 66 insertions(+), 22 deletions(-)

diff --git a/src/main/java/com/zy/asrs/entity/param/OrderArmEndParam.java b/src/main/java/com/zy/asrs/entity/param/OrderArmEndParam.java
index aaecd46..f2edcc2 100644
--- a/src/main/java/com/zy/asrs/entity/param/OrderArmEndParam.java
+++ b/src/main/java/com/zy/asrs/entity/param/OrderArmEndParam.java
@@ -17,12 +17,14 @@
     private String staNo;
     private String orderNo;
     private String sku;
+    private Long bindingTags;
 
     public void OrderIdTwo(String sign_order,String sign_sku){
         String[] split = order_id.split(Pattern.quote(sign_order));
         staNo = split[1];
         String[] split1 = split[0].split(Pattern.quote(sign_sku));
-        orderNo = split1[1];
+        orderNo = split1[2];
         sku = split1[0];
+        bindingTags = Long.parseLong(split1[1]);
     }
 }
diff --git a/src/main/java/com/zy/asrs/entity/param/TaskArmCycleResultParam.java b/src/main/java/com/zy/asrs/entity/param/TaskArmCycleResultParam.java
index 1797392..5c7eec6 100644
--- a/src/main/java/com/zy/asrs/entity/param/TaskArmCycleResultParam.java
+++ b/src/main/java/com/zy/asrs/entity/param/TaskArmCycleResultParam.java
@@ -17,12 +17,14 @@
     private String staNo;
     private String orderNo;
     private String sku;
+    private Long bindingTags;
 
     public void OrderIdTwo(String sign_order,String sign_sku){
         String[] split = order_id.split(Pattern.quote(sign_order));
         staNo = split[1];
         String[] split1 = split[0].split(Pattern.quote(sign_sku));
-        orderNo = split1[1];
+        orderNo = split1[2];
         sku = split1[0];
+        bindingTags = Long.parseLong(split1[1]);
     }
 }
diff --git a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
index fc65a33..c2a3112 100644
--- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -641,6 +641,7 @@
                     new EntityWrapper<BasArmMastSign>()
                             .eq("matnr", param.getSku())
                             .eq("order_no", param.getOrderNo())
+                            .eq("create_time", param.getBindingTags())
             );
             if (!Cools.isEmpty(basArmMastSign)){
                 basArmMastSign.setStatus(1);
@@ -730,19 +731,10 @@
     @Override
     @Transactional
     public boolean TaskArmWorkOrderSign(OrderArmEndParam param) {
-        BasArmMastSign basArmMastSign = basArmMastSignService.selectOne(
-                new EntityWrapper<BasArmMastSign>()
-                        .eq("matnr", param.getSku())
-                        .eq("order_no", param.getOrderNo())
-        );
-        if (Cools.isEmpty(basArmMastSign)){
-//            throw new CoolException("鏈煡璇㈠埌鐩稿叧鏈烘鑷傛媶鐮佸灈浠诲姟锛侊紒锛�"+ JSON.toJSONString(param));
-            return false;
-        }
         BasArmMastSign basArmMastSignNew = basArmMastSignService.selectOne(
                 new EntityWrapper<BasArmMastSign>()
                         .eq("order_no", param.getOrderNo())
-                        .eq("create_time", basArmMastSign.getCreateTime())
+                        .eq("create_time", param.getBindingTags())
                         .eq("status", 0)
         );
         if (Cools.isEmpty(basArmMastSignNew)){
diff --git a/src/main/java/com/zy/common/config/ControllerResAdvice.java b/src/main/java/com/zy/common/config/ControllerResAdvice.java
index a4cdc97..52f9708 100644
--- a/src/main/java/com/zy/common/config/ControllerResAdvice.java
+++ b/src/main/java/com/zy/common/config/ControllerResAdvice.java
@@ -1,8 +1,11 @@
 package com.zy.common.config;
 
 import com.alibaba.fastjson.JSON;
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.core.common.Cools;
 import com.core.common.R;
+import com.core.common.SpringUtils;
+import com.zy.asrs.entity.ApiLog;
 import com.zy.asrs.service.ApiLogService;
 import com.zy.common.utils.IpTools;
 import lombok.extern.slf4j.Slf4j;
@@ -20,6 +23,7 @@
 import java.io.BufferedReader;
 import java.io.InputStreamReader;
 import java.nio.charset.StandardCharsets;
+import java.util.Date;
 
 /**
  * 杩斿洖鍊煎鐞�
@@ -47,16 +51,28 @@
                     String appkey = request.getHeader("appkey");
                     Object reqCache = request.getAttribute("cache");
                     if (!Cools.isEmpty(appkey)) {
-                        // 淇濆瓨鎺ュ彛鏃ュ織
-                        apiLogService.save(
-                                String.valueOf(appAuth),
-                                request.getRequestURI(),
-                                appkey,
-                                IpTools.gainRealIp(request),
-                                reqCache==null?"": JSON.toJSONString(reqCache),
-                                JSON.toJSONString(o),
-                                String.valueOf(((R) o).get("code")).equalsIgnoreCase("200")
-                        );
+                        boolean success = String.valueOf(((R) o).get("code")).equalsIgnoreCase("200");
+                        if (success){
+                            // 淇濆瓨鎺ュ彛鏃ュ織
+                            apiLogService.save(
+                                    String.valueOf(appAuth),
+                                    request.getRequestURI(),
+                                    appkey,
+                                    IpTools.gainRealIp(request),
+                                    reqCache==null?"": JSON.toJSONString(reqCache),
+                                    JSON.toJSONString(o),
+                                    success
+                            );
+                        } else {
+                            beforeBodyWriteCallApiLogSave(
+                                    String.valueOf(appAuth),
+                                    request.getRequestURI(),
+                                    appkey,
+                                    IpTools.gainRealIp(request),
+                                    reqCache==null?"": JSON.toJSONString(reqCache),
+                                    JSON.toJSONString(o),
+                                    success);
+                        }
                     }
                 }
             }
@@ -64,6 +80,38 @@
         return o;
     }
 
+    public void beforeBodyWriteCallApiLogSave(String name, String url, String appkey, String ip, String request, String response, boolean success) {
+        ApiLogService apiLogService = SpringUtils.getBean(ApiLogService.class);
+
+        ApiLog apiLog = apiLogService.selectOne(new EntityWrapper<ApiLog>()
+                .eq("namespace", name)
+                .eq("request", request)
+                .eq("response", response)
+                .eq("ip", ip)
+                .eq("url", url)
+                .eq("appkey", appkey)
+                .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
+        );
+    }
+
     public static String json(HttpServletRequest request) {
         try {
             BufferedReader streamReader = new BufferedReader( new InputStreamReader(request.getInputStream(), StandardCharsets.UTF_8));

--
Gitblit v1.9.1