TRX 1 tahun lalu
induk
melakukan
ec37ab8625
18 mengubah file dengan 715 tambahan dan 0 penghapusan
  1. 126 0
      src/main/java/com/github/microservice/busInfoModel/device/DeviceInfoModel.java
  2. 72 0
      src/main/java/com/github/microservice/busInfoModel/device/IotTemplateSimpleModel.java
  3. 39 0
      src/main/java/com/github/microservice/busInfoModel/device/ProjectInfoModel.java
  4. 35 0
      src/main/java/com/github/microservice/busInfoModel/device/ProjectInfoSimpleModel.java
  5. 21 0
      src/main/java/com/github/microservice/busInfoModel/thing/IotThing2DeviceBind.java
  6. 60 0
      src/main/java/com/github/microservice/busInfoModel/thing/IotThing2DeviceModel.java
  7. 34 0
      src/main/java/com/github/microservice/busInfoModel/thing/IotThing2DeviceSearch.java
  8. 78 0
      src/main/java/com/github/microservice/busInfoModel/thing/IotThingModel.java
  9. 25 0
      src/main/java/com/github/microservice/busInfoModel/thing/IotThingParam.java
  10. 45 0
      src/main/java/com/github/microservice/busInfoModel/thing/IotThingSearch.java
  11. 12 0
      src/main/java/com/github/microservice/models/baseParam/IDParam.java
  12. 16 0
      src/main/java/com/github/microservice/models/baseParam/NameModel.java
  13. 14 0
      src/main/java/com/github/microservice/models/baseParam/OidModel.java
  14. 44 0
      src/main/java/com/github/microservice/models/baseParam/SuperModel.java
  15. 26 0
      src/main/java/com/github/microservice/models/baseParam/SuperParam.java
  16. 47 0
      src/main/java/com/github/microservice/models/baseParam/SuperSearchParam.java
  17. 2 0
      src/main/java/com/github/microservice/models/onLine/DeviceOnLineParam.java
  18. 19 0
      src/main/java/com/github/microservice/types/common/DataState.java

+ 126 - 0
src/main/java/com/github/microservice/busInfoModel/device/DeviceInfoModel.java

@@ -0,0 +1,126 @@
+package com.github.microservice.busInfoModel.device;
+
+import cn.hutool.json.JSONObject;
+import com.github.microservice.models.baseParam.SuperModel;
+import com.github.microservice.types.common.DataState;
+import com.github.microservice.types.deviceUse.DeviceSpecType;
+import com.github.microservice.types.deviceUse.DeviceType;
+import com.github.microservice.types.deviceUse.OnLineState;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+import org.apache.commons.lang3.ObjectUtils;
+
+/**
+ * @author TRX
+ * @date 2024/5/16
+ */
+@Data
+public class DeviceInfoModel extends SuperModel {
+
+    @Schema(description = "设备ID")
+    private String deviceId;
+
+    @Schema(description = "设备名称")
+    private String deviceName;
+
+    @Schema(description = "产品code")
+    private String productCode;
+
+    private String productName;
+
+    public String getProductName() {
+        if (ObjectUtils.isNotEmpty(iotTemplate)) {
+            return iotTemplate.getName();
+        }
+        return "";
+    }
+
+    @Schema(description = "产品信息")
+    private IotTemplateSimpleModel iotTemplate;
+
+    @Schema(description = "在线状态")
+    private OnLineState onLineState;
+
+    private String onLineStateStr;
+
+    public String getOnLineStateStr() {
+        if (onLineState != null) {
+            return onLineState.getRemark();
+        }
+        return "";
+    }
+
+    @Schema(description = "设备型号")
+    private DeviceSpecType specType;
+
+    private String deviceModelStr;
+
+    public String getDeviceModelStr() {
+        if (specType != null) {
+            return specType.getRemark();
+        }
+        return "";
+    }
+
+    @Schema(description = "设备类型:消费机 闸机")
+    private DeviceType deviceType;
+
+    private String deviceTypeStr;
+
+    public String getDeviceTypeStr() {
+        if (deviceType != null) {
+            return deviceType.getRemark();
+        }
+        return "";
+    }
+
+    @Schema(description = "数据状态")
+    private DataState state;
+
+    private String stateStr;
+
+    public String getStateStr() {
+        if (state != null) {
+            return state.getRemark();
+        }
+        return "";
+    }
+
+    @Schema(description = "ip地址")
+    private String ip;
+
+    @Schema(description = "激活时间")
+    private Long activityTime;
+
+    @Schema(description = "最后上线时间")
+    private Long lastOnlineTime;
+
+    @Schema(description = "所属分组")
+    private ProjectInfoModel projectInfo;
+
+    @Schema(description = "分组code")
+    private String projectInfoCode;
+
+    @Schema(description = "分组名称")
+    private String projectInfoName;
+
+    public String getProjectInfoName() {
+        if (ObjectUtils.isNotEmpty(projectInfo)) {
+            return projectInfo.getName();
+        }
+        return "";
+    }
+
+    @Schema(description = "固件版本")
+    private String firmwareVersion;
+
+    @Schema(description = "连接参数")
+    private JSONObject connectParam;
+
+    @Schema(description = "最后离线时间")
+    private Long lastOffLineTime;
+
+    @Schema(description = "设备本地日志上报")
+    private Boolean isReportLogs = Boolean.TRUE;
+
+}

