jiazx0107@163.com
2023-10-25 03e26beab1d9c382b685c26059e6dec274a0d7d4
四川省网关接口相关5
已重命名12个文件
已删除3个文件
已添加14个文件
已修改7个文件
843 ■■■■ 文件已修改
src/main/java/com/fzzy/api/data/GatewayDeviceProtocol.java 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/api/data/GatewayProtocol.java 39 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/api/service/ApiTriggerService.java 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/gateway/GatewayRunner.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/gateway/api/GatewayRemoteManager.java 83 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/gateway/api/GatewaySyncGranService.java 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/gateway/api/GatewaySyncIdCardService.java 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/gateway/api/GatewaySyncLedService.java 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/gateway/api/GatewaySyncLprService.java 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/gateway/api/GatewaySyncService.java 62 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/gateway/api/GatewaySyncWeightService.java 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/gateway/data/GatewayResult.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/gateway/entity/GatewayConf.java 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/gateway/hx2023/ScConstant.java 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/gateway/hx2023/data/GrainData.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/gateway/hx2023/data/IdCardData.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/gateway/hx2023/data/LprData.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/gateway/hx2023/data/SyncReqData.java 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/gateway/hx2023/data/WebSocketPacket.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/gateway/hx2023/data/WebSocketPacketHeader.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/gateway/hx2023/data/WeightInfo.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/gateway/hx2023/package-info.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/gateway/hx2023/service/ApiInitService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/gateway/hx2023/service/HxGatewayRemoteServiceImpl.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/gateway/hx2023/service/HxGatewaySyncGrainImpl.java 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/gateway/hx2023/service/HxGatewaySyncIdCardImpl1.java 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/gateway/hx2023/service/HxGatewaySyncLedImpl1.java 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/gateway/hx2023/service/HxGatewaySyncLprImpl1.java 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/gateway/hx2023/service/HxGatewaySyncWeightImpl1.java 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/gateway/hx2023/websocket/WebSocketDevice.java 20 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/gateway/hx2023/websocket/WebSocketDeviceLed.java 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/gateway/hx2023/websocket/WebSocketMqtt.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/gateway/sc2023/ScConstant.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/gateway/sc2023/package-info.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/gateway/view/GatewayConf.view.xml 81 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/gateway/view/GatewayDevice.view.xml 46 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/api/data/GatewayDeviceProtocol.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,41 @@
package com.fzzy.api.data;
/**
 * ç½‘关与设备直接的通讯协议
 */
