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> 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) 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 { 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) 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) 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; 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 { 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 { 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 { 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"; 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; 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 { 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 { /** 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 { 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 { /** * 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); } 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"; } /** * åå§å车çè¯å« * @@ -126,7 +263,7 @@ return "ERRORï¼å½åè®¾å¤æ²¡æé ç½®å¸çº¿è§åï¼æ æ³æ§è¡"; } BaseResp resp =null; BaseResp resp; if(GatewayDeviceProtocol.DEVICE_TEST.getCode().equals(device.getSyncProtocol())){ resp = gatewayRemoteManager.getGatewayTestService(device.getPushProtocol()).testGrain(reqData); }else{ 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(); @@ -402,4 +401,22 @@ 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"; } } src/main/java/com/fzzy/gateway/view/GatewayDevice.js
@@ -35,3 +35,23 @@ } }) } /** * * @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); } }) } 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,21 +399,20 @@ </Buttons> <Children> <Container layout="regionPadding:10;padding:10"> <FieldSet layout="padding:5"> <Property name="caption">ç½å ³è®¾å¤é ç½®</Property> <Buttons/> <Children> <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> <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">deviceSn</Property> <Property name="property">deviceSn</Property> <Editor/> </AutoFormElement> <AutoFormElement> @@ -355,18 +431,42 @@ <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> <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> @@ -377,6 +477,11 @@ <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> @@ -394,20 +499,14 @@ <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> <Property name="name">status</Property> <Property name="property">status</Property> <Editor/> </AutoFormElement> <AutoFormElement layoutConstraint="colSpan:2"> @@ -415,15 +514,23 @@ <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">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> <Property name="name">depotIdSys</Property> <Property name="property">depotIdSys</Property> <Editor/> </AutoFormElement> <AutoFormElement> @@ -437,11 +544,33 @@ <Editor/> </AutoFormElement> <AutoFormElement> <Property name="name">status</Property> <Property name="property">status</Property> <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> 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(); } } 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(); } } 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); // çææ´ä½å½ä»¤ä¿¡æ¯åBYteä¿¡æ¯ 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); } } 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); // çææ´ä½å½ä»¤ä¿¡æ¯åBYteä¿¡æ¯ 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); } } 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); } } 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(); } } } 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; } /** * æå¡å¨åå¤ç»ç«¯çæ¶å°è¯·æ± *