+ 72 - 0
src/main/java/com/github/microservice/busInfoModel/device/IotTemplateSimpleModel.java

@@ -0,0 +1,72 @@
+package com.github.microservice.busInfoModel.device;
+
+import com.github.microservice.types.common.DataState;
+import com.github.microservice.types.deviceUse.DeviceCategory;
+import com.github.microservice.types.deviceUse.DeviceSpecType;
+import com.github.microservice.types.deviceUse.DeviceType;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * 产品信息
+ *
+ * @author TRX
+ * @date 2024/6/20
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class IotTemplateSimpleModel  {
+
+    private String id;
+
+    @Schema(description = "产品名称")
+    private String name;
+
+    @Schema(description = "数据状态")
+    private DataState state;
+
+    @Schema(description = "所属物模型id")
+    private String iotThingId;
+
+    @Schema(description = "关联code,产品code")
+    private String productCode;
+
+    @Schema(description = "产品品类,直连设备、网关子设备、网关设备")
+    private DeviceCategory deviceCategory;
+
+    private String deviceCategoryStr;
+
+    public String getDeviceCategoryStr() {
+        if (deviceCategory != null) {
+            return deviceCategory.getRemark();
+        }
+        return "";
+    }
+
+    @Schema(description = "适用设备类型")
+    private DeviceType deviceType;
+
+    private String deviceTypeStr;
+
+    public String getDeviceTypeStr() {
+        if (deviceType != null) {
+            return deviceType.getRemark();
+        }
+        return "";
+    }
+
+    @Schema(description = "适用设备型号")
+    private DeviceSpecType specType;
+
+    private String specTypeStr;
+
+    public String getSpecTypeStr() {
+        if (specType != null) {
+            return specType.getRemark();
+        }
+        return "";
+    }
+}

+ 39 - 0
src/main/java/com/github/microservice/busInfoModel/device/ProjectInfoModel.java

@@ -0,0 +1,39 @@
+package com.github.microservice.busInfoModel.device;
+
+import com.github.microservice.types.common.CommonState;
+import com.github.microservice.models.baseParam.SuperModel;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+/**
+ * @author TRX
+ * @date 2024/5/21
+ */
+@Data
+@Schema(description = "项目信息")
+public class ProjectInfoModel extends SuperModel {
+
+    @Schema(description = "名称")
+    private String name;
+
+    @Schema(description = "code")
+    private String code;
+
+    @Schema(description = "状态")
+    private CommonState state;
+
+    private String stateStr;
+
+    public String getStateStr() {
+        if (state != null) {
+            return state.getRemark();
+        }
+        return "";
+    }
+
+    @Schema(description = "设备数量")
+    private Integer deviceNumber = 0;
+
+    @Schema(description = "网关数量")
+    private Integer gateWayNumber = 0;
+}

+ 35 - 0
src/main/java/com/github/microservice/busInfoModel/device/ProjectInfoSimpleModel.java