public enum GatewayDeviceProtocol {
    GRAIN_FZZY_ZH_2023("GRAIN_FZZY_ZH_2023", "粮情-风正致远控制柜协议2023"),
    DEVICE_WEIGHT_HTTP("DEVICE_WEIGHT_HTTP", "地磅-HTTP协议"),
    DEVICE_IDCARD_HTTP("DEVICE_IDCARD_HTTP", "身份证-HTTP协议"),
    DEVICE_LED_HTTP("DEVICE_LED_HTTP", "LED-HTTP协议"),
    DEVICE_LPR_HTTP("DEVICE_LPR_HTTP", "车牌识别-HTTP协议"),
    DEVICE_TEST("DEVICE_TEST", "测试协议");
    private String code;
    private String name;
    public String getCode() {
        return code;
    }
    public void setCode(String code) {
        this.code = code;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    GatewayDeviceProtocol(String code, String name) {
        this.code = code;
        this.name = name;
    }
}
src/main/java/com/fzzy/api/data/GatewayProtocol.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,39 @@
package com.fzzy.api.data;
/**
 * ç³»ç»Ÿä¸Žç½‘关之间的通讯协议
 */
public enum GatewayProtocol {
    GATE_WEBSOCKET("GATE_WEBSOCKET", "webSocket"),
    GATE_MQTT("GATE_MQTT", "MQTT"),
    GATE_HTTP("GATE_HTTP", "HTTP"),
    GATE_TEST("GATE_TEST", "测试");
    private String code;
    private String name;
    public String getCode() {
        return code;
    }
    public void setCode(String code) {
        this.code = code;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    GatewayProtocol(String code, String name) {
        this.code = code;
        this.name = name;
    }
}
src/main/java/com/fzzy/api/service/ApiTriggerService.java
@@ -4,6 +4,8 @@
import com.bstek.dorado.annotation.DataProvider;
import com.bstek.dorado.annotation.Expose;
import com.fzzy.api.Constant;
import com.fzzy.api.data.GatewayDeviceProtocol;
import com.fzzy.api.data.GatewayProtocol;
import com.fzzy.api.data.PushProtocol;
import com.fzzy.api.data.SyncProtocol;
import com.fzzy.api.entity.ApiTrigger;
@@ -190,6 +192,8 @@
        list.add(new ApiTrigger(PushProtocol.HB_FZZY_JG_2022.getCode(), PushProtocol.HB_FZZY_JG_2022.getName()));
        list.add(new ApiTrigger(PushProtocol.SB_SHJdJW_2023.getCode(), PushProtocol.SB_SHJdJW_2023.getName()));
        list.add(new ApiTrigger(PushProtocol.SB_SH_2023.getCode(), PushProtocol.SB_SH_2023.getName()));
        list.add(new ApiTrigger(PushProtocol.GATEWAY_SC_2023.getCode(), PushProtocol.GATEWAY_SC_2023.getName()));
        return list;
    }
@@ -211,4 +215,41 @@
        return list;
    }
    /**
     * ${dorado.getDataProvider("apiTriggerService#triggerGatewayProtocol").getResult()}
     * ç³»ç»Ÿä¸Žç½‘关直接的通讯协议
     *
     * @return
     */
    @DataProvider
    public List<ApiTrigger> triggerGatewayProtocol() {
        List<ApiTrigger> list = new ArrayList<>();
        list.add(new ApiTrigger(GatewayProtocol.GATE_HTTP.getCode(), GatewayProtocol.GATE_HTTP.getName()));
        list.add(new ApiTrigger(GatewayProtocol.GATE_MQTT.getCode(), GatewayProtocol.GATE_MQTT.getName()));
        list.add(new ApiTrigger(GatewayProtocol.GATE_WEBSOCKET.getCode(), GatewayProtocol.GATE_WEBSOCKET.getName()));
        list.add(new ApiTrigger(GatewayProtocol.GATE_TEST.getName(), GatewayProtocol.GATE_TEST.getName()));
        return list;
    }
    /**
     * ${dorado.getDataProvider("apiTriggerService#triggerGatewayDeviceProtocol").getResult()}
     * ç³»ç»Ÿä¸Žç½‘关直接的通讯协议
     *
     * @return
     */
    @DataProvider
    public List<ApiTrigger> triggerGatewayDeviceProtocol() {
        List<ApiTrigger> list = new ArrayList<>();
        list.add(new ApiTrigger(GatewayDeviceProtocol.GRAIN_FZZY_ZH_2023.getCode(), GatewayDeviceProtocol.GRAIN_FZZY_ZH_2023.getName()));
        list.add(new ApiTrigger(GatewayDeviceProtocol.DEVICE_WEIGHT_HTTP.getCode(), GatewayDeviceProtocol.DEVICE_WEIGHT_HTTP.getName()));
        list.add(new ApiTrigger(GatewayDeviceProtocol.DEVICE_IDCARD_HTTP.getCode(), GatewayDeviceProtocol.DEVICE_IDCARD_HTTP.getName()));
        list.add(new ApiTrigger(GatewayDeviceProtocol.DEVICE_LED_HTTP.getCode(), GatewayDeviceProtocol.DEVICE_LED_HTTP.getName()));
        list.add(new ApiTrigger(GatewayDeviceProtocol.DEVICE_LPR_HTTP.getCode(), GatewayDeviceProtocol.DEVICE_LPR_HTTP.getName()));
        list.add(new ApiTrigger(GatewayDeviceProtocol.DEVICE_TEST.getCode(), GatewayDeviceProtocol.DEVICE_TEST.getName()));
        return list;
    }
}
src/main/java/com/fzzy/gateway/GatewayRunner.java
@@ -1,6 +1,6 @@
package com.fzzy.gateway;
import com.fzzy.gateway.sc2023.service.ApiInitService;
import com.fzzy.gateway.hx2023.service.ApiInitService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.CommandLineRunner;
import org.springframework.core.annotation.Order;
@@ -27,7 +27,6 @@
        //四川网关接口,启动默认获取鉴权信息,长期有效
        apiInitService.init();
    }
src/main/java/com/fzzy/gateway/api/GatewayRemoteManager.java
@@ -9,29 +9,56 @@
import java.util.Map;
/**
 * æŽ¥å£å°è£…
 */
