From efec12bd4827ddefd9b19ccc0eee3ca1c62908f3 Mon Sep 17 00:00:00 2001
From: jiazx0107@163.com <jiazx0107@163.com>
Date: 星期五, 12 一月 2024 19:09:01 +0800
Subject: [PATCH] 添加手动推送粮情接口,以便第三方接口调用

---
 src/main/java/com/fzzy/gateway/controller/GatewayDataApi.java |  380 ++++-------------------------------------------------
 1 files changed, 31 insertions(+), 349 deletions(-)

diff --git a/src/main/java/com/fzzy/gateway/controller/GatewayDataApi.java b/src/main/java/com/fzzy/gateway/controller/GatewayDataApi.java
index 06ec61d..c4f54fc 100644
--- a/src/main/java/com/fzzy/gateway/controller/GatewayDataApi.java
+++ b/src/main/java/com/fzzy/gateway/controller/GatewayDataApi.java
@@ -1,17 +1,13 @@
 package com.fzzy.gateway.controller;
 
-import com.fzzy.api.data.GatewayDeviceProtocol;
-import com.fzzy.api.data.GatewayDeviceType;
+import com.fzzy.async.fzzy40.entity.Fz40Grain;
 import com.fzzy.gateway.GatewayUtils;
+import com.fzzy.gateway.api.GatewayDeviceReportService;
 import com.fzzy.gateway.api.GatewayRemoteManager;
-import com.fzzy.gateway.api.GatewaySyncLprService;
 import com.fzzy.gateway.data.BaseReqData;
 import com.fzzy.gateway.data.BaseResp;
-import com.fzzy.gateway.entity.GateWayParam;
 import com.fzzy.gateway.entity.GatewayDevice;
-import com.fzzy.gateway.service.GatewayDeviceService;
 import lombok.extern.slf4j.Slf4j;
-import org.apache.commons.lang.StringUtils;
 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
@@ -19,8 +15,6 @@
 import org.springframework.web.bind.annotation.ResponseBody;
 
 import javax.annotation.Resource;
-import java.util.List;
-import java.util.stream.Collectors;
 
 
 /**
@@ -32,366 +26,54 @@
 public class GatewayDataApi {
 
     @Resource
-    private GatewayDeviceService gatewayDeviceService;
-
-    @Resource
     private GatewayRemoteManager gatewayRemoteManager;
 
 
     /**
-     * 娴嬭瘯鍏ュ彛
+     * 绮儏鏁版嵁鎺ㄩ�侊紝绗笁鏂硅蒋浠跺钩鍙版帹閫佺伯鎯呮暟鎹埌缃戝叧
      *
-     * @param param
+     * @param grainData
      * @return
+     * @throws Exception
      */