@@ -0,0 +1,35 @@
+package com.github.microservice.busInfoModel.device;
+
+import com.github.microservice.types.common.CommonState;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+/**
+ * @author TRX
+ * @date 2024/5/21
+ */
+@Data
+@Schema(description = "分组信息")
+public class ProjectInfoSimpleModel {
+
+    @Schema(description = "数据id")
+    private String id;
+
+    @Schema(description = "名称")
+    private String name;
+
+    @Schema(description = "code")
+    private String code;
+
+    @Schema(description = "状态")
+    private CommonState state;
+
+    private String stateStr;
+
+    public String getStateStr() {
+        if (state != null) {
+            return state.getRemark();
+        }
+        return "";
+    }
+}

+ 21 - 0
src/main/java/com/github/microservice/busInfoModel/thing/IotThing2DeviceBind.java

@@ -0,0 +1,21 @@
+package com.github.microservice.busInfoModel.thing;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author TRX
+ * @date 2025/2/25
+ */
+@Data
+public class IotThing2DeviceBind {
+
+    @Schema(description = "物模型id")
+    private String id;
+
+    @Schema(description = "设备id集合")
+    private List<String> deviceIds = new ArrayList<>();
+}

+ 60 - 0
src/main/java/com/github/microservice/busInfoModel/thing/IotThing2DeviceModel.java

@@ -0,0 +1,60 @@
+package com.github.microservice.busInfoModel.thing;
+
+import com.github.microservice.busInfoModel.device.DeviceInfoModel;
+import com.github.microservice.busInfoModel.device.ProjectInfoModel;
+import com.github.microservice.models.baseParam.SuperModel;
+import com.github.microservice.types.deviceUse.DeviceType;
+import com.github.microservice.types.deviceUse.OnLineState;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+/**
+ * @author TRX
+ * @date 2025/2/25
+ */
+@Data
+public class IotThing2DeviceModel extends SuperModel {
+
+    @Schema(description = "物模型id")
+    private String iotThingId;
+
+    @Schema(description = "设备id")
+    private String deviceId;
+
+    @Schema(description = "设备类型")
+    private DeviceType deviceType;
+
+    private String deviceTypeStr;
+
+    public String getDeviceTypeStr() {
+        if (deviceType != null) {
+            return deviceType.getRemark();
+        }
+        return "";
+    }
+
+    @Schema(description = "设备名称")
+    private String deviceName;
+
+    @Schema(description = "关联设备信息")
+    private DeviceInfoModel deviceInfo;
+
+    @Schema(description = "所属项目")
+    private ProjectInfoModel projectInfo;
+
+    @Schema(description = "项目code")
+    private String projectInfoCode;
+
+    @Schema(description = "在线状态")
+    private OnLineState onLineState;
+
+    private String onLineStateStr;
+
+    public String getOnLineStateStr() {
+        if (onLineState != null) {
+            return onLineState.getRemark();
+        }
+        return "";
+    }
+
+}

+ 34 - 0
src/main/java/com/github/microservice/busInfoModel/thing/IotThing2DeviceSearch.java

@@ -0,0 +1,34 @@
+package com.github.microservice.busInfoModel.thing;
+
+import com.github.microservice.models.baseParam.SuperSearchParam;
+import com.github.microservice.types.deviceUse.DeviceType;
+import com.github.microservice.types.deviceUse.OnLineState;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+/**
+ * @author TRX
+ * @date 2025/2/25
+ */
+@Data
+public class IotThing2DeviceSearch extends SuperSearchParam {
+
+    @Schema(description = "物模型id")
+    private String iotThingId;
+
+    @Schema(description = "设备id")
+    private String deviceId;
+
+    @Schema(description = "设备类型")
+    private DeviceType deviceType;
+
+    @Schema(description = "设备名称")
+    private String deviceName;
+
+    @Schema(description = "项目code")
+    private String projectCode;
+
+    @Schema(description = "在线状态")
+    private OnLineState onLineState;
+
+}

+ 78 - 0
src/main/java/com/github/microservice/busInfoModel/thing/IotThingModel.java

