Browse Source

大华云睿监控相关常量

liuyaowen 1 year ago
parent
commit
3dc2246b9b

+ 6 - 1
src/main/java/com/yunfeiyun/agmp/iot/common/constant/devicetype/IotDeviceDictConst.java

@@ -116,7 +116,8 @@ public class IotDeviceDictConst {
      * 海康安防管理平台监控设备
      * */
     public static final String TYPE_HIK_OPEN_DEVICE = "1103";
-
+    /**大华云睿平台监控设备*/
+    public static final String TYPE_DAHUA_YUNRUI_DEVICE = "JK00002";
     /**
      * 欧标农田水位计
      */
@@ -255,6 +256,10 @@ public class IotDeviceDictConst {
      */
     public static final String TYPE_YF_GKCBD = "CQCBD00003";
 
+    /**
+     * 云飞吸虫塔
+     * */
+    public static final String TYPE_YF_XCT = "CQCBD00004";
 
 
     /*

+ 2 - 2
src/main/java/com/yunfeiyun/agmp/iot/common/constant/devicetype/IotDeviceDictEnum.java

@@ -70,14 +70,13 @@ public enum IotDeviceDictEnum {
     TYPE_JSY_ST_QF(IotDeviceDictConst.TYPE_JSY_ST_QF, "及时雨三通球阀", ServiceNameConst.SERVICE_JSY_ST_QF, IotDeviceTypeLv1Enum.QF),
     TYPE_XPH_GSSQ(IotDeviceDictConst.TYPE_XPH_GSSQ, "新浦会管式墒情", ServiceNameConst.SERVICE_XPH_GSSQ, IotDeviceTypeLv1Enum.GSSQ),
 
-
-
     /**
      * 新版本的写道下面
      */
     TYPE_YF_CBD(IotDeviceDictConst.TYPE_YF_CBD, "普通测报灯", ServiceNameConst.SERVICE_YF_CBD, IotDeviceTypeLv1Enum.CBD),
     TYPE_YF_GKCBD(IotDeviceDictConst.TYPE_YF_GKCBD, "高空测报灯", ServiceNameConst.SERVICE_YF_GKCBD, IotDeviceTypeLv1Enum.CBD),
     TYPE_YF_SDCBD(IotDeviceDictConst.TYPE_YF_SDCBD, "水稻测报灯", ServiceNameConst.SERVICE_YF_SDCBD, IotDeviceTypeLv1Enum.CBD),
+    TYPE_YF_XCT(IotDeviceDictConst.TYPE_YF_XCT,"吸虫塔",ServiceNameConst.SERVICE_YF_CBD,IotDeviceTypeLv1Enum.CBD),
 
     TYPE_YF_SCD(IotDeviceDictConst.TYPE_YF_SCD, "云飞普通杀虫灯", ServiceNameConst.SERVICE_YF_SCD, IotDeviceTypeLv1Enum.SCD),
     TYPE_YF_FXSSCD(IotDeviceDictConst.TYPE_YF_FXSSCD, "云飞风吸式杀虫灯", ServiceNameConst.SERVICE_YF_FXSSCD, IotDeviceTypeLv1Enum.SCD),
@@ -94,6 +93,7 @@ public enum IotDeviceDictEnum {
 
 
     TYPE_YF_JKSB(IotDeviceDictConst.TYPE_EZVIZ_JKSB, "萤石云监控设备", ServiceNameConst.SERVICE_EZVIZ_MINITOR, IotDeviceTypeLv1Enum.JKSB),
+    TYPE_YF_DAHUA_YUNRUI(IotDeviceDictConst.TYPE_DAHUA_YUNRUI_DEVICE, "大华云睿监控设备", ServiceNameConst.SERVICE_YUN_RUI_MINITOR, IotDeviceTypeLv1Enum.JKSB),
 
 
     TYPE_HS_YBQ_DWB(IotDeviceDictConst.TYPE_HS_YBQ_DWB, "黄氏生物水稻稻瘟病预警监测", ServiceNameConst.SERVICE_HS_YBQ, IotDeviceTypeLv1Enum.YBQ_DWB),

+ 5 - 0
src/main/java/com/yunfeiyun/agmp/iot/common/constant/devicetype/ServiceNameConst.java

@@ -64,6 +64,7 @@ public class ServiceNameConst {
      * 大华设备对接
      * */
     public static final String SERVICE_DAHUA_ICC = "DAHUA_SERVICE";
+    public static final String SERVICE_YUN_RUI_MINITOR = "SERVICE_YUN_RUI_MINITOR";
     /**
      * 爱迪智农-管式墒情
      */
@@ -188,4 +189,8 @@ public class ServiceNameConst {
      * 云飞性诱测报灯III 不带拍照
      */
     public static final String SERVICE_YF_XYCB_III = "YF-XYCB-III-SERVICE";
+    /**
+     * 云飞吸虫塔设备
+     * */
+    public static final String SERVICE_YF_XCT = "YF_XCT_SERVICE";
 }

+ 7 - 0
src/main/java/com/yunfeiyun/agmp/iot/common/constant/mqtt/IotMqttConstant.java

@@ -32,6 +32,13 @@ public class IotMqttConstant {
     }
 
     /**
+     * 吸虫塔的mqttTopic前缀,同时吸虫塔是测报灯的一种,同时需要订阅测报灯的topic
+     * */
+    public class YFXctTopic{
+        /**吸虫塔虫情识别图片*/
+        public final static String TOPIC_XCT_PEST_IMG = "/yfkj/xct/inner/sub/";
+    }
+    /**
      * 博云 水肥topic
      */
     public class BoByunSfTopic {

+ 33 - 80
src/main/java/com/yunfeiyun/agmp/iot/common/domain/IotMonitorCapture.java

@@ -3,113 +3,66 @@ package com.yunfeiyun.agmp.iot.common.domain;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.yunfeiyun.agmp.common.annotation.Excel;
 import com.yunfeiyun.agmp.common.core.domain.BaseEntity;
+import lombok.Data;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 import org.apache.commons.lang3.builder.ToStringStyle;
 
 /**
  * 监控抓拍图片对象 IotMonitorCapture
- * 
+ *
  * @author 杨晓辉
  * @date 2024-04-02
  */
 @TableName("IotMonitorCapture")
-public class IotMonitorCapture extends IotBaseEntity
-{
+@Data
+public class IotMonitorCapture extends IotBaseEntity {
     private static final long serialVersionUID = 1L;
 
     private String id;
 
-    /** 抓拍图片业务标识 */
+    /**
+     * 抓拍图片业务标识
+     */
     @Excel(name = "抓拍图片业务标识")
     private String picBid;
 
     @Excel(name = "客户标识")
-    private String cid;
-    /** 设备业务标识 */
+    private String tid;
+    /**
+     * 设备业务标识
+     */
     @Excel(name = "设备业务标识")
     private String devBid;
 
-    /** 图片地址 */
+    /**
+     * 图片地址
+     */
     @Excel(name = "图片地址")
     private String picUrl;
+    /**
+     * 临时目录:当转存失败后,将原始地址放这里,下载成功后再放到picUrl
+     */
+    private String tempUrl;
 
-    /** 图片更新时间 */
+    private String devCode;
+
+    private int retrySize;
+
+    /**
+     * 1 转存成功  0 待转存
+     */
+    private String saveStatus;
+
+    /**
+     * 图片更新时间
+     */
     @Excel(name = "图片更新时间")
     private String picModifieddate;
 
-    /** 图片创建时间 */
+    /**
+     * 图片创建时间
+     */
     @Excel(name = "图片创建时间")
     private String picCreatedDate;
 
-    public void setId(String id)
-    {
-        this.id = id;
-    }
-    public String getId(){
-        return this.id;
-    }
-    public void setPicBid(String picBid)
-    {
-        this.picBid = picBid;
-    }
-
-    public String getPicBid()
-    {
-        return picBid;
-    }
-    public void setDevBid(String devBid)
-    {
-        this.devBid = devBid;
-    }
-
-    public String getDevBid()
-    {
-        return devBid;
-    }
-    public void setPicUrl(String picUrl)
-    {
-        this.picUrl = picUrl;
-    }
-
-    public String getPicUrl()
-    {
-        return picUrl;
-    }
-    public void setPicModifieddate(String picModifieddate)
-    {
-        this.picModifieddate = picModifieddate;
-    }
-
-    public String getPicModifieddate()
-    {
-        return picModifieddate;
-    }
-    public void setPicCreatedDate(String picCreatedDate)
-    {
-        this.picCreatedDate = picCreatedDate;
-    }
-
-    public String getPicCreatedDate()
-    {
-        return picCreatedDate;
-    }
-
-    @Override
-    public String toString() {
-        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
-            .append("picBid", getPicBid())
-            .append("devBid", getDevBid())
-            .append("picUrl", getPicUrl())
-            .append("picModifieddate", getPicModifieddate())
-            .append("picCreatedDate", getPicCreatedDate())
-            .toString();
-    }
-
-    public String getCid() {
-        return cid;
-    }
-
-    public void setCid(String cid) {
-        this.cid = cid;
-    }
 }

+ 1 - 1
src/main/java/com/yunfeiyun/agmp/iot/common/domain/IotZjsfXycbdata.java

@@ -15,7 +15,7 @@ public class IotZjsfXycbdata extends IotBaseEntity{
 
     private String id;
 
-    private String cId;
+    private String tid;
 
     private String xycbdataBid;
 

+ 53 - 0
src/main/java/com/yunfeiyun/agmp/iot/common/domain/reqvo/IotMonitorPtzConstant.java

@@ -0,0 +1,53 @@
+package com.yunfeiyun.agmp.iot.common.domain.reqvo;
+
+/**
+ * 平台自定义监控云台控制常量,用于计算适配各厂家云台控制接口相关参数
+ *
+ * @author liuyaowen
+ * */
+public class IotMonitorPtzConstant {
+    private IotMonitorPtzConstant(){
+    }
+
+    /**
+     *  云台控制相关常量
+     * */
+    public static class MoveDirectConstant {
+        /**上*/
+        public static final String UP = "1";
+        /**下*/
+        public static final String DOWN = "2";
+        /**左*/
+        public static final String LEFT = "3";
+        /**右*/
+        public static final String RIGHT = "4";
+        /**左上*/
+        public static final String LEFT_UP = "5";
+        /**左下*/
+        public static final String LEFT_DOWN = "6";
+        /**右上*/
+        public static final String RIGHT_UP = "7";
+
+        /**右下*/
+        public static final String RIGHT_DOWN = "8";
+    }
+    /**
+     *  镜头变焦相关常量
+     * */
+    public static class LensDirectConstant {
+        /**焦距放大*/
+        public static final String ENLARGE = "1";
+        /**焦距缩小*/
+        public static final String REDUCTION = "-1";
+    }
+    /**
+     * 操作类型相关常量
+     * */
+    public static class OperationConstant {
+        /**云台移动*/
+        public static final String MOVE = "0";
+        /**镜头变焦*/
+        public static final String LENS = "1";
+    }
+
+}

+ 35 - 1
src/main/java/com/yunfeiyun/agmp/iot/common/service/DeviceconnCacheService.java

@@ -45,7 +45,9 @@ public class DeviceconnCacheService {
     private String getKey(RedisCacheKey redisCacheKey){
         return redisCacheKey.getPrefix() + ":" + redisCacheKey.getModuleType() + ":" + redisCacheKey.getName()+":";
     }
-
+    /**
+     * 【mqtt】 通过设备连接标识获取mqtt链接标识
+     * */
     public String getMqttConnectIdByDeviceConnBid(String devconnBid){
         log.error("【设备连接缓存】查询mqtt链接标识,设备连接标识为:{}",devconnBid);
         String connectId = (String) redisTemplate.opsForValue().get(getKey(RedisCacheKey.IOT_DEVICE_CONN_MQTT_ID)+devconnBid);
@@ -55,20 +57,52 @@ public class DeviceconnCacheService {
         }
         return connectId;
     }
+    /**
+     * 【mqtt】 关联设备连接标识和mqtt链接标识
+     * */
     public void setMqttConnectionIdByConnBid(String devconnBid,String connectionId){
         redisTemplate.opsForList().leftPush(getKey(RedisCacheKey.IOT_MQTT_DEVICE_CONN_BID_LIST)+connectionId,devconnBid);
         redisTemplate.opsForValue().set(getKey(RedisCacheKey.IOT_DEVICE_CONN_MQTT_ID)+devconnBid,connectionId);
     }
+    /**
+     * 【mqtt】删除mqtt链接标识
+     * */
     public void deleteMqttConnectionId(String devconnBid){
         redisTemplate.opsForList().remove(getKey(RedisCacheKey.IOT_MQTT_DEVICE_CONN_BID_LIST)+getMqttConnectIdByDeviceConnBid(devconnBid),1,devconnBid);
         redisTemplate.delete(getKey(RedisCacheKey.IOT_DEVICE_CONN_MQTT_ID)+devconnBid);
     }
+    /**
+     * 【mqtt】判定mqtt链接标识是否还有绑定的设备连接标识
+     * */
     public boolean mqttConnectionIdHasLink(String connectionId){
        return redisTemplate.hasKey(getKey(RedisCacheKey.IOT_MQTT_DEVICE_CONN_BID_LIST)+connectionId);
     }
+    /**
+     * 【http】保存租户的http通用连接信息
+     * */
+    public void setHttpCommonConnectionByDevtypeCode(String devconnBid,String devtypeCode){
+        redisTemplate.opsForList().leftPush(getKey(RedisCacheKey.IOT_HTTP_DEVICE_CONN_BID_LIST)+devtypeCode,devconnBid);
+    }
+    /**
+     * 【http】删除租户的http通用连接信息
+     * */
+    public void deleteMqttConnectionId(String devconnBid,String devtypeCode){
+        redisTemplate.opsForList().remove(getKey(RedisCacheKey.IOT_HTTP_DEVICE_CONN_BID_LIST)+devtypeCode,1,devconnBid);
+    }
+    /**
+     * 【http】判定http通用连接是否还有绑定的设备连接
+     * */
+    public boolean httpConnectionBidHasLink(String devtypeCode){
+       return redisTemplate.hasKey(getKey(RedisCacheKey.IOT_MQTT_DEVICE_CONN_BID_LIST)+devtypeCode);
+    }
+
+
     public void cleanCache(){
+        // Mqtt设备连接数据标识列表
         cleanCache(RedisCacheKey.IOT_MQTT_DEVICE_CONN_BID_LIST);
+        // Mqtt设备链接标识
         cleanCache(RedisCacheKey.IOT_DEVICE_CONN_MQTT_ID);
+        // Mqtt设备连接信息标识
         cleanCache(RedisCacheKey.IOT_DEVICE_CONN);
     }
     public void cleanCache(RedisCacheKey redisCacheKey){