| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106 |
- package com.zswl.dataservice.domain.iot;
- import com.zswl.dataservice.domain.base.SuperEntity;
- import com.zswl.dataservice.model.iot.IotAttribute;
- import com.zswl.dataservice.model.iot.IotDict;
- import com.zswl.dataservice.type.*;
- import io.swagger.v3.oas.annotations.media.Schema;
- import lombok.AllArgsConstructor;
- import lombok.Data;
- import lombok.NoArgsConstructor;
- import org.springframework.data.mongodb.core.mapping.DBRef;
- import org.springframework.data.mongodb.core.mapping.Document;
- import java.math.BigDecimal;
- import java.util.LinkedHashMap;
- import java.util.List;
- /**
- * 物模型
- *
- * @author TRX
- * @date 2024/6/20
- */
- @Data
- @Document
- @NoArgsConstructor
- @AllArgsConstructor
- public class IotMain extends SuperEntity {
- // ------------------------iotMain 基础字段 start-----------------------
- @Schema(description = "功能类型,属性 事件 服务")
- FunctionType functionType;
- @Schema(description = "功能名称")
- private String name;
- @Schema(description = "标识符")
- private String identifier;
- @Schema(description = "事件类型")
- private EventType eventType;
- @Schema(description = "物模型Topic")
- private String iotTopic;
- @Schema(description = "真实的topic")
- private String realIotTopic;
- @Schema(description = "所属模版")
- @DBRef(lazy = true)
- private IotTemplate iotTemplate;
- @Schema(description = "是否返回数据")
- private Boolean isReturnData = Boolean.TRUE;
- //---------------------------------属性类型的 字段 start ------------------
- @Schema(description = "数据类型,number、Boolean、String 等")
- private DataType dataType;
- @Schema(description = "是否必须")
- private Boolean required = Boolean.TRUE;
- @Schema(description = "元素类型,只有 dataType=Array才使用")
- private DataType elementType;
- @Schema(description = "单位名称,如:千克、流明、立方米等...")
- private String unitName;
- @Schema(description = "步长")
- private BigDecimal stepNumber;
- @Schema(description = "开始值")
- private BigDecimal start;
- @Schema(description = "结束值")
- private BigDecimal end;
- @Schema(description = "最大的长度,如:类型为字符串时使用")
- private Integer maxLength;
- @Schema(description = "属性,参数列表,输入参数")
- private List<IotAttribute> childs;
- @Schema(description = "值的对应,如:0-开")
- private List<IotDict> dicts;
- @Schema(description = "属性,输出参数列表,输入参数")
- private List<IotAttribute> outChilds;
- //--------------------------------关联设备时特有的属性 start------------------
- @Schema(description = "区分是模版还是设备关联的物模型")
- private IotDataType iotDataType;
- @Schema(description = "关联的设备")
- private String deviceId;
- @Schema(description = "所属分支code")
- private String projectCode;
- @Schema(description = "关联时间")
- private Long addTime;
- @Schema(description = "业务处理地址")
- private String remoteUrl;
- }
|