@@ -0,0 +1,78 @@
+package com.github.microservice.busInfoModel.thing;
+
+import com.github.microservice.busInfoModel.device.ProjectInfoSimpleModel;
+import com.github.microservice.models.baseParam.SuperModel;
+import com.github.microservice.types.deviceUse.DeviceCategory;
+import com.github.microservice.types.deviceUse.ThingType;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+import org.apache.commons.lang3.ObjectUtils;
+
+/**
+ * @author TRX
+ * @date 2025/2/25
+ */
+@Data
+public class IotThingModel extends SuperModel {
+
+    @Schema(description = "物模型类型:自动、手动创建")
+    private ThingType thingType;
+
+    public String thingTypeStr;
+
+    public String getThingTypeStr() {
+        if (thingType != null) {
+            return thingType.getRemark();
+        }
+        return "";
+    }
+
+    @Schema(description = "编码")
+    private String code;
+
+    @Schema(description = "名称")
+    private String name;
+
+    @Schema(description = "设备数量")
+    private Long deviceCount = 0L;
+
+    @Schema(description = "所属分组")
+    private String projectCode;
+
+    private String projectName;
+
+    public String getProjectName() {
+        if (ObjectUtils.isNotEmpty(projectInfo)) {
+            return projectInfo.getName();
+        }
+        return "";
+    }
+
+    @Schema(description = "分组信息")
+    private ProjectInfoSimpleModel projectInfo;
+
+    //-----------------所属产品 start-----------
+    @Schema(description = "所属产品数据id")
+    private String iotTemplateId;
+
+    @Schema(description = "关联code,产品code")
+    private String productCode;
+
+    //-----------------管理的设备类型 start ---------
+
+    @Schema(description = "设备id")
+    private String deviceId;
+
+    @Schema(description = "设备品类")
+    private DeviceCategory deviceCategory;
+
+    private String deviceCategoryStr;
+
+    public String getDeviceCategoryStr() {
+        if (deviceCategory != null) {
+            return deviceCategory.getRemark();
+        }
+        return "";
+    }
+
+}

+ 25 - 0
src/main/java/com/github/microservice/busInfoModel/thing/IotThingParam.java

@@ -0,0 +1,25 @@
+package com.github.microservice.busInfoModel.thing;
+
+import com.github.microservice.models.baseParam.SuperParam;
+import io.swagger.v3.oas.annotations.media.Schema;
+import jakarta.validation.constraints.NotEmpty;
+import lombok.Data;
+
+/**
+ * @author TRX
+ * @date 2025/2/25
+ */
+@Data
+public class IotThingParam extends SuperParam {
+
+    @NotEmpty
+    @Schema(description = "名称")
+    private String name;
+
+    @NotEmpty
+    @Schema(description = "所属分组")
+    private String projectCode;
+
+    @Schema(description = "产品code")
+    private String productCode;
+}

+ 45 - 0
src/main/java/com/github/microservice/busInfoModel/thing/IotThingSearch.java

@@ -0,0 +1,45 @@
+package com.github.microservice.busInfoModel.thing;
+
+import com.github.microservice.models.baseParam.SuperSearchParam;
+import com.github.microservice.types.deviceUse.ThingType;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @author TRX
+ * @date 2025/2/25
+ */
+@Data
+public class IotThingSearch extends SuperSearchParam {
+
+    @Schema(description = "物模型类型:自动、手动创建")
+    private ThingType thingType;
+
+    @Schema(description = "编码")
+    private String code;
+
+    @Schema(description = "名称")
+    private String name;
+
+    @Schema(description = "所属分组")
+    private String projectCode;
+
+    //-----------------所属产品 start-----------
+    @Schema(description = "所属产品数据id")
+    private String iotTemplateId;
+
+    @Schema(description = "关联code,产品code")
+    private String productCode;
+
+    //-----------------管理的设备类型 start ---------
+
+    @Schema(description = "修改时间")
+    private List<Long> updateTimes;
+
+    private Long startUpdateTime;
+
+    private Long endUpdateTime;
+
+}

+ 12 - 0
src/main/java/com/github/microservice/models/baseParam/IDParam.java

@@ -0,0 +1,12 @@
+package com.github.microservice.models.baseParam;
+
+import lombok.Data;
+
+/**
+ * @author TRX
+ * @date 2024/5/16
+ */
+@Data
+public class IDParam {
+    private String id;
+}

