From 8688b44b9e0c7403f6eca6180d30b38889d6e775 Mon Sep 17 00:00:00 2001
From: 啊鑫 <t2856754968@163.com>
Date: 星期二, 15 四月 2025 16:12:29 +0800
Subject: [PATCH] 切换端口,暴露接口

---
 src/main/java/com/gs/xiaomi/controller/KMController.java |   35 +++++++++++
 src/main/java/com/gs/xiaomi/dto/NumbericalDto.java       |   16 +++++
 src/main/java/com/gs/xiaomi/service/XM104Service.java    |   34 +++++++++-
 src/main/java/com/gs/xiaomi/config/ResultMessage.java    |   39 +++++++++++++
 src/test/java/com/gs/xiaomi/XiaomiApplicationTests.java  |    9 +++
 src/main/resources/application.yml                       |    2 
 6 files changed, 129 insertions(+), 6 deletions(-)

diff --git a/src/main/java/com/gs/xiaomi/config/ResultMessage.java b/src/main/java/com/gs/xiaomi/config/ResultMessage.java
new file mode 100644
index 0000000..0e7b83d
--- /dev/null
+++ b/src/main/java/com/gs/xiaomi/config/ResultMessage.java
@@ -0,0 +1,39 @@
+package com.gs.xiaomi.config;
+
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class ResultMessage {
+
+    private static final int SUCCESS = 200;
+    private static final int ERROR = 500;
+
+    private int code;
+
+    private String message;
+
+    private int successful;
+
+    private String data;
+
+    public static ResultMessage ok() {
+        return new ResultMessage(SUCCESS, null, 0, "鎺ユ敹鎴愬姛");
+    }
+
+    public static ResultMessage ok(String data) {
+        return new ResultMessage(SUCCESS, null, 0, data);
+    }
+
+    public static ResultMessage error(Exception e) {
+        return new ResultMessage(ERROR, e.getMessage(), 1, "鎺ユ敹澶辫触");
+    }
+
+    public static ResultMessage error(String message) {
+        return new ResultMessage(ERROR, message, 1, "鎺ユ敹澶辫触");
+    }
+}
diff --git a/src/main/java/com/gs/xiaomi/controller/KMController.java b/src/main/java/com/gs/xiaomi/controller/KMController.java
new file mode 100644
index 0000000..6b395e3
--- /dev/null
+++ b/src/main/java/com/gs/xiaomi/controller/KMController.java
@@ -0,0 +1,35 @@
+package com.gs.xiaomi.controller;
+
+
+import com.gs.xiaomi.config.ResultMessage;
+import com.gs.xiaomi.dto.NumbericalDto;
+import com.gs.xiaomi.service.XM104Service;
+import lombok.RequiredArgsConstructor;
+import org.springframework.web.bind.annotation.*;
+
+@RestController
+@RequestMapping("Numerical")
+@RequiredArgsConstructor
+@CrossOrigin(origins = "*") //璺ㄥ煙璇锋眰
+public class KMController {
+
+
+    private final XM104Service xm104Service;
+
+    @PostMapping("/manualSynByASN")
+    public ResultMessage setCode(@RequestBody NumbericalDto barcode) {
+
+        if (barcode.getAsn() == null) {
+            return ResultMessage.error("ASN鍙蜂负绌�");
+        }
+
+        try {
+            if (!xm104Service.manualSynchronization(barcode)) {
+                return ResultMessage.error("鍚屾澶辫触");
+            }
+            return ResultMessage.ok();
+        } catch (Exception e) {
+            return ResultMessage.error(e);
+        }
+    }
+}
diff --git a/src/main/java/com/gs/xiaomi/dto/NumbericalDto.java b/src/main/java/com/gs/xiaomi/dto/NumbericalDto.java
new file mode 100644
index 0000000..22dbda0
--- /dev/null
+++ b/src/main/java/com/gs/xiaomi/dto/NumbericalDto.java
@@ -0,0 +1,16 @@
+package com.gs.xiaomi.dto;
+
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class NumbericalDto {
+
+    private String asn;
+
+    private String date;
+}
diff --git a/src/main/java/com/gs/xiaomi/service/XM104Service.java b/src/main/java/com/gs/xiaomi/service/XM104Service.java
index 50a23c2..cf60c9d 100644
--- a/src/main/java/com/gs/xiaomi/service/XM104Service.java
+++ b/src/main/java/com/gs/xiaomi/service/XM104Service.java
@@ -38,16 +38,25 @@
     private final LogisticsPackageService logisticsPackageService;
 
     public void getDb() {
-
         String format = DateUtil.format(new Date(), "yyyy-MM-dd");
+        getXM104Save(format);
+    }
+
+    private void getXM104Save(String format) {
+
+        BizDocument doc = new BizDocument();
+        doc.setBizDate(format);
+        doc.setLifnr(DataAcquisitionConfiguration.LIFNR);
+
+        getXM104(doc);
+    }
+
+    private void getXM104(BizDocument doc) {
 
         ZfmWsApiRequest req = new ZfmWsApiRequest();
         req.setIvCode(DataAcquisitionConfiguration.IV_CODEXM104);
         req.setIvEvent("");
         req.setIvFlag("");
-        BizDocument doc = new BizDocument();
-        doc.setBizDate("2025-04-01");
-        doc.setLifnr(DataAcquisitionConfiguration.LIFNR);
         req.setIvInfo(doc);
         req.setIvPass(DataAcquisitionConfiguration.getIvPass(DataAcquisitionConfiguration.IV_CODEXM104));
         req.setIvUser(DataAcquisitionConfiguration.IV_USER);
@@ -96,7 +105,6 @@
             log.error("銆愯鍙栧垪琛ㄥ紓甯搞�戝弬鏁�: {} 寮傚父: {}", JSON.toJSONString(req), e.getMessage(), e);
             throw new RuntimeException(e);
         }
-
     }
 
     private BizDocumentResult getDeliveryNo(ZfmWsApiRequest request) throws Exception {
@@ -164,4 +172,20 @@
 
         });
     }
+
+    public boolean manualSynchronization(NumbericalDto numbericalDto) {
+        try {
+            String[] asns = numbericalDto.getAsn().split(",");
+            for (String asn : asns) {
+                BizDocument doc = new BizDocument();
+                doc.setLifnr(DataAcquisitionConfiguration.LIFNR);
+                doc.setZzasn(asn);
+                getXM104(doc);
+            }
+            return true;
+        } catch (Exception e) {
+            log.error("銆愭墜鍔ㄨ鍙朅SN寮傚父銆� 寮傚父: {}", e.getMessage(), e);
+            return false;
+        }
+    }
 }
\ No newline at end of file
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index 5c90de1..74b8bb9 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -1,5 +1,5 @@
 server:
-  port: 9095
+  port: 9096
 
 spring:
   datasource:
diff --git a/src/test/java/com/gs/xiaomi/XiaomiApplicationTests.java b/src/test/java/com/gs/xiaomi/XiaomiApplicationTests.java
index cc8dbe1..81ed733 100644
--- a/src/test/java/com/gs/xiaomi/XiaomiApplicationTests.java
+++ b/src/test/java/com/gs/xiaomi/XiaomiApplicationTests.java
@@ -15,4 +15,13 @@
     void contextLoads() throws Exception {
         xm104Service.getDb();
     }
+
+    @Test
+    void test() {
+        String str = ",,";
+        String[] parts = str.split(",");
+        for (String part : parts) {
+            System.out.println(part);
+        }
+    }
 }

--
Gitblit v1.9.3