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