@Component
public class GatewayRemoteManager implements ApplicationContextAware {
    public static Map<String, GatewayRemoteService> remoteMap = new HashMap<>();
    public static Map<String, GatewaySyncService> syncMap = new HashMap<>();
    public static Map<String, GatewaySyncGranService> syncGrain = new HashMap<>();
    public static Map<String, GatewaySyncIdCardService> syncIdCard = new HashMap<>();
    public static Map<String, GatewaySyncLedService> syncLed = new HashMap<>();
    public static Map<String, GatewaySyncLprService> syncLpr = new HashMap<>();
    public static Map<String, GatewaySyncWeightService> syncWeight = new HashMap<>();
    @Override
    public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
        Map<String, GatewayRemoteService> serviceMap1 = applicationContext.getBeansOfType(GatewayRemoteService.class);
        for (String key : serviceMap1.keySet()) {
            remoteMap.put(serviceMap1.get(key).getProtocol(), serviceMap1.get(key));
        }
        Map<String, GatewaySyncService> serviceMap2 = applicationContext.getBeansOfType(GatewaySyncService.class);
        Map<String, GatewaySyncGranService> serviceMap2 = applicationContext.getBeansOfType(GatewaySyncGranService.class);
        for (String key : serviceMap2.keySet()) {
            syncMap.put(serviceMap2.get(key).getProtocol(), serviceMap2.get(key));
            syncGrain.put(serviceMap2.get(key).getGrainProtocol(), serviceMap2.get(key));
        }
        Map<String, GatewaySyncIdCardService> serviceMap3 = applicationContext.getBeansOfType(GatewaySyncIdCardService.class);
        for (String key : serviceMap3.keySet()) {
            syncIdCard.put(serviceMap3.get(key).getIdCardProtocol(), serviceMap3.get(key));
        }
        Map<String, GatewaySyncLedService> serviceMap4 = applicationContext.getBeansOfType(GatewaySyncLedService.class);
        for (String key : serviceMap4.keySet()) {
            syncLed.put(serviceMap4.get(key).getLedProtocol(), serviceMap4.get(key));
        }
        Map<String, GatewaySyncLprService> serviceMap5 = applicationContext.getBeansOfType(GatewaySyncLprService.class);
        for (String key : serviceMap5.keySet()) {
            syncLpr.put(serviceMap5.get(key).getLprProtocol(), serviceMap5.get(key));
        }
        Map<String, GatewaySyncWeightService> serviceMap6 = applicationContext.getBeansOfType(GatewaySyncWeightService.class);
        for (String key : serviceMap6.keySet()) {
            syncWeight.put(serviceMap6.get(key).getWeightProtocol(), serviceMap6.get(key));
        }
    }
@@ -52,8 +79,48 @@
     * @param protocol
     * @return
     */
    public GatewaySyncService getSyncService(String protocol) {
        return syncMap.get(protocol);
    public GatewaySyncGranService getSyncGrainService(String protocol) {
        return syncGrain.get(protocol);
    }
    /**
     * æ ¹æ®å®žçŽ°åè®®èŽ·å–å½“å‰å®žçŽ°æ–¹æ³•
     *
     * @param protocol
     * @return
     */
    public GatewaySyncIdCardService getSyncIdCardService(String protocol) {
        return syncIdCard.get(protocol);
    }
    /**
     * æ ¹æ®å®žçŽ°åè®®èŽ·å–å½“å‰å®žçŽ°æ–¹æ³•
     *
     * @param protocol
     * @return
     */
    public GatewaySyncLedService getSyncLedService(String protocol) {
        return syncLed.get(protocol);
    }
    /**
     * æ ¹æ®å®žçŽ°åè®®èŽ·å–å½“å‰å®žçŽ°æ–¹æ³•
     *
     * @param protocol
     * @return
     */
    public GatewaySyncLprService getSyncLprService(String protocol) {
        return syncLpr.get(protocol);
    }
    /**
     * æ ¹æ®å®žçŽ°åè®®èŽ·å–å½“å‰å®žçŽ°æ–¹æ³•
     *
     * @param protocol
     * @return
     */
    public GatewaySyncWeightService getSyncWeightService(String protocol) {
        return syncWeight.get(protocol);
    }
}
src/main/java/com/fzzy/gateway/api/GatewaySyncGranService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,28 @@
package com.fzzy.gateway.api;
import com.fzzy.gateway.hx2023.data.GrainData;
import com.fzzy.gateway.hx2023.data.*;
/**
 * ç½‘关设备同步接口,根据业务需求定义接口
 */
public interface GatewaySyncGranService {
    /**
     * åè®®å®šä¹‰
     *
     * @return
     */
    String getGrainProtocol();
    /**
     * åŒæ­¥ç²®æƒ…信息
     *
     * @param reqData
     * @return
     */
    public GrainData syncGrain(SyncReqData reqData);
}
src/main/java/com/fzzy/gateway/api/GatewaySyncIdCardService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,28 @@
package com.fzzy.gateway.api;
import com.fzzy.gateway.hx2023.data.IdCardData;
import com.fzzy.gateway.hx2023.data.*;
/**
 * ç½‘关设备同步接口,根据业务需求定义接口
 */
public interface GatewaySyncIdCardService {
    /**
     * åè®®å®šä¹‰
     *
     * @return
     */
    String getIdCardProtocol();
    /**
     * èº«ä»½è¯è¯»å¡å™¨
     *
     * @return
     */
    public IdCardData syncIdCard(SyncReqData reqData);
}
src/main/java/com/fzzy/gateway/api/GatewaySyncLedService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,34 @@
package com.fzzy.gateway.api;
import com.fzzy.gateway.hx2023.data.*;
/**
 * ç½‘关设备同步接口,根据业务需求定义接口
 */
public interface GatewaySyncLedService {
    /**
     * åè®®å®šä¹‰
     *
     * @return
     */
    String getLedProtocol();
    /**
     * æŽ¨é€æŠ¥æ–‡ç»™LED
     * <p>
     *  TODO>>>>>当前接口文档看不懂
     *
     * @return
     */
    public String push2Led(SyncReqData reqData);
}
src/main/java/com/fzzy/gateway/api/GatewaySyncLprService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,26 @@
package com.fzzy.gateway.api;
import com.fzzy.gateway.hx2023.data.*;
/**
 * ç½‘关设备同步接口,根据业务需求定义接口
 */
