From 2a9f6d72baa207bc91c98d0a5cd2235be9816691 Mon Sep 17 00:00:00 2001
From: dubin <bindu_bean@163.com>
Date: 星期三, 18 三月 2026 11:05:32 +0800
Subject: [PATCH] 对接接口开发

---
 src/main/java/com/zy/asrs/controller/OpenController.java |  117 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 117 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/OpenController.java b/src/main/java/com/zy/asrs/controller/OpenController.java
index 6cdf87b..e9735dc 100644
--- a/src/main/java/com/zy/asrs/controller/OpenController.java
+++ b/src/main/java/com/zy/asrs/controller/OpenController.java
@@ -9,6 +9,9 @@
 import com.core.exception.CoolException;
 import com.zy.asrs.entity.LocMast;
 import com.zy.asrs.entity.param.*;
+import com.zy.asrs.entity.result.OpenInventoryVo;
+import com.zy.asrs.entity.result.OpenSummaryVo;
+import com.zy.asrs.entity.result.TokenVo;
 import com.zy.asrs.service.LocDetlService;
 import com.zy.asrs.service.LocMastService;
 import com.zy.asrs.service.OpenService;
@@ -292,4 +295,118 @@
 //        System.out.println(JSON.toJSONString(param1));
 //    }
 
+    /*========================================new Agreement==============================================================*/
+
+    /**
+     * 鑾峰彇token
+     * @param param
+     * @param request
+     * @return
+     */
+    @PostMapping("/getToken")
+    public synchronized R getToken(@RequestBody(required = true) TokenParam param,
+                                   HttpServletRequest request){
+        authNew(param, param, request);
+        if (Cools.isEmpty(param)) {
+            return R.parse(BaseRes.PARAM);
+        }
+        TokenVo tokenVo = new TokenVo();
+        String token = Cools.enToken(System.currentTimeMillis() + param.getAppId(), param.getAppSecret());
+        tokenVo.setToken(token);
+        tokenVo.setValidTime(30);
+        return R.ok().add(tokenVo);
+    }
+
+    private void authNew(TokenParam param, Object obj, HttpServletRequest request) {
+        log.info("{}鎺ュ彛琚闂紱appSecret:{}锛涜姹傛暟鎹細{}", "open/sensorType/list/auth/v1", param.getAppSecret(), JSON.toJSONString(obj));
+        request.setAttribute("cache", obj);
+        if (!auth) {
+            return;
+        }
+        if (Cools.isEmpty(param.getAppId()) || Cools.isEmpty(param.getAppSecret())) {
+            throw new CoolException("璁よ瘉澶辫触锛岃纭appId鍜宎ppSecret鏃犺锛�");
+        }
+        if (!param.getAppId().contains("HLWMS")){
+            throw new CoolException("璁よ瘉澶辫触锛岃纭appId鏃犺锛�");
+        }
+        if (!APP_KEY_LIST.contains(param.getAppSecret())) {
+            throw new CoolException("璁よ瘉澶辫触锛岃纭appSecret鏃犺锛�");
+        }
+    }
+
+    /**
+     * 鐗╂枡鍩虹淇℃伅鍚屾
+     * @param appkey
+     * @param param
+     * @param request
+     * @return
+     */
+    @PostMapping("/erp/mat/sync")
+    public synchronized R syncMatInfoV2(@RequestHeader(required = false) String appkey,
+                                        @RequestBody(required = false) List<MatSyncParam.MatParam> param,
+                                        HttpServletRequest request){
+        if (Cools.isEmpty(param)){
+            return R.parse(BaseRes.PARAM);
+        }
+        MatSyncParam matSyncParam = new MatSyncParam();
+        List<MatSyncParam.MatParam> objects = new ArrayList<>();
+        objects = param;
+        matSyncParam.matDetails = objects;
+        openService.syncMat(matSyncParam);
+        return R.ok();
+    }
+
+    /**
+     * 鍏�/鍑哄簱閫氱煡鍗曚笅鍙�
+     * @param param
+     * @return
+     */
+    @PostMapping("/erp/order/add")
+    public synchronized R addOrder(@RequestBody OpenOrderParam param){
+        if (Cools.isEmpty(param)) {
+            return R.parse(BaseRes.PARAM);
+        }
+        if (Cools.isEmpty(param.getOrderNo())){
+            return R.error("鍗曟嵁缂栧彿[orderNo]涓嶈兘涓虹┖");
+        }
+        if (Cools.isEmpty(param.getOrderType())){
+            return R.error("鍗曟嵁绫诲瀷[orderType]涓嶈兘涓虹┖");
+        }
+        if (Cools.isEmpty(param.getWkType())){
+            return R.error("涓氬姟绫诲瀷[wkType]涓嶈兘涓虹┖");
+        }
+        if (Cools.isEmpty(param.getOrderItems())){
+            return R.error("璁㈠崟鏄庣粏[orderItems]涓嶈兘涓虹┖");
+        }
+        openService.orderCreate(param);
+        return R.ok();
+    }
+
+    /**
+     * 搴撳瓨鏄庣粏鏌ヨ
+     * @param param
+     * @return
+     */
+    @PostMapping("/erp/inventory/details")
+    public synchronized R queryInventoryDetails(@RequestBody OpenInventoryParam param){
+        if (Cools.isEmpty(param)){
+            return R.parse(BaseRes.PARAM);
+        }
+        OpenInventoryVo openInventoryVo = openService.queryInventoryDetails(param);
+        return R.ok(openInventoryVo);
+    }
+
+    /**
+     * 搴撳瓨姹囨�绘煡璇�
+     * @param param
+     * @return
+     */
+    @PostMapping("/erp/inventory/summary")
+    public synchronized R queryInventorySummary(@RequestBody OpenSummaryParam param){
+        if (Cools.isEmpty(param)){
+            return R.parse(BaseRes.PARAM);
+        }
+        OpenSummaryVo openSummaryVo = openService.queryInventorySummary(param);
+        return R.ok(openSummaryVo);
+    }
 }

--
Gitblit v1.9.1