-    @PostMapping("/test/deviceTest")
-    public @ResponseBody
-    String deviceTest(@RequestBody GateWayParam param) throws Exception {
+    @PostMapping("/push-grain")
+    public @ResponseBody BaseResp pushGrain(@RequestBody Fz40Grain grainData) throws Exception {
 
-        if (StringUtils.isEmpty(param.getBizType())) {
-            return "ERROR:娌℃湁鑾峰彇鍒颁笟鍔$被鍨嬶紝鎵ц澶辫触";
+        BaseResp resp = new BaseResp();
+
+        //鏍规嵁绯荤粺浠撳簱缂栫爜鑾峰彇閰嶇疆璁惧淇℃伅
+        GatewayDevice device = GatewayUtils.getCacheByDepotSysId(grainData.getDepotId());
+
+        if (null == device) {
+            resp.setMsg("缃戝叧涓病鏈夎幏鍙栧埌閰嶇疆鐨勭粓绔澶囦俊鎭�,鏃犳硶鎵ц銆備粨搴撶紪鐮�=" + grainData.getDepotId());
+            resp.setCode(BaseResp.CODE_500);
+            return resp;
         }
 
-        if ("testGrain".equals(param.getBizType())) {
-            return testGrain(param);
+        //鏁版嵁灏佽杞崲
+        GatewayDeviceReportService reportService = gatewayRemoteManager.getDeviceReportService(device.getPushProtocol());
+        if (null == reportService) {
+            log.error("------------绮儏鎺ㄩ�佸け璐ワ紝绯荤粺涓嶅瓨鍦ㄥ綋鍓嶅崗璁墽琛岀被----{}", device.getDeviceName());
+            resp.setMsg("绮儏鎺ㄩ�佸け璐ワ紝绯荤粺涓嶅瓨鍦ㄥ綋鍓嶅崗璁墽琛岀被锛岀綉鍏宠澶�=" + device.getDeviceName());
+            resp.setCode(BaseResp.CODE_500);
+            return resp;
         }
 
-        if ("ajaxTestKafkaGrain".equals(param.getBizType())) {
-            return ajaxTestKafkaGrain(param);
-        }
-
-        if ("ajaxTestWeight".equals(param.getBizType())) {
-            return ajaxTestWeight(param);
-        }
-
-        if ("ajaxTestLpr".equals(param.getBizType())) {
-            return ajaxTestLpr(param);
-        }
-
-        return "SUCCESS";
-    }
-
-
-    /**
-     * 涓嬭鍒嗘満娴嬭瘯鍏ュ彛
-     *
-     * @param param
-     * @return
-     */
-    @PostMapping("/test/IDE")
-    public @ResponseBody
-    String testIDE(@RequestBody GateWayParam param) throws Exception {
-
-        if (StringUtils.isEmpty(param.getBizType())) {
-            return "ERROR:娌℃湁鑾峰彇鍒颁笟鍔$被鍨嬶紝鎵ц澶辫触";
-        }
-
-        //鑾峰彇鍒嗘満閰嶇疆
-        if ("syncConf".equals(param.getBizType())) {
-            return syncConf(param);
-        }
-
-        if ("writeConf".equals(param.getBizType())) {
-            return writeConf(param);
-        }
-
-        if ("initParam".equals(param.getBizType())) {
-            return initCable(param);
-        }
-
-        if ("disconnect".equals(param.getBizType())) {
-            return disconnect(param);
-        }
-
-        if ("transparent".equals(param.getBizType())) {
-            return transparent(param);
-        }
-
-        return "SUCCESS";
-    }
-
-
-    private String transparent(GateWayParam param) {
-
-        String deviceId = param.getDeviceId();
-
-        GatewayDevice device = GatewayUtils.getCacheByDeviceId(deviceId);
+        //鏁版嵁灏佽
+        resp = reportService.grainData2GatewayApiInfo(grainData, device);
 
         BaseReqData reqData = new BaseReqData();
-        reqData.setDeviceId(device.getDeviceId());
         reqData.setProductId(device.getProductId());
         reqData.setDeviceName(device.getDeviceName());
-        reqData.setDevice(device);
-        reqData.setAutoReplay(false);
-
-        BaseResp resp = gatewayRemoteManager.getSyncGrainService(device.getSyncProtocol()).transparent(reqData);
-        if (BaseResp.CODE_200 != resp.getCode()) {
-            return "ERROR锛�" + resp.getMsg();
-        }
-        return "SUCCESS";
-    }
-
-    private String disconnect(GateWayParam param) {
-        String deviceId = param.getDeviceId();
-
-        GatewayDevice device = GatewayUtils.getCacheByDeviceId(deviceId);
-
-        BaseReqData reqData = new BaseReqData();
         reqData.setDeviceId(device.getDeviceId());
-        reqData.setProductId(device.getProductId());
-        reqData.setDeviceName(device.getDeviceName());
+
         reqData.setDevice(device);
-        reqData.setAutoReplay(false);
 
-        BaseResp resp = gatewayRemoteManager.getSyncGrainService(device.getSyncProtocol()).disconnect(reqData);
-        if (BaseResp.CODE_200 != resp.getCode()) {
-            return "ERROR锛�" + resp.getMsg();
-        }
-        return "SUCCESS";
+        //鎵嬪姩鎺ㄩ�佸埌骞冲彴
+        resp = reportService.reportGrainDataByHand(reqData);
+
+
+        return resp;
     }
 
-    private String initCable(GateWayParam param) {
-        String deviceId = param.getDeviceId();
-
-        GatewayDevice device = GatewayUtils.getCacheByDeviceId(deviceId);
-
-        BaseReqData reqData = new BaseReqData();
-        reqData.setDeviceId(device.getDeviceId());
-        reqData.setProductId(device.getProductId());
-        reqData.setDeviceName(device.getDeviceName());
-        reqData.setDevice(device);
-        reqData.setAutoReplay(false);
-
-        BaseResp resp = gatewayRemoteManager.getSyncGrainService(device.getSyncProtocol()).initCable(reqData);
-        if (BaseResp.CODE_200 != resp.getCode()) {
-            return "ERROR锛�" + resp.getMsg();
-        }
-        return "SUCCESS";
-    }
-
-    private String syncConf(GateWayParam param) {
-
-        String deviceId = param.getDeviceId();
-
-        GatewayDevice device = GatewayUtils.getCacheByDeviceId(deviceId);
-
-        BaseReqData reqData = new BaseReqData();
-        reqData.setDeviceId(device.getDeviceId());
-        reqData.setProductId(device.getProductId());
-        reqData.setDeviceName(device.getDeviceName());
-        reqData.setDevice(device);
-        reqData.setAutoReplay(false);
-
-        BaseResp resp = gatewayRemoteManager.getSyncGrainService(device.getSyncProtocol()).syncConf(reqData);
-        if (BaseResp.CODE_200 != resp.getCode()) {
-            return "ERROR锛�" + resp.getMsg();
-        }
-        return "SUCCESS";
-    }
-
-    private String writeConf(GateWayParam param) {
-        String deviceId = param.getDeviceId();
-
-        GatewayDevice device = GatewayUtils.getCacheByDeviceId(deviceId);
-
-        BaseReqData reqData = new BaseReqData();
-        reqData.setDeviceId(device.getDeviceId());
-        reqData.setProductId(device.getProductId());
-        reqData.setDeviceName(device.getDeviceName());
-        reqData.setDevice(device);
-        reqData.setAutoReplay(false);
-
-        BaseResp resp = gatewayRemoteManager.getSyncGrainService(device.getSyncProtocol()).writeConf(reqData);
-        if (BaseResp.CODE_200 != resp.getCode()) {
-            return "ERROR锛�" + resp.getMsg();
-        }
-        return "SUCCESS";
-    }
-
-    /**
-     * 鍒濆鍖栬溅鐗岃瘑鍒�
-     *
-     * @param param
-     * @return
-     */
-    @PostMapping("/control/init-lpr")
-    public @ResponseBody
-    String initLpr(@RequestBody GateWayParam param) throws Exception {
-
-        List<GatewayDevice> list = gatewayDeviceService.listAll();
-
-        if (null == list || list.isEmpty()) {
-            return "ERROR:娌℃湁鑾峰彇鍒拌澶囦俊鎭�";
-        }
-
-        BaseReqData reqData;
-        int i = 0;
-        GatewaySyncLprService syncLprService;
-        for (GatewayDevice device : list) {
-
-            if (!GatewayDeviceType.TYPE_02.getCode().equals(device.getType())) {
-                continue;
-            }
-            reqData = new BaseReqData(device);
-            reqData.setIndex(i);
-            syncLprService = gatewayRemoteManager.getSyncLprService(device.getSyncProtocol());
-            if (null == syncLprService) continue;
-            syncLprService.initLpr(reqData);
-            i++;
-        }
-
-        return "SUCCESS";
-    }
-
-    private String testGrain(GateWayParam param) {
-        String deviceId = param.getDeviceId();
-
-        GatewayDevice device = GatewayUtils.getCacheByDeviceId(deviceId);
-
-        BaseReqData reqData = new BaseReqData();
-        reqData.setDeviceId(device.getDeviceId());
-        reqData.setProductId(device.getProductId());
-        reqData.setDeviceName(device.getDeviceName());
-        reqData.setDevice(device);
-        reqData.setAutoReplay(true);
-
-        if (!GatewayDeviceType.TYPE_07.getCode().equals(device.getType())) {
-            return "ERROR锛氬綋鍓嶈澶囬潪绮儏璁惧涓嶆敮鎸佸綋鍓嶆搷浣�";
-        }
-
-        if (StringUtils.isEmpty(device.getCableRule())) {
-            return "ERROR锛氬綋鍓嶈澶囨病鏈夐厤缃竷绾胯鍒欙紝鏃犳硶鎵ц";
-        }
-
-        BaseResp resp;
-        if (GatewayDeviceProtocol.DEVICE_TEST.getCode().equals(device.getSyncProtocol())) {
-            resp = gatewayRemoteManager.getGatewayTestService(device.getPushProtocol()).testGrain(reqData);
-        } else {
-            reqData.setAutoReplay(false);
-            resp = gatewayRemoteManager.getSyncGrainService(device.getSyncProtocol()).syncGrain(reqData);
-        }
-
-        //鑷姩鎺ㄩ��
-        if (BaseResp.CODE_200 == resp.getCode() && reqData.isAutoReplay()) {
-            reqData.setData(resp.getData());
-            gatewayRemoteManager.getDeviceReportService(device.getPushProtocol()).reportGrainData(reqData);
-        }
-
-        return "SUCCESS";
-    }
-
-
-    /**
-     * 绮儏鎺ㄩ�佹祴璇昁AFKA鏂瑰紡
-     *
-     * @param param
-     * @return
-     */
-    public String ajaxTestKafkaGrain(GateWayParam param) throws Exception {
-        List<GatewayDevice> list = gatewayDeviceService.listAll();
-        if (null == list || list.isEmpty()) {
-            return "ERROR锛氫负鑾峰彇鍒扮郴缁熶腑璁惧閰嶇疆锛屽彇娑堟墽琛�";
-        }
-
-        BaseReqData reqData;
-        BaseResp resp;
-        for (GatewayDevice device : list) {
-            reqData = new BaseReqData();
-            reqData.setDeviceId(param.getDeviceId());
-            reqData.setDayTime(param.getDayTime());
-            reqData.setDevice(device);
-
-            resp = gatewayRemoteManager.getGatewayTestService(device.getPushProtocol()).testGrainKafka(reqData);
-
-            //鑷姩鎺ㄩ��
-            if (BaseResp.CODE_200 == resp.getCode()) {
-                reqData.setData(resp.getData());
-                gatewayRemoteManager.getDeviceReportService(device.getPushProtocol()).reportGrainDataByKafka(reqData);
-            }
-        }
-
-        return "SUCCESS";
-    }
-
-    /**
-     * 鍦扮鎺ㄩ�佹祴璇�
-     *
-     * @param param
-     * @return
-     */
-    public String ajaxTestWeight(GateWayParam param) throws Exception {
-
-        double weight = param.getWeight();
-
-        List<GatewayDevice> list = gatewayDeviceService.listAll();
-        if (list == null || list.size() <= 0) {
-            return "ERROR锛氭病鏈夐厤缃澶囦俊鎭紝鎵ц澶辫触";
-        }
-
-        List<GatewayDevice> weights = list.stream().filter(s -> (GatewayDeviceType.TYPE_01.getCode().equals(s.getType()))).collect(Collectors.toList());
-        if (weights == null || weights.size() <= 0) {
-            return "ERROR锛欵RROR锛氭病鏈夐厤缃澶囦俊鎭紝鎵ц澶辫触";
-        }
-
-        BaseReqData reqData;
-        BaseResp resp;
-        for (GatewayDevice device : weights) {
-            reqData = new BaseReqData();
-            reqData.setDeviceId(device.getDeviceId());
-            reqData.setProductId(device.getProductId());
-            reqData.setDeviceName(device.getDeviceName());
-            reqData.setDevice(device);
-            reqData.setAutoReplay(true);
-            reqData.setWeight(weight);
-            resp = gatewayRemoteManager.getGatewayTestService(device.getPushProtocol()).testWeight(reqData);
-
-            //鑷姩鎺ㄩ��
-            if (BaseResp.CODE_200 == resp.getCode() && reqData.isAutoReplay()) {
-                reqData.setData(resp.getData());
-                gatewayRemoteManager.getDeviceReportService(device.getPushProtocol()).reportWeightData(reqData);
-            }
-        }
-        return "SUCCESS";
-    }
-
-    /**
-     * 鍦扮鎺ㄩ�佹祴璇�
-     *
-     * @return
-     */
-    public String ajaxTestLpr(GateWayParam param) throws Exception {
-
-        String carNumber = param.getCarNumber();
-
-        List<GatewayDevice> list = gatewayDeviceService.listAll();
-        if (list == null || list.size() <= 0) {
-            log.error("ERROR锛氭病鏈夐厤缃澶囦俊鎭紝鎵ц澶辫触");
-            return "ERROR锛氭病鏈夐厤缃澶囦俊鎭紝鎵ц澶辫触";
-        }
-        List<GatewayDevice> weights = list.stream().filter(s -> (GatewayDeviceType.TYPE_02.getCode().equals(s.getType()))).collect(Collectors.toList());
-        if (weights == null || weights.size() <= 0) {
-            log.error("ERROR锛氭病鏈夐厤缃澶囦俊鎭紝鎵ц澶辫触");
-            return "ERROR锛氭病鏈夐厤缃澶囦俊鎭紝鎵ц澶辫触";
-        }
-
-        BaseReqData reqData;
-        BaseResp resp;
-        for (GatewayDevice device : weights) {
-            reqData = new BaseReqData();
-            reqData.setDeviceId(device.getDeviceId());
-            reqData.setProductId(device.getProductId());
-            reqData.setDeviceName(device.getDeviceName());
-            reqData.setDevice(device);
-            reqData.setAutoReplay(true);
-            reqData.setCarNumber(carNumber);
-            resp = gatewayRemoteManager.getGatewayTestService(device.getPushProtocol()).testLpr(reqData);
-
-            //鑷姩鎺ㄩ��
-            if (BaseResp.CODE_200 == resp.getCode() && reqData.isAutoReplay()) {
-                reqData.setData(resp.getData());
-                gatewayRemoteManager.getDeviceReportService(device.getPushProtocol()).reportLprData(reqData);
-            }
-        }
-        return "SUCCESS";
-    }
 }

--
Gitblit v1.9.3