public interface GatewaySyncLprService {
    /**
     * åè®®å®šä¹‰
     *
     * @return
     */
    String getLprProtocol();
    /**
     * è½¦ç‰Œè¯†åˆ«èŽ·å–
     *
     * @return
     */
    public LprData syncLpr(SyncReqData reqData);
}
src/main/java/com/fzzy/gateway/api/GatewaySyncService.java
ÎļþÒÑɾ³ý
src/main/java/com/fzzy/gateway/api/GatewaySyncWeightService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,26 @@
package com.fzzy.gateway.api;
import com.fzzy.gateway.hx2023.data.*;
/**
 * ç½‘关设备同步接口,根据业务需求定义接口
 */
public interface GatewaySyncWeightService {
    /**
     * åè®®å®šä¹‰
     *
     * @return
     */
    String getWeightProtocol();
    /**
     * åŒæ­¥åœ°ç£…信息
     *
     * @return
     */
    public WeightInfo syncWeightInfo(SyncReqData reqData);
}
src/main/java/com/fzzy/gateway/data/GatewayResult.java
@@ -8,5 +8,10 @@
@Data
public class GatewayResult implements Serializable {
    /**
     *
     */
    private static final long serialVersionUID = 1L;
    public String token;
}
src/main/java/com/fzzy/gateway/entity/GatewayConf.java
@@ -28,6 +28,30 @@
    @Column(name = "kqmc", length = 100)
    private String kqmc;
    @PropertyDef(label = "网关ID")
    @Column(name = "gatewayId", length = 50)
    private String gatewayId;
    @PropertyDef(label = "网关IP")
    @Column(name = "gatewayIp", length = 20)
    private String gatewayIp;
    @PropertyDef(label = "网关Mac")
    @Column(name = "gatewayMac", length = 20)
    private String gatewayMac;
    @PropertyDef(label = "网关CPU")
    @Column(name = "gatewayCPU", length = 50)
    private String gatewayCPU;
    @PropertyDef(label = "网关内存")
    @Column(name = "gatewayMem", length = 50)
    private String gatewayMem;
    @PropertyDef(label = "网关硬盘")
    @Column(name = "gatewayHardDisk", length = 50)
    private String gatewayHardDisk;
    @PropertyDef(label = "用户名")
    @Column(name = "username", length = 50)
    private String userName;
@@ -44,6 +68,10 @@
    @Column(name = "apiUrl", length = 200)
    private String apiUrl;
    @PropertyDef(label = "appId")
    @Column(name = "appId", length = 50)
    private String appId;
    @PropertyDef(label = "推送协议")
    @Column(name = "pushProtocol", length = 20)
    private String pushProtocol;
src/main/java/com/fzzy/gateway/hx2023/ScConstant.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,35 @@
package com.fzzy.gateway.hx2023;
import java.util.HashMap;
import java.util.Map;
/**
 * å¸¸é‡
 */
