浏览代码

更新!

TRX 1 年之前
父节点
当前提交
2f015722e9

+ 2 - 0
src/main/java/com/github/microservice/dataConfig/IotIdentifierConfig.java

@@ -9,5 +9,7 @@ public class IotIdentifierConfig {
     // 通知权限发生变化 标识符
     public static final String permissionNotice = "permissionNotice";
 
+    // 单次通知网关设备权限发生变化的设备数量
+    public static final int maxNoticeSize = 200;
 
 }

+ 5 - 1
src/main/java/com/github/microservice/models/device/DevicePerQuery.java

@@ -7,6 +7,8 @@ import lombok.Data;
 import lombok.NoArgsConstructor;
 
 import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.List;
 
 /**
  * 查询设备的权限数据
@@ -18,8 +20,10 @@ import java.io.Serializable;
 @AllArgsConstructor
 @NoArgsConstructor
 public class DevicePerQuery extends IotSuperModel implements Serializable {
-    
+
     @Schema(description = "时间")
     private String time = "";
 
+    @Schema(description = "设备ID集合")
+    private List<String> deviceIds = new ArrayList<>();
 }

+ 1 - 1
src/main/java/com/github/microservice/models/devicePermiss/DeviceAboutPermiss.java

@@ -30,7 +30,7 @@ public class DeviceAboutPermiss extends IotBaseResult {
 
     @Schema(description = "是否开放使用")
     private Boolean isOpenUse = Boolean.FALSE;
-
+    
     @Schema(description = "包含用户权限")
     private List<UserPermiss> userPermisses = new ArrayList<>();
 

+ 23 - 0
src/main/java/com/github/microservice/models/devicePermiss/DeviceUsersInfo.java

@@ -0,0 +1,23 @@
+package com.github.microservice.models.devicePermiss;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author TRX
+ * @date 2024/10/17
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class DeviceUsersInfo {
+
+    @Schema(description = "用户信息列表")
+    private List<UserPermiss> users = new ArrayList<>();
+
+}

+ 40 - 0
src/main/java/com/github/microservice/models/iot/IotSendGateWayParam.java

@@ -0,0 +1,40 @@
+package com.github.microservice.models.iot;
+
+import cn.hutool.json.JSONObject;
+import com.github.microservice.types.FunctionType;
+import io.swagger.v3.oas.annotations.Hidden;
+import io.swagger.v3.oas.annotations.media.Schema;
+import jakarta.validation.constraints.NotEmpty;
+import jakarta.validation.constraints.NotNull;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * 发送 网关的参数模型
+ *
+ * @author TRX
+ * @date 2024/9/9
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class IotSendGateWayParam {
+
+    @Schema(description = "网关ID")
+    private String gateWayId;
+
+    @Schema(description = "事件、服务名称")
+    private String event = "";
+
+    @NotNull(message = "data不能为空")
+    @Schema(description = "数据信息")
+    private JSONObject data;
+
+    @Schema(description = "消息过期时间", defaultValue = "5000")
+    private Long ttl = 5000l;
+
+    @Schema(description = "是否是模拟数据", defaultValue = "false")
+    private Boolean isImitate = Boolean.FALSE;
+
+}

+ 14 - 6
src/main/java/com/github/microservice/models/iot/IotSendParam.java

@@ -9,6 +9,7 @@ import jakarta.validation.constraints.NotNull;
 import lombok.AllArgsConstructor;
 import lombok.Data;
 import lombok.NoArgsConstructor;
+import org.apache.commons.lang3.ObjectUtils;
 
 /**
  * 发送消息的参数模型
@@ -24,21 +25,28 @@ public class IotSendParam {
     @Schema(description = "标识数据ID, 不传自动生成")
     private String dataId;
 
-    @Schema(description = "用户ID")
-    @Hidden
-    private String userId;
-
     @Schema(description = "功能类型,属性 事件 服务")
     private FunctionType functionType;
 
     @Schema(description = "标识符,如:ConsumTransactions")
-    @NotEmpty(message = "identifier不能为空")
     private String identifier;
 
-    @NotEmpty(message = "deviceId不能为空")
+    @Schema(description = "事件、服务名称")
+    private String event = "";
+
+    public String getEvent() {
+        if (ObjectUtils.isNotEmpty(event)) {
+            return event;
+        }
+        return identifier;
+    }
+
     @Schema(description = "设备ID")
     private String deviceId;
 
+    @Schema(description = "网关ID")
+    private String gateWayId;
+
     @NotNull(message = "data不能为空")
     @Schema(description = "数据信息")
     private JSONObject data;