+ 16 - 0
src/main/java/com/github/microservice/models/baseParam/NameModel.java

@@ -0,0 +1,16 @@
+package com.github.microservice.models.baseParam;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * @author TRX
+ * @date 2024/7/12
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class NameModel extends IDParam {
+    private String name;
+}

+ 14 - 0
src/main/java/com/github/microservice/models/baseParam/OidModel.java

@@ -0,0 +1,14 @@
+package com.github.microservice.models.baseParam;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * @author TRX
+ * @date 2024/6/3
+ */
+@Data
+public class OidModel implements Serializable {
+    private String oid;
+}

+ 44 - 0
src/main/java/com/github/microservice/models/baseParam/SuperModel.java

@@ -0,0 +1,44 @@
+package com.github.microservice.models.baseParam;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * @author TRX
+ * @date 2024/5/16
+ */
+@Data
+public class SuperModel implements Serializable {
+
+    @Schema(description = "数据ID")
+    private String id;
+
+    @Schema(description = "创建时间")
+    private Long createTime;
+
+    @Schema(description = "修改时间")
+    private Long updateTime;
+
+    @Schema(description = "备注")
+    private String remark;
+
+    @Schema(description = "是否已删除")
+    private Boolean isDelete = Boolean.FALSE;
+
+    @Schema(description = "所属项目ID")
+    private String oid;
+
+    @Schema(description = "排序", hidden = true)
+    private Long sort;
+
+    @Schema(description = "创建用户ID")
+    private String createUserId;
+
+    @Schema(description = "添加用户名称")
+    private String createUserName;
+
+    @Schema(description = "添加用户电话", hidden = true)
+    private String createPhone;
+}

+ 26 - 0
src/main/java/com/github/microservice/models/baseParam/SuperParam.java

@@ -0,0 +1,26 @@
+package com.github.microservice.models.baseParam;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * @author TRX
+ * @date 2024/5/16
+ */
+@Data
+public class SuperParam implements Serializable {
+
+    @Schema(description = "数据ID", example = "")
+    private String id = null;
+
+    @Schema(description = "排序")
+    private Long sort = 1l;
+
+    @Schema(description = "所属项目ID", hidden = true)
+    private String oid;
+
+    @Schema(description = "备注")
+    private String remark;
+}

+ 47 - 0
src/main/java/com/github/microservice/models/baseParam/SuperSearchParam.java

@@ -0,0 +1,47 @@
+package com.github.microservice.models.baseParam;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import org.springframework.data.domain.Sort;
+
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * @author TRX
+ * @date 2024/5/16
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class SuperSearchParam implements Serializable {
+
+    @Schema(hidden = true)
+    private String id;
+
+    @Schema(description = "搜索时间范围", hidden = true)
+    private List<Long> times;
+
+    @Schema(description = "开始时间", hidden = true)
+    private Long startTime;
+
+    @Schema(description = "结束时间", hidden = true)
+    private Long endTime;
+
+    @Schema(description = "自定义排序", hidden = true)
+    private Sort orderSort;
+
+    @Schema(description = "是否按照序号排序", hidden = true)
+    private Boolean isSortDesc;
+
+    @Schema(description = "所属项目ID", hidden = true)
+    private String epId;
+
+    @Schema(description = "第几页,从0开始,默认:0")
+    private Integer number = 0;
+
+    @Schema(description = "每页查询多少条数据,大于0的整数,如:10")
+    private Integer size = 10;
+}

+ 2 - 0
src/main/java/com/github/microservice/models/onLine/DeviceOnLineParam.java

@@ -5,6 +5,8 @@ import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
 
 /**
+ * 设备在线
+ *
  * @author TRX
  * @date 2025/2/21
  */

+ 19 - 0
src/main/java/com/github/microservice/types/common/DataState.java

@@ -0,0 +1,19 @@
+package com.github.microservice.types.common;
+
+import lombok.Getter;
+
+/**
+ *
+ */
+public enum DataState {
+    Enable("启用"),
+    Disable("停用"),
+    ;
+
+    @Getter
+    private String remark;
+
+    DataState(String remark) {
+        this.remark = remark;
+    }
+}