public class ScConstant {
    public static String API_URL_AUTH = "${auth}/authorize/login";
    /**
     * è®¾å¤‡åœ¨çº¿æ ‡è®°ï¼Œé’ˆå¯¹WEBSocket请求,控制设备是否在线,key = deviceId,Value=Y/N
     */
    public static Map<String, String> contextOnlineMap = new HashMap<>();
    public static void updateOnline(String deviceId) {
        contextOnlineMap.put(deviceId, "Y");
    }
    public static void updateOffOnline(String deviceId) {
        contextOnlineMap.put(deviceId, "N");
    }
    public static boolean isOnline(String deviceId) {
        String value = contextOnlineMap.get(deviceId);
        if (null == value || "N".equals(value)) return false;
        return true;
    }
}
src/main/java/com/fzzy/gateway/hx2023/data/GrainData.java
ÎļþÃû´Ó src/main/java/com/fzzy/gateway/sc2023/data/GrainData.java ÐÞ¸Ä
@@ -1,4 +1,4 @@
package com.fzzy.gateway.sc2023.data;
package com.fzzy.gateway.hx2023.data;
import lombok.Data;
src/main/java/com/fzzy/gateway/hx2023/data/IdCardData.java
ÎļþÃû´Ó src/main/java/com/fzzy/gateway/sc2023/data/IdCardData.java ÐÞ¸Ä
@@ -1,4 +1,4 @@
package com.fzzy.gateway.sc2023.data;
package com.fzzy.gateway.hx2023.data;
import lombok.Data;
src/main/java/com/fzzy/gateway/hx2023/data/LprData.java
ÎļþÃû´Ó src/main/java/com/fzzy/gateway/sc2023/data/LprData.java ÐÞ¸Ä
@@ -1,4 +1,4 @@
package com.fzzy.gateway.sc2023.data;
package com.fzzy.gateway.hx2023.data;
import lombok.Data;
src/main/java/com/fzzy/gateway/hx2023/data/SyncReqData.java
ÎļþÃû´Ó src/main/java/com/fzzy/gateway/sc2023/data/SyncReqData.java ÐÞ¸Ä
@@ -1,5 +1,8 @@
package com.fzzy.gateway.sc2023.data;
package com.fzzy.gateway.hx2023.data;
import lombok.Data;
@Data
public class SyncReqData {
    private String productId;
src/main/java/com/fzzy/gateway/hx2023/data/WebSocketPacket.java
ÎļþÃû´Ó src/main/java/com/fzzy/gateway/sc2023/data/WebSocketPacket.java ÐÞ¸Ä
@@ -1,4 +1,4 @@
package com.fzzy.gateway.sc2023.data;
package com.fzzy.gateway.hx2023.data;
import com.alibaba.fastjson2.JSONObject;
import lombok.Data;
src/main/java/com/fzzy/gateway/hx2023/data/WebSocketPacketHeader.java
ÎļþÃû´Ó src/main/java/com/fzzy/gateway/sc2023/data/WebSocketPacketHeader.java ÐÞ¸Ä
@@ -1,4 +1,4 @@
package com.fzzy.gateway.sc2023.data;
package com.fzzy.gateway.hx2023.data;
import lombok.Data;
src/main/java/com/fzzy/gateway/hx2023/data/WeightInfo.java
ÎļþÃû´Ó src/main/java/com/fzzy/gateway/sc2023/data/WeightInfo.java ÐÞ¸Ä
@@ -1,4 +1,4 @@
package com.fzzy.gateway.sc2023.data;
package com.fzzy.gateway.hx2023.data;
import lombok.Data;
src/main/java/com/fzzy/gateway/hx2023/package-info.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,5 @@
/**
 * åŽä¿¡-2023年接口
 */
package com.fzzy.gateway.hx2023;
src/main/java/com/fzzy/gateway/hx2023/service/ApiInitService.java
ÎļþÃû´Ó src/main/java/com/fzzy/gateway/sc2023/service/ApiInitService.java ÐÞ¸Ä
@@ -1,4 +1,4 @@
package com.fzzy.gateway.sc2023.service;
package com.fzzy.gateway.hx2023.service;
import com.fzzy.gateway.api.GatewayRemoteManager;
import com.fzzy.gateway.api.GatewayRemoteService;
src/main/java/com/fzzy/gateway/hx2023/service/HxGatewayRemoteServiceImpl.java
ÎļþÃû´Ó src/main/java/com/fzzy/gateway/sc2023/service/ScGatewayRemoteServiceImpl.java ÐÞ¸Ä
@@ -1,4 +1,4 @@
package com.fzzy.gateway.sc2023.service;
package com.fzzy.gateway.hx2023.service;
import com.fzzy.api.data.AuthToken;
import com.fzzy.api.data.PushProtocol;
@@ -10,10 +10,11 @@
import com.fzzy.gateway.api.GatewayRemoteService;
import com.fzzy.gateway.data.GatewayResponse;
import com.fzzy.gateway.entity.GatewayConf;
import com.fzzy.gateway.sc2023.ScConstant;
import com.fzzy.gateway.hx2023.ScConstant;
import com.fzzy.push.gb2022.HttpClientUtil;
import lombok.Data;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
@@ -23,8 +24,8 @@
@Slf4j
@Data
@Service
public class ScGatewayRemoteServiceImpl implements GatewayRemoteService {
@Component
public class HxGatewayRemoteServiceImpl implements GatewayRemoteService {
    @Resource
src/main/java/com/fzzy/gateway/hx2023/service/HxGatewaySyncGrainImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,28 @@
package com.fzzy.gateway.hx2023.service;
import com.fzzy.gateway.api.GatewaySyncGranService;
import com.fzzy.gateway.hx2023.data.GrainData;
import com.fzzy.gateway.hx2023.data.SyncReqData;
import lombok.Data;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
/**
 * ç½‘关与粮情分机通讯和解析
 */
@Slf4j
@Data
@Component
public class HxGatewaySyncGrainImpl implements GatewaySyncGranService {
    @Override
    public String getGrainProtocol() {
        return null;
    }
    @Override
    public GrainData syncGrain(SyncReqData reqData) {
        return null;
    }
}
src/main/java/com/fzzy/gateway/hx2023/service/HxGatewaySyncIdCardImpl1.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,31 @@
package com.fzzy.gateway.hx2023.service;
import com.fzzy.gateway.api.GatewaySyncIdCardService;
import com.fzzy.gateway.api.GatewaySyncLedService;
import com.fzzy.gateway.api.GatewaySyncLprService;
import com.fzzy.gateway.api.GatewaySyncWeightService;
import com.fzzy.gateway.hx2023.data.IdCardData;
import com.fzzy.gateway.hx2023.data.*;
import lombok.Data;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
/**
 * ç½‘关与设备之间的通讯
 */
@Slf4j
@Data
@Component
public class HxGatewaySyncIdCardImpl1 implements GatewaySyncIdCardService {
    @Override
    public String getIdCardProtocol() {
        return null;
    }
    @Override
    public IdCardData syncIdCard(SyncReqData reqData) {
        return null;
    }
}
src/main/java/com/fzzy/gateway/hx2023/service/HxGatewaySyncLedImpl1.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,27 @@
package com.fzzy.gateway.hx2023.service;
import com.fzzy.gateway.api.GatewaySyncLedService;
import com.fzzy.gateway.hx2023.data.SyncReqData;
import lombok.Data;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
/**
 * ç½‘关与设备之间的通讯
 */
@Slf4j
@Data
@Component
public class HxGatewaySyncLedImpl1 implements GatewaySyncLedService {
    @Override
    public String getLedProtocol() {
        return null;
    }
    @Override
    public String push2Led(SyncReqData reqData) {
        return null;
    }
}
src/main/java/com/fzzy/gateway/hx2023/service/HxGatewaySyncLprImpl1.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,29 @@
package com.fzzy.gateway.hx2023.service;
import com.fzzy.gateway.api.GatewaySyncLedService;
import com.fzzy.gateway.api.GatewaySyncLprService;
import com.fzzy.gateway.hx2023.data.LprData;
import com.fzzy.gateway.hx2023.data.SyncReqData;
import lombok.Data;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
/**
 * ç½‘关与设备之间的通讯
 */
@Slf4j
@Data
@Component
public class HxGatewaySyncLprImpl1 implements GatewaySyncLprService {
    @Override
    public String getLprProtocol() {
        return null;
    }
    @Override
    public LprData syncLpr(SyncReqData reqData) {
        return null;
    }
}
src/main/java/com/fzzy/gateway/hx2023/service/HxGatewaySyncWeightImpl1.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,34 @@
package com.fzzy.gateway.hx2023.service;
import com.fzzy.api.data.GatewayDeviceProtocol;
import com.fzzy.gateway.api.GatewaySyncLprService;
import com.fzzy.gateway.api.GatewaySyncWeightService;
import com.fzzy.gateway.hx2023.data.LprData;
import com.fzzy.gateway.hx2023.data.SyncReqData;
import com.fzzy.gateway.hx2023.data.WeightInfo;
import lombok.Data;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
/**
 * ç½‘关与设备之间的通讯
 */
@Slf4j
@Data
@Component
public class HxGatewaySyncWeightImpl1 implements GatewaySyncWeightService {
    @Override
    public String getWeightProtocol() {
        return GatewayDeviceProtocol.DEVICE_WEIGHT_HTTP.getCode();
    }
    @Override
    public WeightInfo syncWeightInfo(SyncReqData reqData) {
        return null;
    }
}
src/main/java/com/fzzy/gateway/hx2023/websocket/WebSocketDevice.java
ÎļþÃû´Ó src/main/java/com/fzzy/gateway/sc2023/websocket/WebSocketDevice.java ÐÞ¸Ä
@@ -1,7 +1,8 @@
package com.fzzy.gateway.sc2023.websocket;
package com.fzzy.gateway.hx2023.websocket;
import com.alibaba.fastjson.JSONObject;
import com.fzzy.gateway.sc2023.data.WebSocketPacket;
import com.fzzy.gateway.hx2023.ScConstant;
import com.fzzy.gateway.hx2023.data.WebSocketPacket;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringUtils;
import org.springframework.stereotype.Component;
@@ -17,7 +18,7 @@
 */
@Slf4j
@Component
@ServerEndpoint(value = "/device/${productId}/${deviceId}/message/property/report")
@ServerEndpoint(value = "/device/{productId}/{deviceId}/message/property/report")
public class WebSocketDevice {
    private static Map<String, Session> sessionPool = new ConcurrentHashMap<>();
@@ -41,6 +42,8 @@
        sessionPool.put(key, session);
        sessionIds.put(session.getId(), key);
        ScConstant.updateOnline(deviceId);
        log.info("new webSocket,clientId={}", key);
    }
@@ -49,11 +52,14 @@
        String key = sessionIds.get(session.getId());
        String deviceId = key.substring(0, key.indexOf("-"));
        ScConstant.updateOffOnline(deviceId);
        sessionPool.remove(key);
        sessionIds.remove(session.getId());
        log.info("WebSocket连接关闭={}", key);
    }
@@ -75,6 +81,10 @@
        String key = sessionIds.get(session.getId());
        String deviceId = key.substring(0, key.indexOf("-"));
        ScConstant.updateOffOnline(deviceId);
        sessionPool.remove(key);
        sessionIds.remove(session.getId());
        error.printStackTrace();
@@ -82,6 +92,8 @@
    /**
     * æŽ¨é€ä¿¡æ¯åˆ°å‰ç«¯
     *
     * @param packet
     */
    public static void sendByPacket(WebSocketPacket packet) {
src/main/java/com/fzzy/gateway/hx2023/websocket/WebSocketDeviceLed.java
ÎļþÃû´Ó src/main/java/com/fzzy/gateway/sc2023/websocket/WebSocketDeviceLed.java ÐÞ¸Ä
@@ -1,7 +1,8 @@
package com.fzzy.gateway.sc2023.websocket;
package com.fzzy.gateway.hx2023.websocket;
import com.alibaba.fastjson.JSONObject;
import com.fzzy.gateway.sc2023.data.WebSocketPacket;
import com.fzzy.gateway.hx2023.ScConstant;
import com.fzzy.gateway.hx2023.data.WebSocketPacket;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringUtils;
import org.springframework.stereotype.Component;
@@ -17,7 +18,7 @@
 */
@Slf4j
@Component
@ServerEndpoint(value = "/device-message-sender/${productId}/${deviceId}")
@ServerEndpoint(value = "/device-message-sender/{productId}/{deviceId}")
public class WebSocketDeviceLed {
    private static Map<String, Session> sessionPool = new ConcurrentHashMap<>();
@@ -41,6 +42,8 @@
        sessionPool.put(key, session);
        sessionIds.put(session.getId(), key);
        ScConstant.updateOnline(deviceId);
        log.info("new webSocket,clientId={}", key);
    }
@@ -51,6 +54,10 @@
        sessionPool.remove(key);
        sessionIds.remove(session.getId());
        String deviceId = key.substring(0, key.indexOf("-"));
        ScConstant.updateOffOnline(deviceId);
        log.info("WebSocket连接关闭={}", key);
@@ -75,6 +82,10 @@
        String key = sessionIds.get(session.getId());
        String deviceId = key.substring(0, key.indexOf("-"));
        ScConstant.updateOffOnline(deviceId);
        sessionPool.remove(key);
        sessionIds.remove(session.getId());
        error.printStackTrace();
src/main/java/com/fzzy/gateway/hx2023/websocket/WebSocketMqtt.java
ÎļþÃû´Ó src/main/java/com/fzzy/gateway/sc2023/websocket/WebSocketMqtt.java ÐÞ¸Ä
@@ -1,4 +1,4 @@
package com.fzzy.gateway.sc2023.websocket;
package com.fzzy.gateway.hx2023.websocket;
import lombok.extern.slf4j.Slf4j;
src/main/java/com/fzzy/gateway/sc2023/ScConstant.java
ÎļþÒÑɾ³ý
src/main/java/com/fzzy/gateway/sc2023/package-info.java
ÎļþÒÑɾ³ý
src/main/java/com/fzzy/gateway/view/GatewayConf.view.xml
@@ -6,38 +6,66 @@
    <DataType name="dtMain">
      <Property name="creationType">com.fzzy.gateway.entity.GatewayConf</Property>
      <PropertyDef name="kqmc">
        <Property/>
        <Property></Property>
        <Property name="label">库区名称</Property>
        <Property name="required">true</Property>
      </PropertyDef>
      <PropertyDef name="kqdm">
        <Property/>
        <Property></Property>
        <Property name="label">库区代码</Property>
        <Property name="required">true</Property>
      </PropertyDef>
      <PropertyDef name="userName">
      <PropertyDef name="appId">
        <Property/>
        <Property name="label">appId</Property>
      </PropertyDef>
      <PropertyDef name="gatewayId">
        <Property/>
        <Property name="label">网关ID</Property>
      </PropertyDef>
      <PropertyDef name="gatewayIp">
        <Property/>
        <Property name="label">网关IP</Property>
      </PropertyDef>
      <PropertyDef name="gatewayMac">
        <Property/>
        <Property name="label">网关Mac</Property>
      </PropertyDef>
      <PropertyDef name="gatewayCPU">
        <Property/>
        <Property name="label">网关CPU</Property>
      </PropertyDef>
      <PropertyDef name="gatewayMem">
        <Property/>
        <Property name="label">网关内存</Property>
      </PropertyDef>
      <PropertyDef name="gatewayHardDisk">
        <Property/>
        <Property name="label">网关硬盘</Property>
      </PropertyDef>
      <PropertyDef name="userName">
        <Property></Property>
        <Property name="label">省平台帐号</Property>
      </PropertyDef>
      <PropertyDef name="password">
        <Property/>
        <Property></Property>
        <Property name="label">省平台密码</Property>
      </PropertyDef>
      <PropertyDef name="publicKey">
        <Property/>
        <Property></Property>
        <Property name="label">省平台公钥</Property>
      </PropertyDef>
      <PropertyDef name="apiUrl">
        <Property/>
        <Property></Property>
        <Property name="label">省平台接口地址</Property>
      </PropertyDef>
      <PropertyDef name="exeTag">
        <Property/>
        <Property></Property>
        <Property name="label">是否启用</Property>
      </PropertyDef>
      <PropertyDef name="pushProtocol">
        <Property></Property>
        <Property name="label">上行协议</Property>
        <Property name="label">省平台协议</Property>
        <Property name="mapping">
          <Property name="mapValues">${dorado.getDataProvider(&quot;apiTriggerService#triggerPushProtocol&quot;).getResult()}</Property>
          <Property name="keyProperty">code</Property>
@@ -46,7 +74,7 @@
        <Property name="required">true</Property>
      </PropertyDef>
      <PropertyDef name="deptId">
        <Property/>
        <Property></Property>
        <Property name="label">粮库系统中库区编码</Property>
      </PropertyDef>
    </DataType>
@@ -183,6 +211,41 @@
              <Editor/>
            </AutoFormElement>
            <AutoFormElement>
              <Property name="name">gatewayId</Property>
              <Property name="property">gatewayId</Property>
              <Editor/>
            </AutoFormElement>
            <AutoFormElement>
              <Property name="name">gatewayIp</Property>
              <Property name="property">gatewayIp</Property>
              <Editor/>
            </AutoFormElement>
            <AutoFormElement>
              <Property name="name">gatewayMac</Property>
              <Property name="property">gatewayMac</Property>
              <Editor/>
            </AutoFormElement>
            <AutoFormElement>
              <Property name="name">gatewayCPU</Property>
              <Property name="property">gatewayCPU</Property>
              <Editor/>
            </AutoFormElement>
            <AutoFormElement>
              <Property name="name">gatewayMem</Property>
              <Property name="property">gatewayMem</Property>
              <Editor/>
            </AutoFormElement>
            <AutoFormElement>
              <Property name="name">gatewayHardDisk</Property>
              <Property name="property">gatewayHardDisk</Property>
              <Editor/>
            </AutoFormElement>
            <AutoFormElement>
              <Property name="name">appId</Property>
              <Property name="property">appId</Property>
              <Editor/>
            </AutoFormElement>
            <AutoFormElement>
              <Property name="name">userName</Property>
              <Property name="property">userName</Property>
              <Editor/>
src/main/java/com/fzzy/gateway/view/GatewayDevice.view.xml
@@ -6,31 +6,33 @@
    <DataType name="dtMain">
      <Property name="creationType">com.fzzy.gateway.entity.GatewayDevice</Property>
      <PropertyDef name="id">
        <Property/>
        <Property></Property>
        <Property name="label">系统ID</Property>
      </PropertyDef>
      <PropertyDef name="deviceId">
        <Property/>
        <Property></Property>
        <Property name="label">设备ID</Property>
        <Property name="required">true</Property>
      </PropertyDef>
      <PropertyDef name="deviceName">
        <Property/>
        <Property></Property>
        <Property name="label">名称</Property>
        <Property name="required">true</Property>
      </PropertyDef>
      <PropertyDef name="type">
        <Property/>
        <Property></Property>
        <Property name="label">设备类型</Property>
      </PropertyDef>
      <PropertyDef name="depotId">
        <Property/>
        <Property></Property>
        <Property name="label">所属仓库</Property>
      </PropertyDef>
      <PropertyDef name="depotName">
        <Property/>
        <Property></Property>
        <Property name="label">所属仓库</Property>
      </PropertyDef>
      <PropertyDef name="ip">
        <Property/>
        <Property></Property>
        <Property name="label">通讯IP</Property>
      </PropertyDef>
      <PropertyDef name="port">
@@ -38,35 +40,45 @@
        <Property name="label">通讯端口</Property>
      </PropertyDef>
      <PropertyDef name="rtsp">
        <Property/>
        <Property></Property>
        <Property name="label">视频RTSP</Property>
      </PropertyDef>
      <PropertyDef name="syncProtocol">
        <Property/>
        <Property name="label">设备协议</Property>
      </PropertyDef>
      <PropertyDef name="pushProtocol">
        <Property></Property>
        <Property name="label">网关通讯</Property>
        <Property name="label">系统网关通讯协议</Property>
        <Property name="mapping">
          <Property name="mapValues">${dorado.getDataProvider(&quot;apiTriggerService#triggerPushProtocol&quot;).getResult()}</Property>
          <Property name="mapValues">${dorado.getDataProvider(&quot;apiTriggerService#triggerGatewayProtocol&quot;).getResult()}</Property>
          <Property name="keyProperty">code</Property>
          <Property name="valueProperty">name</Property>
        </Property>
        <Property name="required">true</Property>
      </PropertyDef>
      <PropertyDef name="syncProtocol">
        <Property></Property>
        <Property name="label">网关与设备通讯协议</Property>
        <Property name="mapping">
          <Property name="keyProperty">code</Property>
          <Property name="valueProperty">name</Property>
          <Property name="mapValues">${dorado.getDataProvider(&quot;apiTriggerService#triggerGatewayDeviceProtocol&quot;).getResult()}</Property>
        </Property>
        <Property name="required">true</Property>
      </PropertyDef>
      <PropertyDef name="orgId">
        <Property/>
        <Property></Property>
        <Property name="label">组织编码</Property>
      </PropertyDef>
      <PropertyDef name="remark">
        <Property/>
        <Property></Property>
        <Property name="label">备注</Property>
      </PropertyDef>
      <PropertyDef name="httpUrl">
        <Property/>
        <Property></Property>
        <Property name="label">HTTP地址</Property>
      </PropertyDef>
      <PropertyDef name="deviceSn">
        <Property/>
        <Property name="label">设备序列号</Property>
      </PropertyDef>
    </DataType>
  </Model>
  <View layout="regionPadding:10">