From a69402c8b67d8ce4b698d0c394d15ff43b5d99d0 Mon Sep 17 00:00:00 2001 From: jiazx0107@163.com <jiazx0107@163.com> Date: 星期四, 14 十二月 2023 23:17:41 +0800 Subject: [PATCH] 提交正来电子协议解析-3 --- src/main/java/com/fzzy/api/entity/Api1308.java | 11 src/main/java/com/fzzy/gateway/service/GatewayDeviceTestPR.java | 19 src/main/java/com/fzzy/api/entity/Api1111.java | 9 src/main/java/com/fzzy/api/entity/Api1105.java | 11 src/main/java/com/fzzy/api/entity/Api1102.java | 6 src/main/java/com/fzzy/api/entity/Api1108.java | 7 src/main/java/com/fzzy/gateway/view/GatewayDevice.view.xml | 381 +++++++++++++------ src/main/java/com/fzzy/protocol/zldz/server/ZldzServerEngine.java | 16 src/main/java/com/fzzy/api/entity/Api1208.java | 10 pom.xml | 2 src/main/java/com/fzzy/protocol/fzzy/service/FzzyGatewayGrainService.java | 26 + src/main/java/com/fzzy/protocol/bhzn/service/Bhzn2GatewayGrainService.java | 28 + src/main/java/com/fzzy/protocol/zldz/cmd/CommandBuilder1116_1.java | 109 +++++ src/main/java/com/fzzy/protocol/zldz/service/ZldzGatewayGrainService.java | 111 +++++ src/main/java/com/fzzy/api/entity/Api1307.java | 9 src/main/java/com/fzzy/api/entity/Api1501.java | 8 src/main/java/com/fzzy/api/entity/Api1104.java | 9 src/main/java/com/fzzy/api/entity/Api1301.java | 10 src/main/java/com/fzzy/protocol/zldz/cmd/CommandBuilder1122.java | 47 ++ src/main/java/com/fzzy/api/entity/Api1101.java | 10 src/main/java/com/fzzy/api/entity/Api1212.java | 2 src/main/java/com/fzzy/gateway/controller/GatewayDeviceController.java | 145 +++++++ src/main/java/com/fzzy/gateway/api/GatewaySyncGranService.java | 36 + src/main/java/com/fzzy/protocol/zldz/cmd/CommandBuilder1116_0.java | 70 +++ src/main/java/com/fzzy/gateway/view/GatewayDevice.js | 20 + src/main/java/com/fzzy/api/entity/Api1110.java | 9 src/main/java/com/fzzy/api/entity/Api1103.java | 9 27 files changed, 951 insertions(+), 179 deletions(-) diff --git a/pom.xml b/pom.xml index cccd79b..6f34990 100644 --- a/pom.xml +++ b/pom.xml @@ -27,7 +27,7 @@ <dependency> <groupId>com.bstek.dorado</groupId> <artifactId>dorado-core</artifactId> - <version>7.6.0</version> + <version>7.6.0.2</version> <exclusions> <exclusion> <groupId>org.slf4j</groupId> diff --git a/src/main/java/com/fzzy/api/entity/Api1101.java b/src/main/java/com/fzzy/api/entity/Api1101.java index f6dfcf5..469b1a8 100644 --- a/src/main/java/com/fzzy/api/entity/Api1101.java +++ b/src/main/java/com/fzzy/api/entity/Api1101.java @@ -3,14 +3,21 @@ import com.alibaba.fastjson.annotation.JSONField; import com.bstek.dorado.annotation.PropertyDef; import com.fasterxml.jackson.annotation.JsonFormat; + import lombok.Data; import lombok.EqualsAndHashCode; +import lombok.Getter; +import lombok.Setter; + import org.springframework.format.annotation.DateTimeFormat; + import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.Id; import javax.persistence.Table; + import java.io.Serializable; +import java.math.BigDecimal; import java.util.Date; /** @@ -19,7 +26,8 @@ * @author czt * @date 2023-10-18 */ -@Data +@Getter +@Setter @Entity @Table(name = "API_1101") @EqualsAndHashCode(callSuper = false) diff --git a/src/main/java/com/fzzy/api/entity/Api1102.java b/src/main/java/com/fzzy/api/entity/Api1102.java index 92a190f..201d98c 100644 --- a/src/main/java/com/fzzy/api/entity/Api1102.java +++ b/src/main/java/com/fzzy/api/entity/Api1102.java @@ -5,6 +5,8 @@ import com.fasterxml.jackson.annotation.JsonIgnore; import lombok.Data; +import lombok.Getter; +import lombok.Setter; import javax.persistence.Column; import javax.persistence.Entity; @@ -12,12 +14,14 @@ import javax.persistence.Table; import java.io.Serializable; +import java.math.BigDecimal; import java.util.Date; /** * 鎺ュ彛琛�-搴撳尯淇℃伅 */ -@Data +@Getter +@Setter @Entity @Table(name = "API_1102") public class Api1102 implements Serializable { diff --git a/src/main/java/com/fzzy/api/entity/Api1103.java b/src/main/java/com/fzzy/api/entity/Api1103.java index d510e2e..c06072a 100644 --- a/src/main/java/com/fzzy/api/entity/Api1103.java +++ b/src/main/java/com/fzzy/api/entity/Api1103.java @@ -2,19 +2,26 @@ import com.alibaba.fastjson.annotation.JSONField; import com.bstek.dorado.annotation.PropertyDef; + import lombok.Data; import lombok.EqualsAndHashCode; +import lombok.Getter; +import lombok.Setter; + import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.Id; import javax.persistence.Table; + import java.io.Serializable; +import java.math.BigDecimal; import java.util.Date; /** * 鎺ュ彛琛�-浠撴埧淇℃伅 */ -@Data +@Getter +@Setter @Entity @Table(name = "API_1103") @EqualsAndHashCode(callSuper=false) diff --git a/src/main/java/com/fzzy/api/entity/Api1104.java b/src/main/java/com/fzzy/api/entity/Api1104.java index f93ac1f..9c3931c 100644 --- a/src/main/java/com/fzzy/api/entity/Api1104.java +++ b/src/main/java/com/fzzy/api/entity/Api1104.java @@ -1,11 +1,17 @@ package com.fzzy.api.entity; import java.io.Serializable; +import java.math.BigDecimal; import java.util.Date; + import com.alibaba.fastjson.annotation.JSONField; import com.bstek.dorado.annotation.PropertyDef; + import lombok.Data; import lombok.EqualsAndHashCode; +import lombok.Getter; +import lombok.Setter; + import javax.persistence.*; /** @@ -14,7 +20,8 @@ * @author chen * @date 2022-09-02 14:18 */ -@Data +@Getter +@Setter @Entity @Table(name = "API_1104") @EqualsAndHashCode(callSuper = false) diff --git a/src/main/java/com/fzzy/api/entity/Api1105.java b/src/main/java/com/fzzy/api/entity/Api1105.java index c7d13ec..4856e46 100644 --- a/src/main/java/com/fzzy/api/entity/Api1105.java +++ b/src/main/java/com/fzzy/api/entity/Api1105.java @@ -2,22 +2,25 @@ import com.alibaba.fastjson.annotation.JSONField; import com.bstek.dorado.annotation.PropertyDef; -import lombok.Data; -import lombok.EqualsAndHashCode; + +import lombok.Getter; +import lombok.Setter; + import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.Id; import javax.persistence.Table; + import java.io.Serializable; import java.util.Date; /** * 鎺ュ彛琛�-璐т綅淇℃伅 */ -@Data +@Getter +@Setter @Entity @Table(name = "API_1105") -@EqualsAndHashCode(callSuper=false) public class Api1105 implements Serializable { private static final long serialVersionUID = -6967028172020353365L; diff --git a/src/main/java/com/fzzy/api/entity/Api1108.java b/src/main/java/com/fzzy/api/entity/Api1108.java index a49e5d8..1ed5a9d 100644 --- a/src/main/java/com/fzzy/api/entity/Api1108.java +++ b/src/main/java/com/fzzy/api/entity/Api1108.java @@ -2,10 +2,10 @@ import com.alibaba.fastjson.annotation.JSONField; import com.bstek.dorado.annotation.PropertyDef; -import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonIgnore; -import lombok.Data; +import lombok.Getter; +import lombok.Setter; import javax.persistence.*; @@ -15,7 +15,8 @@ /** * 鎺ュ彛琛�-鑽墏淇℃伅 */ -@Data +@Getter +@Setter @Entity @Table(name = "API_1108") public class Api1108 implements Serializable { diff --git a/src/main/java/com/fzzy/api/entity/Api1110.java b/src/main/java/com/fzzy/api/entity/Api1110.java index 1baa168..df75c85 100644 --- a/src/main/java/com/fzzy/api/entity/Api1110.java +++ b/src/main/java/com/fzzy/api/entity/Api1110.java @@ -2,17 +2,20 @@ import com.alibaba.fastjson.annotation.JSONField; import com.bstek.dorado.annotation.PropertyDef; -import com.fasterxml.jackson.annotation.JsonIgnore; -import lombok.Data; + +import lombok.Getter; +import lombok.Setter; import javax.persistence.*; + import java.io.Serializable; import java.util.Date; /** * 鎺ュ彛琛�-搴撳尯鍥句粨鎴跨偣浣嶆爣娉� */ -@Data +@Getter +@Setter @Entity @Table(name = "API_1110") public class Api1110 implements Serializable { diff --git a/src/main/java/com/fzzy/api/entity/Api1111.java b/src/main/java/com/fzzy/api/entity/Api1111.java index e32784b..d63a2d7 100644 --- a/src/main/java/com/fzzy/api/entity/Api1111.java +++ b/src/main/java/com/fzzy/api/entity/Api1111.java @@ -2,17 +2,20 @@ import com.alibaba.fastjson.annotation.JSONField; import com.bstek.dorado.annotation.PropertyDef; -import com.fasterxml.jackson.annotation.JsonIgnore; -import lombok.Data; + +import lombok.Getter; +import lombok.Setter; import javax.persistence.*; + import java.io.Serializable; import java.util.Date; /** * 鎺ュ彛琛�-搴撳尯鍥捐棰戠洃鎺ц澶囩偣浣嶆爣娉� */ -@Data +@Getter +@Setter @Entity @Table(name = "API_1111") public class Api1111 implements Serializable { diff --git a/src/main/java/com/fzzy/api/entity/Api1208.java b/src/main/java/com/fzzy/api/entity/Api1208.java index 686499a..00a301e 100644 --- a/src/main/java/com/fzzy/api/entity/Api1208.java +++ b/src/main/java/com/fzzy/api/entity/Api1208.java @@ -3,13 +3,11 @@ import com.alibaba.fastjson.annotation.JSONField; import com.bstek.dorado.annotation.PropertyDef; -import lombok.Data; -import lombok.EqualsAndHashCode; +import lombok.Getter; +import lombok.Setter; import javax.persistence.Column; import javax.persistence.Entity; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.Table; @@ -19,10 +17,10 @@ /** * 鎺ュ彛琛�-绮搴撳瓨 */ -@Data +@Getter +@Setter @Entity @Table(name = "API_1208") -@EqualsAndHashCode(callSuper = false) public class Api1208 extends ApiParent implements Serializable { public static String SORT_PROP = "rcsj"; diff --git a/src/main/java/com/fzzy/api/entity/Api1212.java b/src/main/java/com/fzzy/api/entity/Api1212.java index ea6590c..e1a3293 100644 --- a/src/main/java/com/fzzy/api/entity/Api1212.java +++ b/src/main/java/com/fzzy/api/entity/Api1212.java @@ -8,8 +8,6 @@ import javax.persistence.Column; import javax.persistence.Entity; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.Table; diff --git a/src/main/java/com/fzzy/api/entity/Api1301.java b/src/main/java/com/fzzy/api/entity/Api1301.java index e797676..a791163 100644 --- a/src/main/java/com/fzzy/api/entity/Api1301.java +++ b/src/main/java/com/fzzy/api/entity/Api1301.java @@ -2,9 +2,12 @@ import com.alibaba.fastjson.annotation.JSONField; import com.bstek.dorado.annotation.PropertyDef; -import lombok.Data; -import org.hibernate.annotations.GenericGenerator; + +import lombok.Getter; +import lombok.Setter; + import javax.persistence.*; + import java.io.Serializable; import java.util.Date; @@ -14,7 +17,8 @@ * @author chen * @date 2022-09-02 16:06 */ -@Data +@Getter +@Setter @Entity @Table(name = "API_1301") public class Api1301 implements Serializable { diff --git a/src/main/java/com/fzzy/api/entity/Api1307.java b/src/main/java/com/fzzy/api/entity/Api1307.java index b4712db..7ccbeae 100644 --- a/src/main/java/com/fzzy/api/entity/Api1307.java +++ b/src/main/java/com/fzzy/api/entity/Api1307.java @@ -3,10 +3,9 @@ import com.alibaba.fastjson.annotation.JSONField; import com.bstek.dorado.annotation.PropertyDef; -import lombok.Data; -import lombok.EqualsAndHashCode; +import lombok.Getter; +import lombok.Setter; -import org.hibernate.annotations.GenericGenerator; import javax.persistence.*; @@ -19,10 +18,10 @@ * @author chen * @date 2022-09-02 15:57 */ -@Data +@Getter +@Setter @Entity @Table(name = "API_1307") -@EqualsAndHashCode(callSuper=false) public class Api1307 implements Serializable { /** diff --git a/src/main/java/com/fzzy/api/entity/Api1308.java b/src/main/java/com/fzzy/api/entity/Api1308.java index e43284f..8b48e88 100644 --- a/src/main/java/com/fzzy/api/entity/Api1308.java +++ b/src/main/java/com/fzzy/api/entity/Api1308.java @@ -2,9 +2,13 @@ import com.alibaba.fastjson.annotation.JSONField; import com.bstek.dorado.annotation.PropertyDef; -import lombok.Data; -import org.hibernate.annotations.GenericGenerator; + +import lombok.Getter; +import lombok.Setter; + + import javax.persistence.*; + import java.io.Serializable; import java.util.Date; @@ -14,7 +18,8 @@ * @author chen * @date 2022-09-02 15:59 */ -@Data +@Getter +@Setter @Entity @Table(name = "API_1308") public class Api1308 implements Serializable { diff --git a/src/main/java/com/fzzy/api/entity/Api1501.java b/src/main/java/com/fzzy/api/entity/Api1501.java index 8d7569a..81a7176 100644 --- a/src/main/java/com/fzzy/api/entity/Api1501.java +++ b/src/main/java/com/fzzy/api/entity/Api1501.java @@ -3,8 +3,8 @@ import com.alibaba.fastjson.annotation.JSONField; import com.bstek.dorado.annotation.PropertyDef; -import lombok.Data; -import lombok.EqualsAndHashCode; +import lombok.Getter; +import lombok.Setter; import javax.persistence.Column; import javax.persistence.Entity; @@ -20,10 +20,10 @@ * * @author he */ -@Data +@Getter +@Setter @Entity @Table(name = "API_1501") -@EqualsAndHashCode(callSuper=false) public class Api1501 extends ApiParent implements Serializable { /** * diff --git a/src/main/java/com/fzzy/gateway/api/GatewaySyncGranService.java b/src/main/java/com/fzzy/gateway/api/GatewaySyncGranService.java index 957b443..87f01a1 100644 --- a/src/main/java/com/fzzy/gateway/api/GatewaySyncGranService.java +++ b/src/main/java/com/fzzy/gateway/api/GatewaySyncGranService.java @@ -25,4 +25,40 @@ * @return */ public BaseResp syncGrain(BaseReqData reqData); + + + /** + * 鑾峰彇鎵ц鍒嗘満鐨勫弬鏁颁俊鎭紝濡傛灉璁惧涓嶆敮鎸佸垯鐩存帴杩斿洖涓嶆墽琛屽嵆鍙� + * @param reqData + * @return + */ + public BaseResp syncConf(BaseReqData reqData); + + /** + * 鍐欏弬鏁� + * @param reqData + * @return + */ + public BaseResp writeConf(BaseReqData reqData); + + /** + * 鍒濆鍖栧弬鏁� + * @param reqData + * @return + */ + public BaseResp initCable(BaseReqData reqData); + + /** + * 閽堝闀胯繛鎺ヨ澶囷紝鎵ц杩炴帴涓诲姩鏂紑 + * @param reqData + * @return + */ + public BaseResp disconnect(BaseReqData reqData); + + /** + * 淇℃伅閫忎紶 + * @param reqData + * @return + */ + public BaseResp transparent(BaseReqData reqData); } diff --git a/src/main/java/com/fzzy/gateway/controller/GatewayDeviceController.java b/src/main/java/com/fzzy/gateway/controller/GatewayDeviceController.java index a29e503..c0612b4 100644 --- a/src/main/java/com/fzzy/gateway/controller/GatewayDeviceController.java +++ b/src/main/java/com/fzzy/gateway/controller/GatewayDeviceController.java @@ -71,6 +71,143 @@ 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); + + 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"; + } + + 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"; + } + /** * 鍒濆鍖栬溅鐗岃瘑鍒� * @@ -98,7 +235,7 @@ reqData = new BaseReqData(device); reqData.setIndex(i); syncLprService = gatewayRemoteManager.getSyncLprService(device.getSyncProtocol()); - if(null == syncLprService) continue; + if (null == syncLprService) continue; syncLprService.initLpr(reqData); i++; } @@ -126,10 +263,10 @@ return "ERROR锛氬綋鍓嶈澶囨病鏈夐厤缃竷绾胯鍒欙紝鏃犳硶鎵ц"; } - BaseResp resp =null; - if(GatewayDeviceProtocol.DEVICE_TEST.getCode().equals(device.getSyncProtocol())){ + BaseResp resp; + if (GatewayDeviceProtocol.DEVICE_TEST.getCode().equals(device.getSyncProtocol())) { resp = gatewayRemoteManager.getGatewayTestService(device.getPushProtocol()).testGrain(reqData); - }else{ + } else { reqData.setAutoReplay(false); resp = gatewayRemoteManager.getSyncGrainService(device.getSyncProtocol()).syncGrain(reqData); } diff --git a/src/main/java/com/fzzy/gateway/service/GatewayDeviceTestPR.java b/src/main/java/com/fzzy/gateway/service/GatewayDeviceTestPR.java index 4061c62..c72c82a 100644 --- a/src/main/java/com/fzzy/gateway/service/GatewayDeviceTestPR.java +++ b/src/main/java/com/fzzy/gateway/service/GatewayDeviceTestPR.java @@ -290,7 +290,6 @@ @Expose public String ajaxTestWeight(Map<String,Object> data) throws Exception { double weigh = (double) data.get("weight"); - double deviceId = (double) data.get("deviceId"); List<GatewayDevice> devices = listAll(); @@ -401,5 +400,23 @@ log.info("-----------test-------------------"); return "SUCCESS"; } + + + /** + * + * gatewayDeviceTestPR#testIde + * 娴嬭瘯涓嬭鍒嗘満 + * @param data + * @return + */ + @Expose + public String testIde(Map<String,Object> data) throws Exception { + String deviceId = (String) data.get("deviceId"); + String bizType = (String) data.get("bizType"); + + log.info("-----------涓嬭鍒嗘満璋冭瘯-璁惧={},浜嬩欢={}",deviceId,bizType); + + return "SUCCESS"; + } } diff --git a/src/main/java/com/fzzy/gateway/view/GatewayDevice.js b/src/main/java/com/fzzy/gateway/view/GatewayDevice.js index fcb9f63..42b78ed 100644 --- a/src/main/java/com/fzzy/gateway/view/GatewayDevice.js +++ b/src/main/java/com/fzzy/gateway/view/GatewayDevice.js @@ -34,4 +34,24 @@ $alert(result); } }) +} + + +/** +* +* @param param +*/ +testIde= function(param){ + $.ajax({ + type:"POST", + contentType:"application/json;charset=UTF-8", + url:"/gateway/test/IDE", + data:JSON.stringify(param), + success:function(result){ + $alert(result); + }, + error:function(result){ + $alert(result); + } + }) } \ No newline at end of file diff --git a/src/main/java/com/fzzy/gateway/view/GatewayDevice.view.xml b/src/main/java/com/fzzy/gateway/view/GatewayDevice.view.xml index 89f3b83..d37fa01 100644 --- a/src/main/java/com/fzzy/gateway/view/GatewayDevice.view.xml +++ b/src/main/java/com/fzzy/gateway/view/GatewayDevice.view.xml @@ -25,7 +25,7 @@ </PropertyDef> <PropertyDef name="depotId"> <Property></Property> - <Property name="label">鎵�灞炰粨搴撶紪鐮�</Property> + <Property name="label">浠撳簱缂栫爜</Property> </PropertyDef> <PropertyDef name="type"> <Property></Property> @@ -78,7 +78,7 @@ </PropertyDef> <PropertyDef name="httpUrl"> <Property></Property> - <Property name="label">HTTP鍦板潃</Property> + <Property name="label">API璺緞</Property> </PropertyDef> <PropertyDef name="deviceSn"> <Property></Property> @@ -98,11 +98,11 @@ </PropertyDef> <PropertyDef name="depotIdSys"> <Property></Property> - <Property name="label">鑷畾涔変粨搴撶紪鐮�</Property> + <Property name="label">绯荤粺浠撳簱缂栫爜</Property> </PropertyDef> <PropertyDef name="productId"> <Property></Property> - <Property name="label">璁惧绫诲瀷KEY</Property> + <Property name="label">璁惧KEY</Property> </PropertyDef> <PropertyDef name="cableRule"> <Property></Property> @@ -129,6 +129,26 @@ <Property name="dataType">DateTime</Property> <Property name="label">鏈�鍚庝笂绾挎椂闂�</Property> </PropertyDef> + <PropertyDef name="cableStart"> + <Property></Property> + <Property name="label">鐢电紗寮�濮�</Property> + </PropertyDef> + <PropertyDef name="cableEnd"> + <Property></Property> + <Property name="label">鐢电紗鎴嚦</Property> + </PropertyDef> + <PropertyDef name="thAddr"> + <Property></Property> + <Property name="label">娓╂箍搴﹀湴鍧�</Property> + </PropertyDef> + <PropertyDef name="cableFormat"> + <Property></Property> + <Property name="label">鐢电紗鍒跺紡</Property> + </PropertyDef> + <PropertyDef name="cableType"> + <Property></Property> + <Property name="label">鐢电紗绫诲瀷</Property> + </PropertyDef> </DataType> <DataType name="dtParam" parent="Map"> <PropertyDef name="start"> @@ -153,6 +173,9 @@ <Property></Property> <Property name="label">璁惧ID</Property> <Property name="required">true</Property> + </PropertyDef> + <PropertyDef name="bizType"> + <Property name="label">鍔ㄤ綔浜嬩欢</Property> </PropertyDef> </DataType> </Model> @@ -264,6 +287,60 @@ <Property name="iconClass">fa fa-wrench</Property> <Property name="exClassName">toolbar-button-push</Property> </ToolBarButton> + <Separator/> + <MenuButton> + <Property name="caption">涓嬭鍒嗘満璋冭瘯</Property> + <Property name="exClassName">toolbar-button-push</Property> + <Property name="iconClass">fa fa-wrench</Property> + <MenuItem> + <ClientEvent name="onClick">var data = view.get("#dsMain.data:#");
 +var param = {
 + deviceId:data.get("deviceId"),
 + bizType:"syncConf"
 +}
 +testIde(param);</ClientEvent> + <Property name="caption">杩滅▼鑾峰彇閰嶇疆</Property> + </MenuItem> + <MenuItem> + <ClientEvent name="onClick">var data = view.get("#dsMain.data:#");
 +var param = {
 + deviceId:data.get("deviceId"),
 + bizType:"writeConf"
 +}
 +testIde(param);</ClientEvent> + <Property name="caption">鍐欏叆鍙傛暟</Property> + </MenuItem> + <MenuItem> + <ClientEvent name="onClick">var data = view.get("#dsMain.data:#");
 +var param = {
 + deviceId:data.get("deviceId"),
 + bizType:"initParam"
 +}
 +
 +testIde(param);</ClientEvent> + <Property name="caption">鍒濆鍖栧垎鏈哄弬鏁�</Property> + </MenuItem> + <MenuItem> + <ClientEvent name="onClick">var data = view.get("#dsMain.data:#");
 +var param = {
 + deviceId:data.get("deviceId"),
 + bizType:"disconnect"
 +}
 +
 +testIde(param);</ClientEvent> + <Property name="caption">涓诲姩鏂紑杩炴帴</Property> + </MenuItem> + <MenuItem> + <ClientEvent name="onClick">var data = view.get("#dsMain.data:#");
 +var param = {
 + deviceId:data.get("deviceId"),
 + bizType:"transparent"
 +}
 +
 +testIde(param);</ClientEvent> + <Property name="caption">淇℃伅閫忎紶璋冭瘯</Property> + </MenuItem> + </MenuButton> </ToolBar> <DataGrid id="dgMain"> <Property name="dataSet">dsMain</Property> @@ -322,126 +399,178 @@ </Buttons> <Children> <Container layout="regionPadding:10;padding:10"> - <AutoForm> - <Property name="dataSet">dsMain</Property> - <Property name="cols">*,*,*</Property> - <Property name="labelWidth">125</Property> - <Property name="labelAlign">right</Property> - <Property name="labelSeparator">锛�</Property> - <Property name="labelPosition">left</Property> - <AutoFormElement layoutConstraint="colSpan:2"> - <Property name="name">deviceId</Property> - <Property name="property">deviceId</Property> - <Editor/> - </AutoFormElement> - <AutoFormElement> - <Property name="name">deviceSn</Property> - <Property name="property">deviceSn</Property> - <Editor/> - </AutoFormElement> - <AutoFormElement> - <Property name="name">deviceName</Property> - <Property name="property">deviceName</Property> - <Editor/> - </AutoFormElement> - <AutoFormElement> - <Property name="name">type</Property> - <Property name="property">type</Property> - <Editor/> - </AutoFormElement> - <AutoFormElement> - <Property name="name">productId</Property> - <Property name="property">productId</Property> - <Editor/> - </AutoFormElement> - <AutoFormElement> - <Property name="name">orgId</Property> - <Property name="property">orgId</Property> - <Editor/> - </AutoFormElement> - <AutoFormElement> - <Property name="name">depotId</Property> - <Property name="property">depotId</Property> - <Editor/> - </AutoFormElement> - <AutoFormElement> - <Property name="name">depotIdSys</Property> - <Property name="property">depotIdSys</Property> - <Editor/> - </AutoFormElement> - <AutoFormElement> - <Property name="name">ip</Property> - <Property name="property">ip</Property> - <Editor/> - </AutoFormElement> - <AutoFormElement> - <Property name="name">port</Property> - <Property name="property">port</Property> - <Editor/> - </AutoFormElement> - <AutoFormElement> - <Property name="name">userName</Property> - <Property name="property">userName</Property> - <Editor/> - </AutoFormElement> - <AutoFormElement> - <Property name="name">password</Property> - <Property name="property">password</Property> - <Editor/> - </AutoFormElement> - <AutoFormElement> - <Property name="name">pushProtocol</Property> - <Property name="property">pushProtocol</Property> - <Editor/> - </AutoFormElement> - <AutoFormElement> - <Property name="name">syncProtocol</Property> - <Property name="property">syncProtocol</Property> - <Editor/> - </AutoFormElement> - <AutoFormElement> - <Property name="name">serPort</Property> - <Property name="property">serPort</Property> - <Property name="labelWidth">150</Property> - <Editor/> - </AutoFormElement> - <AutoFormElement layoutConstraint="colSpan:2"> - <Property name="name">rtsp</Property> - <Property name="property">rtsp</Property> - <Editor/> - </AutoFormElement> - <AutoFormElement layoutConstraint="colSpan:2"> - <Property name="name">httpUrl</Property> - <Property name="property">httpUrl</Property> - <Editor/> - </AutoFormElement> - <AutoFormElement> - <Property name="name">position</Property> - <Property name="property">position</Property> - <Editor/> - </AutoFormElement> - <AutoFormElement layoutConstraint="colSpan:3"> - <Property name="name">remark</Property> - <Property name="property">remark</Property> - <Property name="editorType">TextArea</Property> - <Editor/> - </AutoFormElement> - <AutoFormElement> - <Property name="name">cableRule</Property> - <Property name="property">cableRule</Property> - <Editor/> - </AutoFormElement> - <AutoFormElement> - <Property name="name">cableCir</Property> - <Property name="property">cableCir</Property> - <Editor/> - </AutoFormElement> - <AutoFormElement> - <Property name="name">status</Property> - <Property name="property">status</Property> - <Editor/> - </AutoFormElement> - </AutoForm> + <FieldSet layout="padding:5"> + <Property name="caption">缃戝叧璁惧閰嶇疆</Property> + <Buttons/> + <Children> + <AutoForm> + <Property name="dataSet">dsMain</Property> + <Property name="cols">*,*,*</Property> + <Property name="labelAlign">right</Property> + <Property name="labelSeparator">锛�</Property> + <Property name="labelPosition">left</Property> + <Property name="labelWidth">100</Property> + <AutoFormElement layoutConstraint="colSpan:2"> + <Property name="name">deviceId</Property> + <Property name="property">deviceId</Property> + <Editor/> + </AutoFormElement> + <AutoFormElement> + <Property name="name">deviceName</Property> + <Property name="property">deviceName</Property> + <Editor/> + </AutoFormElement> + <AutoFormElement> + <Property name="name">type</Property> + <Property name="property">type</Property> + <Editor/> + </AutoFormElement> + <AutoFormElement> + <Property name="name">productId</Property> + <Property name="property">productId</Property> + <Editor/> + </AutoFormElement> + <AutoFormElement> + <Property name="name">depotId</Property> + <Property name="property">depotId</Property> + <Editor/> + </AutoFormElement> + <AutoFormElement> + <Property name="name">position</Property> + <Property name="property">position</Property> + <Editor/> + </AutoFormElement> + <AutoFormElement layoutConstraint="colSpan:2"> + <Property name="name">remark</Property> + <Property name="property">remark</Property> + <Editor/> + </AutoFormElement> + </AutoForm> + </Children> + </FieldSet> + <FieldSet layout="padding:5"> + <Property name="caption">涓嬭閫氳璁惧閰嶇疆</Property> + <Buttons/> + <Children> + <AutoForm> + <Property name="dataSet">dsMain</Property> + <Property name="cols">*,*,*</Property> + <Property name="labelWidth">120</Property> + <Property name="labelAlign">right</Property> + <Property name="labelSeparator">锛�</Property> + <Property name="labelPosition">left</Property> + <AutoFormElement layoutConstraint="colSpan:2"> + <Property name="name">deviceSn</Property> + <Property name="property">deviceSn</Property> + <Editor/> + </AutoFormElement> + <AutoFormElement> + <Property name="name">orgId</Property> + <Property name="property">orgId</Property> + <Editor/> + </AutoFormElement> + <AutoFormElement> + <Property name="name">ip</Property> + <Property name="property">ip</Property> + <Editor/> + </AutoFormElement> + <AutoFormElement> + <Property name="name">port</Property> + <Property name="property">port</Property> + <Editor/> + </AutoFormElement> + <AutoFormElement> + <Property name="name">syncProtocol</Property> + <Property name="property">syncProtocol</Property> + <Editor/> + </AutoFormElement> + <AutoFormElement> + <Property name="name">userName</Property> + <Property name="property">userName</Property> + <Editor/> + </AutoFormElement> + <AutoFormElement> + <Property name="name">password</Property> + <Property name="property">password</Property> + <Editor/> + </AutoFormElement> + <AutoFormElement> + <Property name="name">pushProtocol</Property> + <Property name="property">pushProtocol</Property> + <Editor/> + </AutoFormElement> + <AutoFormElement layoutConstraint="colSpan:2"> + <Property name="name">rtsp</Property> + <Property name="property">rtsp</Property> + <Editor/> + </AutoFormElement> + <AutoFormElement> + <Property name="name">status</Property> + <Property name="property">status</Property> + <Editor/> + </AutoFormElement> + <AutoFormElement layoutConstraint="colSpan:2"> + <Property name="name">httpUrl</Property> + <Property name="property">httpUrl</Property> + <Editor/> + </AutoFormElement> + </AutoForm> + </Children> + </FieldSet> + <FieldSet layout="padding:5"> + <Property name="caption">绮儏妫�娴嬪弬鏁伴厤缃�</Property> + <Buttons/> + <Children> + <AutoForm> + <Property name="dataSet">dsMain</Property> + <Property name="cols">*,*,*</Property> + <Property name="labelWidth">120</Property> + <Property name="labelAlign">right</Property> + <Property name="labelSeparator">锛�</Property> + <Property name="labelPosition">left</Property> + <AutoFormElement> + <Property name="name">depotIdSys</Property> + <Property name="property">depotIdSys</Property> + <Editor/> + </AutoFormElement> + <AutoFormElement> + <Property name="name">cableRule</Property> + <Property name="property">cableRule</Property> + <Editor/> + </AutoFormElement> + <AutoFormElement> + <Property name="name">cableCir</Property> + <Property name="property">cableCir</Property> + <Editor/> + </AutoFormElement> + <AutoFormElement> + <Property name="name">cableStart</Property> + <Property name="property">cableStart</Property> + <Editor/> + </AutoFormElement> + <AutoFormElement> + <Property name="name">cableEnd</Property> + <Property name="property">cableEnd</Property> + <Editor/> + </AutoFormElement> + <AutoFormElement> + <Property name="name">thAddr</Property> + <Property name="property">thAddr</Property> + <Editor/> + </AutoFormElement> + <AutoFormElement> + <Property name="name">cableFormat</Property> + <Property name="property">cableFormat</Property> + <Editor/> + </AutoFormElement> + <AutoFormElement> + <Property name="name">cableType</Property> + <Property name="property">cableType</Property> + <Editor/> + </AutoFormElement> + </AutoForm> + </Children> + </FieldSet> </Container> </Children> <Tools/> @@ -561,5 +690,9 @@ </Children> <Tools/> </Dialog> + <AjaxAction id="ajaxTestIDE"> + <Property name="confirmMessage">纭畾瑕佹墽琛屼箞锛�</Property> + <Property name="service">gatewayDeviceTestPR#testIde</Property> + </AjaxAction> </View> </ViewConfig> diff --git a/src/main/java/com/fzzy/protocol/bhzn/service/Bhzn2GatewayGrainService.java b/src/main/java/com/fzzy/protocol/bhzn/service/Bhzn2GatewayGrainService.java index 76d3852..cbdc7ea 100644 --- a/src/main/java/com/fzzy/protocol/bhzn/service/Bhzn2GatewayGrainService.java +++ b/src/main/java/com/fzzy/protocol/bhzn/service/Bhzn2GatewayGrainService.java @@ -8,12 +8,9 @@ import com.fzzy.gateway.data.BaseReqData; import com.fzzy.gateway.data.BaseResp; import com.fzzy.gateway.entity.GatewayDevice; -import com.fzzy.io.request.BaseRequest; import com.fzzy.protocol.ProtocolUtils; import com.fzzy.protocol.bhzn.cmd.CommandBuild; import com.fzzy.protocol.bhzn.server.BhznGrainV2ServerEngine; -import com.fzzy.protocol.bhzn.server.BhznGrainV2ServerUtils; -import com.fzzy.protocol.zldz.data.Message; import com.ld.io.api.InvokeResult; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Component; @@ -85,4 +82,29 @@ } return resp; } + + @Override + public BaseResp syncConf(BaseReqData reqData) { + return new BaseResp(); + } + + @Override + public BaseResp writeConf(BaseReqData reqData) { + return new BaseResp(); + } + + @Override + public BaseResp initCable(BaseReqData reqData) { + return new BaseResp(); + } + + @Override + public BaseResp disconnect(BaseReqData reqData) { + return new BaseResp(); + } + + @Override + public BaseResp transparent(BaseReqData reqData) { + return new BaseResp(); + } } diff --git a/src/main/java/com/fzzy/protocol/fzzy/service/FzzyGatewayGrainService.java b/src/main/java/com/fzzy/protocol/fzzy/service/FzzyGatewayGrainService.java index bf7e2c3..af2f7cc 100644 --- a/src/main/java/com/fzzy/protocol/fzzy/service/FzzyGatewayGrainService.java +++ b/src/main/java/com/fzzy/protocol/fzzy/service/FzzyGatewayGrainService.java @@ -85,4 +85,30 @@ } return resp; } + + @Override + public BaseResp syncConf(BaseReqData reqData) { + return new BaseResp(); + } + + @Override + public BaseResp writeConf(BaseReqData reqData) { + return new BaseResp(); + } + + @Override + public BaseResp initCable(BaseReqData reqData) { + return new BaseResp(); + } + + + @Override + public BaseResp disconnect(BaseReqData reqData) { + return new BaseResp(); + } + + @Override + public BaseResp transparent(BaseReqData reqData) { + return new BaseResp(); + } } diff --git a/src/main/java/com/fzzy/protocol/zldz/cmd/CommandBuilder1116_0.java b/src/main/java/com/fzzy/protocol/zldz/cmd/CommandBuilder1116_0.java new file mode 100644 index 0000000..1124c5d --- /dev/null +++ b/src/main/java/com/fzzy/protocol/zldz/cmd/CommandBuilder1116_0.java @@ -0,0 +1,70 @@ +package com.fzzy.protocol.zldz.cmd; + + +import com.fzzy.api.utils.BytesUtil; +import com.fzzy.io.request.BaseRequest; +import com.fzzy.protocol.zldz.data.Message; +import com.fzzy.protocol.zldz.data.MessageBody; +import com.fzzy.protocol.zldz.server.ZldzServerUtil; + +/** + * @author Andy + */ +public class CommandBuilder1116_0 extends CommandBuilder { + + + private final static CommandBuilder1116_0 instance = new CommandBuilder1116_0(); + + private CommandBuilder1116_0() { + + } + + public static CommandBuilder1116_0 getInstance() { + return instance; + } + + public Message buildMessage(BaseRequest request) { + + Message message = new Message(); + + message.setBegin(ZldzServerUtil.MSG_START); + + // 璋冩暣Message澶撮儴淇℃伅 + buildHeader(message, request); + + //鍖呭ご鏍¢獙 + buildCrc8(message); + + // 鍒涘缓娑堟伅浣� + buildBody(message, request); + + // 娣诲姞鏍¢獙 + buildCrc16(message); + + message.setEnd(ZldzServerUtil.MSG_END); + + // 鐢熸垚鏁翠綋鍛戒护淇℃伅鍜孊Yte淇℃伅 + build(message); + + return message; + } + + public void buildHeader(Message message, BaseRequest request) { + + message.setSourceId("0000"); + message.setSendId("0000"); + message.setCompanyId("0000"); + message.setTargetId("FFFF"); + + message.setMessageType(BytesUtil.tran_LH(ZldzServerUtil.MSG_TYPE_1116)); + } + + + public void buildBody(Message message, BaseRequest request) { + MessageBody body = new MessageBody(); + body.setContent("0000000000000000000000000000"); + body.setLength(14); + message.setBody(body); + } + +} diff --git a/src/main/java/com/fzzy/protocol/zldz/cmd/CommandBuilder1116_1.java b/src/main/java/com/fzzy/protocol/zldz/cmd/CommandBuilder1116_1.java new file mode 100644 index 0000000..b924b08 --- /dev/null +++ b/src/main/java/com/fzzy/protocol/zldz/cmd/CommandBuilder1116_1.java @@ -0,0 +1,109 @@ +package com.fzzy.protocol.zldz.cmd; + +import com.fzzy.api.Constant; +import com.fzzy.api.data.ApiCommonDevice; +import com.fzzy.api.utils.BytesUtil; +import com.fzzy.gateway.entity.GatewayDevice; +import com.fzzy.io.request.BaseRequest; +import com.fzzy.protocol.zldz.data.Message; +import com.fzzy.protocol.zldz.data.MessageBody; +import com.fzzy.protocol.zldz.server.ZldzServerUtil; + + +/** + * @author Andy + */ +public class CommandBuilder1116_1 extends CommandBuilder { + + + private final static CommandBuilder1116_1 instance = new CommandBuilder1116_1(); + + private CommandBuilder1116_1() { + + } + + public static CommandBuilder1116_1 getInstance() { + return instance; + } + + public Message buildMessage(BaseRequest request, GatewayDevice device) { + + Message message = new Message(); + + message.setBegin(ZldzServerUtil.MSG_START); + + // 璋冩暣Message澶撮儴淇℃伅 + buildHeader(message, request, device); + + //鍖呭ご鏍¢獙 + buildCrc8(message); + + // 鍒涘缓娑堟伅浣� + buildBody(message, request, device); + + // 娣诲姞鏍¢獙 + buildCrc16(message); + + message.setEnd(ZldzServerUtil.MSG_END); + + // 鐢熸垚鏁翠綋鍛戒护淇℃伅鍜孊Yte淇℃伅 + build(message); + + return message; + } + + public void buildHeader(Message message, BaseRequest request, GatewayDevice device) { + + String hexCompanyId = BytesUtil.getTargetId(request.getCompanyId(), true); + hexCompanyId = BytesUtil.tran_LH(hexCompanyId); + + message.setSourceId(hexCompanyId); + message.setSendId(hexCompanyId); + + //鍙戦�佺殑蹇呴』鏄師鏉ョ殑缁勭粐缂栫爜 + String orgId = BytesUtil.tran_LH(BytesUtil.getTargetId(device.getOrgId(), true)); + message.setCompanyId(orgId); + + message.setTargetId(BytesUtil.tran_LH(BytesUtil.getTargetId(request.getSerId(), true))); + message.setMessageType(BytesUtil.tran_LH(ZldzServerUtil.MSG_TYPE_1116)); + } + + + public void buildBody(Message message, BaseRequest request, GatewayDevice device) { + MessageBody body = new MessageBody(); + StringBuffer content = new StringBuffer(); + content.append("01");//鍐欐爣璁� + content.append(message.getTargetId()); + content.append(BytesUtil.getTargetId("01", false));//缃戠粶ID + content.append("0A");//榛樿10 淇¢亾 + content.append(BytesUtil.getTargetId("03", false));//閫熺巼 + + ApiCommonDevice commonDevice = Constant.getCommonDeviceCacheByIp(device.getIp()); + + String cable = commonDevice.getCable(); + if (null == cable) { + cable = device.getCableRule(); + } + String[] attr = cable.split("-"); + int z = Integer.valueOf(attr[0]); + int y = Integer.valueOf(attr[1]); + int x = Integer.valueOf(attr[2]); + + content.append(BytesUtil.toHexString(z)); + content.append(BytesUtil.toHexString(y)); + content.append(BytesUtil.toHexString(x)); + + content.append(BytesUtil.getTargetId(device.getCableFormat(), false)); + content.append(BytesUtil.getTargetId(device.getCableType(), false)); + + String powerModel = "02"; + content.append(BytesUtil.getTargetId(powerModel, false)); + + content.append(message.getSourceId()); + + body.setContent(content.toString()); + body.setLength(14); + message.setBody(body); + } + +} diff --git a/src/main/java/com/fzzy/protocol/zldz/cmd/CommandBuilder1122.java b/src/main/java/com/fzzy/protocol/zldz/cmd/CommandBuilder1122.java new file mode 100644 index 0000000..d7de2d8 --- /dev/null +++ b/src/main/java/com/fzzy/protocol/zldz/cmd/CommandBuilder1122.java @@ -0,0 +1,47 @@ +package com.fzzy.protocol.zldz.cmd; + + +import com.fzzy.api.utils.BytesUtil; +import com.fzzy.io.request.BaseRequest; +import com.fzzy.protocol.zldz.data.Message; +import com.fzzy.protocol.zldz.data.MessageBody; +import com.fzzy.protocol.zldz.server.ZldzServerUtil; + +/** + * 鍒濆鍖栫數缂嗙數缂� + * + * @author Andy + */ +public class CommandBuilder1122 extends CommandBuilder { + + private final static CommandBuilder1122 instance = new CommandBuilder1122(); + + private CommandBuilder1122() { + + } + + public static CommandBuilder1122 getInstance() { + return instance; + } + + public void buildHeader(Message message, BaseRequest request) { + + String hexCompanyId = BytesUtil.getTargetId(request.getCompanyId(), true); + hexCompanyId = BytesUtil.tran_LH(hexCompanyId); + + message.setSourceId(hexCompanyId); + message.setSendId(hexCompanyId); + message.setCompanyId(hexCompanyId); + + message.setTargetId(BytesUtil.tran_LH(BytesUtil.getTargetId(request.getSerId(), true))); + message.setMessageType(BytesUtil.tran_LH(ZldzServerUtil.MSG_TYPE_1122)); + } + + public void buildBody(Message message, BaseRequest request) { + MessageBody body = new MessageBody(); + body.setContent("01"); + body.setLength(1); + message.setBody(body); + } + +} diff --git a/src/main/java/com/fzzy/protocol/zldz/server/ZldzServerEngine.java b/src/main/java/com/fzzy/protocol/zldz/server/ZldzServerEngine.java index 78e0c88..cbb4f30 100644 --- a/src/main/java/com/fzzy/protocol/zldz/server/ZldzServerEngine.java +++ b/src/main/java/com/fzzy/protocol/zldz/server/ZldzServerEngine.java @@ -10,7 +10,6 @@ /** * 閰嶇疆涓绘湇鍔′俊鎭� - * */ @Slf4j public class ZldzServerEngine { @@ -82,4 +81,19 @@ } return session.invoke(msg); } + + public static void disconnect(String ip, Integer port) { + IoSessionQuery sessionFactory = ioServer.getSessionQuery(); + List<IoSession> sessions = sessionFactory.getAllSession(); + IoSession session = null; + for (IoSession ioSession : sessions) { + if (ServerUtils.getServerKey(ip, port).equals(ioSession.getBusinessKey())) { + session = ioSession; + break; + } + } + if (null != session) { + session.destroy(); + } + } } diff --git a/src/main/java/com/fzzy/protocol/zldz/service/ZldzGatewayGrainService.java b/src/main/java/com/fzzy/protocol/zldz/service/ZldzGatewayGrainService.java index eb65882..366935a 100644 --- a/src/main/java/com/fzzy/protocol/zldz/service/ZldzGatewayGrainService.java +++ b/src/main/java/com/fzzy/protocol/zldz/service/ZldzGatewayGrainService.java @@ -12,9 +12,7 @@ import com.fzzy.protocol.ProtocolUtils; import com.fzzy.protocol.bhzn.cmd.CommandBuild; import com.fzzy.protocol.bhzn.server.BhznGrainV2ServerEngine; -import com.fzzy.protocol.zldz.cmd.CommandBuilder1115; -import com.fzzy.protocol.zldz.cmd.CommandBuilder8815; -import com.fzzy.protocol.zldz.cmd.CommandBuilder8817; +import com.fzzy.protocol.zldz.cmd.*; import com.fzzy.protocol.zldz.data.Message; import com.fzzy.protocol.zldz.server.ZldzServerEngine; import com.fzzy.protocol.zldz.server.ZldzServerUtil; @@ -92,6 +90,109 @@ return resp; } + @Override + public BaseResp syncConf(BaseReqData reqData) { + BaseResp resp = new BaseResp(); + + GatewayDevice device = reqData.getDevice(); + BaseRequest request = new BaseRequest(); + request.setIp(device.getIp()); + request.setPort(device.getPort()); + request.setSerName(device.getDeviceName()); + + request.setCompanyId(ZldzServerUtil.DEFAULT_COMPANY); + + // Step1 鐢熸垚鍛戒护 + Message message = CommandBuilder1116_0.getInstance().buildMessage(request); + // 鍙戦�佸懡浠� + InvokeResult result = ZldzServerEngine.push(device.getIp(), device.getPort(), message.getByteMsg()); + + log.info("骞冲彴------>>>鍒嗘満锛�" + request.getSerName() + "-璇诲彇閰嶇疆鍛戒护=" + message); + + //濡傛灉鍛戒护鍙戦�佸け璐ワ紝鐩存帴韪㈡帀杩炴帴 + if (!InvokeResult.SUCCESS.getCode().equals(result.getCode())) { + resp.setCode(500); + resp.setMsg(result.getMessage()); + } + return resp; + } + + @Override + public BaseResp writeConf(BaseReqData reqData) { + BaseResp resp = new BaseResp(); + + GatewayDevice device = reqData.getDevice(); + BaseRequest request = new BaseRequest(); + request.setIp(device.getIp()); + request.setPort(device.getPort()); + request.setCompanyId(device.getOrgId()); + request.setSerName(device.getDeviceName()); + + // Step1 鐢熸垚鍛戒护 + Message message = CommandBuilder1116_1.getInstance().buildMessage(request,device); + // 鍙戦�佸懡浠� + InvokeResult result = ZldzServerEngine.push(device.getIp(), device.getPort(), message.getByteMsg()); + + log.info("骞冲彴------>>>鍒嗘満锛�" + request.getSerName() + "-鍐欏叆閰嶇疆鍛戒护=" + message); + + //濡傛灉鍛戒护鍙戦�佸け璐ワ紝鐩存帴韪㈡帀杩炴帴 + if (!InvokeResult.SUCCESS.getCode().equals(result.getCode())) { + resp.setCode(500); + resp.setMsg(result.getMessage()); + } + return resp; + } + + @Override + public BaseResp initCable(BaseReqData reqData) { + BaseResp resp = new BaseResp(); + + GatewayDevice device = reqData.getDevice(); + BaseRequest request = new BaseRequest(); + request.setIp(device.getIp()); + request.setPort(device.getPort()); + request.setCompanyId(device.getOrgId()); + request.setSerName(device.getDeviceName()); + + // Step1 + Message message = CommandBuilder1122.getInstance().buildMessage(request); + // 鍙戦�佸懡浠� + InvokeResult result = ZldzServerEngine.push(device.getIp(), device.getPort(), message.getByteMsg()); + + log.info("骞冲彴------>>>鍒嗘満锛�" + request.getSerName() + "-鍒濆鍖栫數缂嗗懡浠�=" + message); + + //濡傛灉鍛戒护鍙戦�佸け璐ワ紝鐩存帴韪㈡帀杩炴帴 + if (!InvokeResult.SUCCESS.getCode().equals(result.getCode())) { + resp.setCode(500); + resp.setMsg(result.getMessage()); + } + return resp; + } + + @Override + public BaseResp disconnect(BaseReqData reqData) { + BaseResp resp = new BaseResp(); + GatewayDevice device = reqData.getDevice(); + + ApiCommonDevice commonDevice = Constant.getCommonDeviceCache(device.getDeviceSn()); + + if(null == commonDevice){ + resp.setCode(500); + resp.setMsg("绯荤粺鏈彂鐜拌繛鎺ヨ澶囷紝鍙栨秷鎵ц"); + return resp; + } + + ZldzServerEngine.disconnect(commonDevice.getIp(),commonDevice.getPort()); + return resp; + } + + @Override + public BaseResp transparent(BaseReqData reqData) { + BaseResp resp = new BaseResp(); + + return resp; + } + /** * 鏈嶅姟鍣ㄥ洖澶嶇粓绔殑鏀跺埌璇锋眰 * @@ -103,7 +204,7 @@ Message message = CommandBuilder8815.getInstance().buildMessage( request); - log.debug("骞冲彴------>>>鍒嗘満锛�" +request.getSerName() + "-绮儏鏈嶅姟绔洖澶嶅懡浠�=" + message.toString()); + log.debug("骞冲彴------>>>鍒嗘満锛�" + request.getSerName() + "-绮儏鏈嶅姟绔洖澶嶅懡浠�=" + message.toString()); // 鍙戦�佸懡浠� InvokeResult result = ZldzServerEngine.push(request.getIp(), request.getPort(), message.getByteMsg()); @@ -130,7 +231,7 @@ Message message = CommandBuilder8817.getInstance().buildMessage(request); - log.debug("骞冲彴------>>>鍒嗘満锛�" +request.getSerName() + "-绮儏鏈嶅姟绔洖澶嶆敹鍒扮伯鎯呭寘鍛戒护=" + message.toString()); + log.debug("骞冲彴------>>>鍒嗘満锛�" + request.getSerName() + "-绮儏鏈嶅姟绔洖澶嶆敹鍒扮伯鎯呭寘鍛戒护=" + message.toString()); // 鍙戦�佸懡浠� InvokeResult result = ZldzServerEngine.push(request.getIp(), request.getPort(), -- Gitblit v1.9.3