代码提交

This commit is contained in:
2023-05-12 15:42:33 +08:00
parent 4c29d3869f
commit 78b4513880
72 changed files with 1535 additions and 792 deletions

View File

@@ -0,0 +1,58 @@
package com.njcn.access.enums;
import lombok.Getter;
/**
* 类的介绍:
*
* @author xuyang
* @version 1.0.0
* @createTime 2023/4/18 9:35
*/
@Getter
public enum AccessEnum {
/**
* 装置出厂状态
* 0:删除 1:未注册(默认状态) 2:注册 3:接入
*/
DELETE(0, "删除"),
UNREGISTERED(1, "未注册"),
REGISTERED(2, "注册"),
ACCESS(3, "接入"),
/**
* 报文处理优先级
*/
FIRST_CHANNEL(1,"I类紧急请求/响应"),
SECOND_CHANNEL(2,"Ⅱ类紧急请求/响应"),
THIRD_CHANNEL(3,"普通请求/响应"),
FOURTH_CHANNEL(4,"广播报文"),
/**
* 应答code
*/
SUCCESS(200,"请求成功 "),
START_CHANNEL(201,"请求被接受,开始处理"),
WAIT_CHANNEL(202,"请求被接受,但是未处理完"),
FAIL(400,"请求失败"),
ERROR(401,"请求未认证/认证错误(不支持的请求)"),
REFUSE_WAIT(402,"请求被拒绝,在处理同类命令。(待处理完可响应)"),
REFUSE_UNKNOWN(403,"请求被拒绝(未知原因)"),
NOT_FIND(404,"请求的资源不存在 "),
BUSY(405,"当前忙,无法响应。(等一段时间可尝试重新下发)"),
TIME_OUT(406,"请求超出了等待时间"),
OTHER_ERROR(500,"其他错误"),
;
private final int code;
private final String message;
AccessEnum(int code, String message) {
this.code=code;
this.message=message;
}
}

View File

@@ -14,10 +14,18 @@ public enum AccessResponseEnum {
* A0301 ~ A0399 用于用户模块的枚举
* <p>
*/
DEV_NO_FIND("A0301", "通过nDid未找到相关装置信息!"),
DEV_NO_FIND("A0301", "nDid未匹配!"),
MODEL_REPEAT("A0302", "模板重复,请勿重复录入!"),
MODEL_NO_FIND("A0302", "模板不存在,请先录入模板数据!"),
MESSAGE_TYPE_ERROR("A0303","报文消息类型Type错误!"),
RESPONSE_ERROR("A0304","装置请求响应错误!"),
DEV_TYPE_NOT_FIND("A0305","装置类型未找到,需要录入!"),
;
private final String code;

View File

@@ -1,34 +0,0 @@
package com.njcn.access.enums;
import lombok.Getter;
/**
* 类的介绍:
*
* @author xuyang
* @version 1.0.0
* @createTime 2023/4/18 9:35
*/
@Getter
public enum AccessStatusEnum {
/**
* 装置出厂状态
* 0:删除 1:未注册(默认状态) 2:注册 3:接入
*/
DELETE(0, "删除"),
UNREGISTERED(1, "未注册"),
REGISTERED(2, "注册"),
ACCESS(3, "接入"),
;
private final int code;
private final String message;
AccessStatusEnum(int code, String message) {
this.code=code;
this.message=message;
}
}

View File

@@ -0,0 +1,77 @@
package com.njcn.access.enums;
import lombok.Getter;
/**
* 类的介绍:
*
* @author xuyang
* @version 1.0.0
* @createTime 2023/5/12 14:07
*/
@Getter
public enum TypeEnum {
/**
* 报文消息类型
*/
TYPE_1("0x2101","平台询问装置支持主题"),
TYPE_2("0x2102","平台向装置发送设备注册请求"),
TYPE_3("0x2103","平台询问设备模板信息"),
TYPE_4("0x2104","设备配置信息下发"),
TYPE_5("0x2105","设备接入命令"),
TYPE_6("0x2106","平台向设备发送数据命令"),
TYPE_7("0x2107","平台向设备发送控制命令"),
TYPE_8("0x2131","设备文件/目录信息询问"),
TYPE_9("0x2132","设备文件下载"),
TYPE_10("0x2133","设备文件上传"),
TYPE_11("0x2134","设备文件删除"),
TYPE_12("0x2135","设备目录创建"),
TYPE_13("0x2136","设备根目录查询"),
TYPE_14("0x2201","设备心跳应答 "),
TYPE_15("0x2401","设备数据主动上送应答"),
TYPE_16("0x1201","设备支持主题应答"),
TYPE_17("0x1202","联网装置应答注册请求"),
TYPE_18("0x1203","设备模板信息应答 "),
TYPE_19("0x1204","下发设备配置信息应答 "),
TYPE_20("0x1205","设备接入平台应答"),
TYPE_21("0x1206","平台向设备发送数据命令"),
TYPE_22("0x1207","设备控制命令应答"),
TYPE_23("0x1231","设备文件信息应答 "),
TYPE_24("0x1232","设备文件下载应答 "),
TYPE_25("0x1233","设备文件上传"),
TYPE_26("0x1234","设备文件删除"),
TYPE_27("0x1235","设备文件删除"),
TYPE_28("0x1236","设备根目录查询应答"),
TYPE_29("0x1101","设备心跳请求"),
TYPE_30("0x1301","设备数据主动上送"),
/**
* 数据类型
*/
DATA_1("0x01","软件信息SoftInfo"),
DATA_2("0x02","设备信息LdevInfo"),
DATA_3("0x03","电能数据Epd"),
DATA_4("0x04","电能质量数据Pqd"),
DATA_5("0x05","基础测量数据Bmd"),
DATA_6("0x06","事件Evt"),
DATA_7("0x07","告警Alm"),
DATA_8("0x08","状态Sts"),
DATA_9("0x08","开入Di"),
DATA_10("0x0A","开出Do"),
DATA_11("0x0B","参数Param"),
DATA_12("0x0C","定值Set"),
DATA_13("0x0D","内部定值InSet"),
DATA_14("0x0E","控制Ctrl"),
;
private final String code;
private final String message;
TypeEnum(String code, String message) {
this.code=code;
this.message=message;
}
}

View File

@@ -0,0 +1,19 @@
package com.njcn.access.pojo;
import lombok.Data;
/**
* 类的介绍:
*
* @author xuyang
* @version 1.0.0
* @createTime 2023/4/18 13:57
*/
@Data
public class MessageParam {
String topic;
String message;
}

View File

@@ -15,9 +15,9 @@ import java.io.Serializable;
@Data
public class AccessDto implements Serializable {
@ParamName("NDID")
@ParamName("Ndid")
private String nDid;
@ParamName("dev_type")
@ParamName("DevType")
private String devType;
}

View File

@@ -1,8 +1,11 @@
package com.njcn.access.pojo.dto;
import com.alibaba.nacos.shaded.com.google.gson.annotations.SerializedName;
import com.njcn.access.param.ParamName;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
/**
@@ -15,10 +18,24 @@ import java.io.Serializable;
@Data
public class DevCfgDto implements Serializable {
@SerializedName("DID")
@SerializedName("Did")
@ParamName("Did")
@NotNull(message = "设备Id,不为空")
private String did;
@SerializedName("DevName")
@ParamName("DevName")
@NotNull(message = "设备名称,不为空")
private String devName;
@SerializedName("DevType")
@ParamName("DevType")
@NotNull(message = "设备型号,不为空")
private String devType;
@SerializedName("DevCategory")
@ParamName("DevCategory")
@NotNull(message = "设备类别,不为空")
private String devCategory;
}

View File

@@ -3,6 +3,7 @@ package com.njcn.access.pojo.dto;
import com.alibaba.nacos.shaded.com.google.gson.annotations.SerializedName;
import lombok.Data;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
/**
@@ -13,18 +14,22 @@ import java.io.Serializable;
* @createTime 2023/4/10 10:14
*/
@Data
public class DevModelDto implements Serializable {
public class DevModInfoDto implements Serializable {
@SerializedName("DevType")
@NotNull(message = "设备型号,不为空")
private String devType;
@SerializedName("Version")
@NotNull(message = "数据模板版本号,不为空")
private String versionNo;
@SerializedName("Time")
@NotNull(message = "创建或最后修改时间,不为空")
private String versionDate;
@SerializedName("Crc")
@NotNull(message = "模板CRC校验码,不为空")
private String crc;
}

View File

@@ -3,6 +3,7 @@ package com.njcn.access.pojo.dto;
import com.alibaba.nacos.shaded.com.google.gson.annotations.SerializedName;
import lombok.Data;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.List;
@@ -17,8 +18,10 @@ import java.util.List;
public class ModelDto implements Serializable {
@SerializedName("DevCfg")
@NotNull(message = "设备配置序列,不为空")
private List<DevCfgDto> devCfg;
@SerializedName("DevMod")
private List<DevModelDto> devMod;
@SerializedName("DevModInfo")
@NotNull(message = "设备模板信息序列,不为空")
private List<DevModInfoDto> devMod;
}

View File

@@ -1,28 +0,0 @@
package com.njcn.access.pojo.dto;
import com.njcn.access.param.ParamName;
import lombok.Data;
import java.io.Serializable;
/**
* 类的介绍:
*
* @author xuyang
* @version 1.0.0
* @createTime 2023/3/31 14:04
*/
@Data
public class PublicDto implements Serializable {
private String mid;
@ParamName("NDID")
private String nDid;
private Long timestamp;
private String type;
private AccessDto param;
}

View File

@@ -1,44 +0,0 @@
package com.njcn.access.pojo.dto;
import com.alibaba.nacos.shaded.com.google.gson.annotations.SerializedName;
import lombok.Data;
import java.io.Serializable;
;
/**
* 类的介绍:
*
* @author xuyang
* @version 1.0.0
* @createTime 2022/3/12 19:18
*/
@Data
public class PublicParamDTO implements Serializable {
/**
* 在请求报文中该值为请求 ID在设备主动上报数据的报文中该字段可不填写
*/
@SerializedName("mid")
private Integer mid;
@SerializedName("userId")
private String userId;
@SerializedName("deviceId")
private String deviceId;
@SerializedName("timestamp")
private String timestamp;
/**
* 报文处理的优先级
*/
@SerializedName("level")
private Integer level;
@SerializedName("type")
private String type;
}

View File

@@ -1,53 +0,0 @@
package com.njcn.access.pojo.dto;
import com.alibaba.nacos.shaded.com.google.gson.annotations.SerializedName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
;
/**
* 类的介绍:
*
* @author xuyang
* @version 1.0.0
* @createTime 2022/3/11 14:36
*/
@Data
@EqualsAndHashCode(callSuper = true)
public class RegisterDTO extends PublicParamDTO implements Serializable {
/**
* 请求参数
*/
@Data
@EqualsAndHashCode(callSuper = true)
public static class RegisterRequest extends RegisterDTO implements Serializable{
@SerializedName("expire")
private Integer expire;
@SerializedName("param")
private RegisterParamDTO.RegisterParamRequest param;
}
/**
* 应答参数
*/
@Data
@EqualsAndHashCode(callSuper = true)
public static class RegisterResponse extends RegisterDTO implements Serializable{
@SerializedName("code")
private Integer code;
@SerializedName("msg")
private String msg;
@SerializedName("param")
private RegisterParamDTO.RegisterParamResponse param;
}
}

View File

@@ -1,57 +0,0 @@
package com.njcn.access.pojo.dto;
import com.alibaba.nacos.shaded.com.google.gson.annotations.SerializedName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
import java.util.List;
/**
* 类的介绍:
*
* @author xuyang
* @version 1.0.0
* @createTime 2022/3/11 14:58
*/
@Data
public class RegisterParamDTO implements Serializable {
@SerializedName("NDID")
private String nDid;
@SerializedName("DID")
private List<String> did;
/**
* 请求参数
*/
@Data
@EqualsAndHashCode(callSuper = true)
public static class RegisterParamRequest extends RegisterParamDTO implements Serializable{
@SerializedName("type")
private Integer type;
}
/**
* 应答参数
*/
@Data
@EqualsAndHashCode(callSuper = true)
public static class RegisterParamResponse extends RegisterParamDTO implements Serializable{
@SerializedName("res")
private Integer res;
@SerializedName("type")
private Integer resType;
@SerializedName("NDID")
private String nDid;
@SerializedName("DEV_TYPE")
private String dev_type;
}
}

View File

@@ -0,0 +1,24 @@
package com.njcn.access.pojo.dto;
import com.alibaba.nacos.shaded.com.google.gson.annotations.SerializedName;
import lombok.Data;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.List;
/**
* 类的介绍:
*
* @author xuyang
* @version 1.0.0
* @createTime 2023/5/12 14:35
*/
@Data
public class TopicDto implements Serializable {
@SerializedName("Topic")
@NotNull(message = "设备支持主题及版本,不为空")
private List<String> topicList;
}

View File

@@ -3,6 +3,7 @@ package com.njcn.access.pojo.dto.data;
import com.alibaba.nacos.shaded.com.google.gson.annotations.SerializedName;
import lombok.Data;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
/**
@@ -15,14 +16,20 @@ import java.io.Serializable;
@Data
public class AlmDto implements Serializable {
@SerializedName("OpAttr")
@NotNull(message = "读写操作属性,不为空")
private String opAttr;
@SerializedName("Name")
@NotNull(message = "告警事件名称,不为空")
private String name;
@SerializedName("IDX")
@SerializedName("Idx")
@NotNull(message = "告警事件编号,不为空")
private Integer idx;
@SerializedName("Type")
@NotNull(message = "告警事件类别,不为空")
private String type;
}

View File

@@ -0,0 +1,50 @@
package com.njcn.access.pojo.dto.data;
import com.alibaba.nacos.shaded.com.google.gson.annotations.SerializedName;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.List;
/**
* 类的介绍:
*
* @author xuyang
* @version 1.0.0
* @createTime 2023/5/4 10:43
*/
@Data
public class BmdDto implements Serializable {
@SerializedName("OpAttr")
@NotNull(message = "读写操作属性,不为空")
private String opAttr;
@SerializedName("Name")
@NotNull(message = "数据名称,不为空")
private String name;
@SerializedName("Idx")
@NotNull(message = "数据编号,不为空")
private Integer idx;
@SerializedName("Type")
@NotNull(message = "数据类型,不为空")
private String type;
@SerializedName("Unit")
@ApiModelProperty("单位")
private String unit;
@SerializedName("StatMethod")
@ApiModelProperty("数据统计方法(max,min,avg,cp95)")
private List<String> statMethod;
@SerializedName("TranRule")
@NotNull(message = "上送规则,不为空")
@ApiModelProperty("变化:change 周期:period 周期读取变位上送perchg")
private String tranRule;
}

View File

@@ -1,8 +1,10 @@
package com.njcn.access.pojo.dto.data;
import com.alibaba.nacos.shaded.com.google.gson.annotations.SerializedName;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.List;
@@ -16,33 +18,47 @@ import java.util.List;
@Data
public class CtrlDto implements Serializable {
@SerializedName("OpAttr")
@NotNull(message = "读写操作属性,不为空")
private String opAttr;
@SerializedName("Name")
@NotNull(message = "控制名称,不为空")
private String name;
@SerializedName("IDX")
@SerializedName("Idx")
@NotNull(message = "控制编号,不为空")
private Integer idx;
@SerializedName("Type")
@NotNull(message = "下发数据类型,不为空")
private String type;
@SerializedName("Check")
private Integer remoteCheck;
@NotNull(message = "是否需遥控校验,不为空")
private Integer check;
@SerializedName("Auto")
@SerializedName("auto")
@NotNull(message = "是否支持自动控制,不为空")
private Integer auto;
@SerializedName("MaxNum")
@ApiModelProperty("设置最大值")
private Integer maxNum;
@SerializedName("MinNum")
@ApiModelProperty("设置最小值")
private Integer minNum;
@SerializedName("Ctlvalue")
private List<String> ctlValue;
@ApiModelProperty("参数为enum时可设置的所有值序列")
private Integer ctlValue;
@SerializedName("Strlen")
@ApiModelProperty("参数string可设置字符串的长度上限")
private Integer strLen;
@SerializedName("Encode")
@NotNull(message = "是否加密,不为空")
private Integer encode;
}

View File

@@ -4,6 +4,7 @@ import com.alibaba.nacos.shaded.com.google.gson.annotations.SerializedName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
/**
@@ -18,6 +19,7 @@ import java.io.Serializable;
public class DiDto extends StsDto implements Serializable {
@SerializedName("TranFlag")
@NotNull(message = "数据是否上送,不为空")
private Integer tranFlag;
}

View File

@@ -3,6 +3,7 @@ package com.njcn.access.pojo.dto.data;
import com.alibaba.nacos.shaded.com.google.gson.annotations.SerializedName;
import lombok.Data;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
/**
@@ -15,15 +16,23 @@ import java.io.Serializable;
@Data
public class DoDto implements Serializable {
@SerializedName("OpAttr")
@NotNull(message = "读写操作属性,不为空")
private String opAttr;
@SerializedName("Name")
@NotNull(message = "开出信号名称,不为空")
private String name;
@SerializedName("IDX")
@SerializedName("Idx")
@NotNull(message = "DO编号,不为空")
private Integer idx;
@SerializedName("CurSts")
@NotNull(message = "当前值/设定值,不为空")
private Integer curSts;
@SerializedName("CtlSts")
@NotNull(message = "是否可远程控制,不为空")
private Integer ctlSts;
}

View File

@@ -1,8 +1,10 @@
package com.njcn.access.pojo.dto.data;
import com.alibaba.nacos.shaded.com.google.gson.annotations.SerializedName;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.List;
@@ -16,31 +18,40 @@ import java.util.List;
@Data
public class EpdPqdDto implements Serializable {
@SerializedName("OpAttr")
@NotNull(message = "读写操作属性,不为空")
private String opAttr;
@SerializedName("Name")
@NotNull(message = "数据名称,不为空")
private String name;
@SerializedName("IDX")
@SerializedName("Idx")
@NotNull(message = "数据编号,不为空")
private Integer idx;
@SerializedName("Type")
@NotNull(message = "数据类型,不为空")
private String type;
@SerializedName("Phase")
@ApiModelProperty("相别")
private String phase;
@SerializedName("Unit")
@ApiModelProperty("单位")
private String unit;
@SerializedName("HarmStart")
private String harmStart;
@ApiModelProperty("数据开始谐波次数")
private Integer harmStart;
@SerializedName("HarmEnd")
private String harmEnd;
@SerializedName("ClassID")
private String classId;
@ApiModelProperty("数据结束谐波次数")
private Integer harmEnd;
@SerializedName("StatMethod")
@ApiModelProperty("数据统计方法(max,min,avg,cp95)")
private List<String> statMethod;
}

View File

@@ -3,6 +3,7 @@ package com.njcn.access.pojo.dto.data;
import com.alibaba.nacos.shaded.com.google.gson.annotations.SerializedName;
import lombok.Data;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.List;
@@ -16,13 +17,20 @@ import java.util.List;
@Data
public class EvtDto implements Serializable {
@SerializedName("OpAttr")
@NotNull(message = "读写操作属性,不为空")
private String opAttr;
@SerializedName("Name")
@NotNull(message = "事件信息名称,不为空")
private String name;
@SerializedName("IDX")
@SerializedName("Idx")
@NotNull(message = "事件编号,不为空")
private Integer idx;
@SerializedName("Type")
@NotNull(message = "事件类别,不为空")
private String type;
@SerializedName("Parm")

View File

@@ -1,8 +1,10 @@
package com.njcn.access.pojo.dto.data;
import com.alibaba.nacos.shaded.com.google.gson.annotations.SerializedName;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
/**
@@ -16,15 +18,19 @@ import java.io.Serializable;
public class EvtParamDto implements Serializable {
@SerializedName("Name")
@NotNull(message = "参数名称,不为空")
private String name;
@SerializedName("Type")
@NotNull(message = "参数类型,不为空")
private String type;
@SerializedName("Unit")
@ApiModelProperty("参数单位")
private String unit;
@SerializedName("Data")
@NotNull(message = "参数值,不为空")
private String data;

View File

@@ -0,0 +1,21 @@
package com.njcn.access.pojo.dto.data;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
/**
* 类的介绍:
*
* @author xuyang
* @version 1.0.0
* @createTime 2023/5/4 11:41
*/
@EqualsAndHashCode(callSuper = true)
@Data
public class InSetDto extends SetDto implements Serializable{
}

View File

@@ -1,43 +0,0 @@
package com.njcn.access.pojo.dto.data;
import com.alibaba.nacos.shaded.com.google.gson.annotations.SerializedName;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* 类的介绍:
*
* @author xuyang
* @version 1.0.0
* @createTime 2022/3/13 14:48
*/
@Data
public class MdDto implements Serializable {
@SerializedName("Name")
private String name;
@SerializedName("IDX")
private Integer idx;
@SerializedName("Type")
private String type;
@SerializedName("Unit")
private String unit;
@SerializedName("Phase")
private String phase;
@SerializedName("ClassID")
private String classId;
@SerializedName("StatMethod")
private List<String> statMethod;
@SerializedName("TranRule")
private String tranRule;
}

View File

@@ -1,8 +1,10 @@
package com.njcn.access.pojo.dto.data;
import com.alibaba.nacos.shaded.com.google.gson.annotations.SerializedName;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.List;
@@ -14,36 +16,51 @@ import java.util.List;
* @createTime 2022/3/13 15:02
*/
@Data
public class ParDto implements Serializable {
public class ParmDto implements Serializable {
@SerializedName("OpAttr")
@NotNull(message = "读写操作属性,不为空")
private String opAttr;
@SerializedName("Name")
@NotNull(message = "参数名称,不为空")
private String name;
@SerializedName("IDX")
@SerializedName("Idx")
@NotNull(message = "参数编号,不为空")
private Integer idx;
@SerializedName("Type")
@NotNull(message = "参数类型,不为空")
@ApiModelProperty("系统参数:sys 运行参数:run 功能参数:fun")
private String type;
@SerializedName("DataType")
@NotNull(message = "参数数据类型,不为空")
private String dataType;
@SerializedName("ModifyFlag")
@NotNull(message = "是否可修改,不为空")
private Integer modifyFlag;
@SerializedName("MaxNum")
@ApiModelProperty("设置最大值")
private Integer maxNum;
@SerializedName("MinNum")
@ApiModelProperty("设置最小值")
private Integer minNum;
@SerializedName("SetValue")
@ApiModelProperty("参数为enum可设置的所有值序列")
private List<String> setValue;
@SerializedName("Strlen")
@ApiModelProperty("参数string可设置字符串的长度上限")
private Integer strLen;
@SerializedName("DefaultValue")
@NotNull(message = "参数缺省值")
private String defaultValue;
}

View File

@@ -0,0 +1,48 @@
package com.njcn.access.pojo.dto.data;
import com.alibaba.nacos.shaded.com.google.gson.annotations.SerializedName;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
/**
* 类的介绍:
*
* @author xuyang
* @version 1.0.0
* @createTime 2023/5/4 11:37
*/
@Data
public class SetDto implements Serializable {
@SerializedName("OpAttr")
@NotNull(message = "读写操作属性,不为空")
private String opAttr;
@SerializedName("Name")
@NotNull(message = "参数名称,不为空")
private String name;
@SerializedName("Idx")
@NotNull(message = "参数编号,不为空")
private Integer idx;
@SerializedName("DataType")
@NotNull(message = "参数数据类型,不为空")
private String dataType;
@SerializedName("MaxNum")
@ApiModelProperty("设置最大值")
private Integer maxNum;
@SerializedName("MinNum")
@ApiModelProperty("设置最小值")
private Integer minNum;
@SerializedName("DefaultValue")
@NotNull(message = "参数缺省值")
private String defaultValue;
}

View File

@@ -1,9 +1,12 @@
package com.njcn.access.pojo.dto.data;
import com.alibaba.nacos.shaded.com.google.gson.annotations.SerializedName;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.List;
/**
* 类的介绍:
@@ -15,22 +18,37 @@ import java.io.Serializable;
@Data
public class StsDto implements Serializable {
@SerializedName("OpAttr")
@NotNull(message = "读写操作属性,不为空")
private String opAttr;
@SerializedName("Name")
@NotNull(message = "状态名称,不为空")
private String name;
@SerializedName("IDX")
@NotNull(message = "状态编号,不为空")
private Integer idx;
@SerializedName("StoreFlag")
@NotNull(message = "是否存储,不为空")
private Integer storeFlag;
@SerializedName("CurSts")
@NotNull(message = "当前值,不为空")
private Integer curSts;
@SerializedName("ClassID")
@NotNull(message = "数据分类,不为空")
private String classId;
@SerializedName("TranRule")
@NotNull(message = "上送规则,不为空")
@ApiModelProperty("变化:change 周期:period")
private String tranRule;
//todo 不确定是否还有这个字段先保留
@SerializedName("GroupId")
@NotNull(message = "数据分组组号,不为空")
private List<Object> groupId;
}

View File

@@ -34,7 +34,7 @@ public class CfgDto implements Serializable {
private String devApp;
@SerializedName("DevInfo")
private DevInfoDTO devInfo;
private DevInfoDto devInfo;
@SerializedName("Province")
private String province;

View File

@@ -0,0 +1,36 @@
package com.njcn.access.pojo.dto.devModel;
import com.alibaba.nacos.shaded.com.google.gson.annotations.SerializedName;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotEmpty;
import java.io.Serializable;
import java.util.List;
/**
* 类的介绍:
*
* @author xuyang
* @version 1.0.0
* @createTime 2023/5/4 10:11
*/
@Data
public class ClDevDto implements Serializable {
@SerializedName("Cldid")
@NotEmpty(message = "逻辑子设备ID,不可为空")
private String clDid;
@SerializedName("DevType")
@ApiModelProperty(value = "逻辑子设备型号")
private String devType;
@SerializedName("DataList")
@NotEmpty(message = "数据模型列表,不可为空")
private List<DataArrayDto> dataList;
@SerializedName("DataSet")
@NotEmpty(message = "数据集序列,不可为空")
private List<DataSetDto> dataSet;
}

View File

@@ -1,6 +1,7 @@
package com.njcn.access.pojo.dto.devModel;
import com.alibaba.nacos.shaded.com.google.gson.annotations.SerializedName;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
@@ -15,17 +16,25 @@ import java.io.Serializable;
* @createTime 2022/3/13 12:09
*/
@Data
public class CpuInfoDTO implements Serializable {
public class CpuInfoDto implements Serializable {
@SerializedName("OpAttr")
@ApiModelProperty("读写操作属性")
private String opAttr;
@SerializedName("CpuCore")
@ApiModelProperty("CPU核心数")
private Integer cpuCore;
@SerializedName("CpuFreq")
@ApiModelProperty("CPU主频(单位MHz)")
private Float cpuFreq;
@SerializedName("Arch")
@ApiModelProperty("CPU架构")
private String arch;
@SerializedName("CpuLmt")
@ApiModelProperty("CPU监控阈值(单位%)")
private Float cpuLmt;
}

View File

@@ -3,6 +3,7 @@ package com.njcn.access.pojo.dto.devModel;
import com.alibaba.nacos.shaded.com.google.gson.annotations.SerializedName;
import lombok.Data;
import javax.validation.constraints.NotEmpty;
import java.io.Serializable;
/**
@@ -10,15 +11,16 @@ import java.io.Serializable;
*
* @author xuyang
* @version 1.0.0
* @createTime 2022/3/13 15:18
* @createTime 2023/5/4 10:13
*/
@Data
public class DataArrayDto implements Serializable {
@SerializedName("Type")
@NotEmpty(message = "数据类别,不可为空")
private String type;
@SerializedName("IDX")
@SerializedName("Idx")
@NotEmpty(message = "数据编号,不可为空")
private Integer idx;
}

View File

@@ -1,19 +0,0 @@
package com.njcn.access.pojo.dto.devModel;
import com.alibaba.nacos.shaded.com.google.gson.annotations.SerializedName;
import lombok.Data;
import java.io.Serializable;
/**
* 类的介绍:
*
* @author xuyang
* @version 1.0.0
* @createTime 2023/4/10 16:20
*/
@Data
public class DataDto implements Serializable {
@SerializedName("TEMPLATE")
private TemplateDetailDto template;
}

View File

@@ -1,42 +0,0 @@
package com.njcn.access.pojo.dto.devModel;
import com.alibaba.nacos.shaded.com.google.gson.annotations.SerializedName;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
;
/**
* 类的介绍:
*
* @author xuyang
* @version 1.0.0
* @createTime 2022/3/13 14:21
*/
@Data
public class DataSetDTO implements Serializable {
@SerializedName("Name")
private String name;
@SerializedName("IDX")
private Integer idx;
@SerializedName("DataType")
private String dataType;
@SerializedName("StartTime")
private String startTime;
@SerializedName("Period")
private Integer period;
@SerializedName("StoreFlag")
private Integer storeFlag;
@SerializedName("DataArray")
private List<DataArrayDto> dataArray;
}

View File

@@ -0,0 +1,43 @@
package com.njcn.access.pojo.dto.devModel;
import com.alibaba.nacos.shaded.com.google.gson.annotations.SerializedName;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.List;
/**
* 类的介绍:
*
* @author xuyang
* @version 1.0.0
* @createTime 2023/5/4 10:13
*/
@Data
public class DataSetDto implements Serializable {
@SerializedName("Name")
@NotEmpty(message = "数据集名称,不可为空")
private String name;
@SerializedName("Idx")
@NotNull(message = "数据集编号,不可为空")
private Integer idx;
@SerializedName("Period")
@NotNull(message = "数据上送周期(单位s),不可为空")
private Integer period;
@SerializedName("StoreFlag")
@NotNull(message = "存储标识,不可为空")
@ApiModelProperty("0-不存储;1-存储")
private Integer storeFlag;
@SerializedName("DataArray")
@NotEmpty(message = "数据集合描述,不可为空")
private List<DataArrayDto> dataArrayDtoList;
}

View File

@@ -1,31 +0,0 @@
package com.njcn.access.pojo.dto.devModel;
import com.alibaba.nacos.shaded.com.google.gson.annotations.SerializedName;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* 类的介绍:
*
* @author xuyang
* @version 1.0.0
* @createTime 2023/4/10 16:26
*/
@Data
public class DevCfgDetailDto implements Serializable {
@SerializedName("Name")
private String name;
@SerializedName("Version")
private String version;
@SerializedName("Time")
private String time;
@SerializedName("Cfg")
private List<CfgDto> cfg;
}

View File

@@ -1,6 +1,7 @@
package com.njcn.access.pojo.dto.devModel;
import com.alibaba.nacos.shaded.com.google.gson.annotations.SerializedName;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
@@ -15,20 +16,21 @@ import java.io.Serializable;
* @createTime 2022/3/13 12:08
*/
@Data
public class DevInfoDTO implements Serializable {
public class DevInfoDto implements Serializable {
@SerializedName("OpAttr")
@ApiModelProperty("读写操作属性")
private String opAttr;
@SerializedName("DevType")
@ApiModelProperty("设备型号")
private String devType;
@SerializedName("DevName")
@SerializedName("DevName ")
@ApiModelProperty("设备名称")
private String devName;
@SerializedName("MsgInfo")
@ApiModelProperty("设备厂商信息")
private String msgInfo;
@SerializedName("DevStatus")
private String devStatus;
@SerializedName("HardVer")
private String hardVer;
}

View File

@@ -1,82 +0,0 @@
package com.njcn.access.pojo.dto.devModel;
import com.alibaba.nacos.shaded.com.google.gson.annotations.SerializedName;
import com.njcn.access.pojo.dto.data.*;
import com.njcn.access.pojo.dto.data.ParDto;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* 类的介绍:
*
* @author xuyang
* @version 1.0.0
* @createTime 2023/4/10 16:26
*/
@Data
public class DevModDetailDto implements Serializable {
@SerializedName("Name")
private String name;
@SerializedName("Version")
private String version;
@SerializedName("Time")
private String time;
@SerializedName("IDX")
private Integer idx;
@SerializedName("DevType")
private String devType;
@SerializedName("DataList")
private List<String> dataList;
@SerializedName("DataSet")
private List<DataSetDTO> dataSet;
@SerializedName("IClk")
private String iclk;
@SerializedName("EClk")
private String eclk;
@SerializedName("LineNum")
private Integer lineNum;
@SerializedName("EPD")
private List<EpdPqdDto> epd;
@SerializedName("PQD")
private List<EpdPqdDto> pqd;
@SerializedName("EVT")
private List<EvtDto> evt;
@SerializedName("ALM")
private List<AlmDto> alm;
@SerializedName("MD")
private List<MdDto> md;
@SerializedName("STS")
private List<StsDto> sts;
@SerializedName("DI")
private List<DiDto> di;
@SerializedName("DO")
private List<DoDto> doDTO;
@SerializedName("Param")
private List<ParDto> param;
@SerializedName("CTRL")
private List<CtrlDto> ctrl;
}

View File

@@ -0,0 +1,44 @@
package com.njcn.access.pojo.dto.devModel;
import com.alibaba.nacos.shaded.com.google.gson.annotations.SerializedName;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotEmpty;
import java.io.Serializable;
import java.util.List;
/**
* 类的介绍:
*
* @author xuyang
* @version 1.0.0
* @createTime 2023/5/4 10:00
*/
@Data
public class DevModDto implements Serializable {
@SerializedName("Version")
@NotEmpty(message = "直连装置/网关版本号,不可为空")
private String version;
@SerializedName("Time")
@NotEmpty(message = "创建或最后修改时间,不可为空")
private String time;
@SerializedName("DevType")
@NotEmpty(message = "设备型号,不可为空")
private String devType;
@SerializedName("DataList")
@NotEmpty(message = "数据模型列表,不可为空")
private List<Object> dataList;
@SerializedName("DataSet")
@NotEmpty(message = "数据集,不可为空")
private List<DataSetDto> dataSetDtoList;
@SerializedName("Cldev")
@ApiModelProperty(value = "逻辑子设备序列")
private List<ClDevDto> clDevDtoList;
}

View File

@@ -1,6 +1,7 @@
package com.njcn.access.pojo.dto.devModel;
import com.alibaba.nacos.shaded.com.google.gson.annotations.SerializedName;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
@@ -12,15 +13,18 @@ import java.io.Serializable;
* @createTime 2022/3/13 12:09
*/
@Data
public class DiskInfoDTO implements Serializable {
public class DiskInfoDto implements Serializable {
@SerializedName("OpAttr")
@ApiModelProperty("读写操作属性")
private String opAttr;
@SerializedName("DiskPhy")
@ApiModelProperty("磁盘空间(单位MB)")
private Float diskPhy;
@SerializedName("DiskUsePhy")
private Float diskUsePhy;
@SerializedName("DiskLmt")
@ApiModelProperty("内存监控阈值(单位%)")
private Float diskLmt;
}

View File

@@ -0,0 +1,40 @@
package com.njcn.access.pojo.dto.devModel;
import com.alibaba.nacos.shaded.com.google.gson.annotations.SerializedName;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotEmpty;
import java.io.Serializable;
/**
* 类的介绍:
*
* @author xuyang
* @version 1.0.0
* @createTime 2023/5/4 10:04
*/
@Data
public class LdevInfoDto implements Serializable {
@SerializedName("OpAttr")
@NotEmpty(message = "读写操作属性,不可为空")
private String opAttr;
@SerializedName("VolGrade")
@ApiModelProperty(value = "电压等级")
private String volGrade;
@SerializedName("ConType")
@ApiModelProperty(value = "接线方式")
private String conType;
@SerializedName("PtRatio")
@ApiModelProperty(value = "PT变比")
private String ptRatio;
@SerializedName("CtRatio")
@ApiModelProperty(value = "CT变比")
private String ctRatio;
}

View File

@@ -1,6 +1,7 @@
package com.njcn.access.pojo.dto.devModel;
import com.alibaba.nacos.shaded.com.google.gson.annotations.SerializedName;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
@@ -12,14 +13,17 @@ import java.io.Serializable;
* @createTime 2022/3/13 12:09
*/
@Data
public class MemInfoDTO implements Serializable {
public class MemInfoDto implements Serializable {
@SerializedName("OpAttr")
@ApiModelProperty("读写操作属性")
private String opAttr;
@SerializedName("MemPhy")
@ApiModelProperty("物理内存(单位MB)")
private Float memPhy;
@SerializedName("MemVirt")
private Float memVirt;
@SerializedName("MemLmt")
@ApiModelProperty("内存监控阈值(单位%)")
private Float memLmt;
}

View File

@@ -3,6 +3,7 @@ package com.njcn.access.pojo.dto.devModel;
import com.alibaba.nacos.shaded.com.google.gson.annotations.SerializedName;
import lombok.Data;
import javax.validation.constraints.NotEmpty;
import java.io.Serializable;
import java.util.List;
@@ -16,49 +17,19 @@ import java.util.List;
@Data
public class NetDevModDto implements Serializable {
@SerializedName("Name")
private String name;
@SerializedName("Version")
@NotEmpty(message = "直连装置/网关版本号,不可为空")
private String version;
@SerializedName("Time")
@NotEmpty(message = "创建或最后修改时间,不可为空")
private String time;
@SerializedName("DevName")
private String devName;
@SerializedName("DevType")
@NotEmpty(message = "设备型号,不可为空")
private String devType;
@SerializedName("NetType")
private String netType;
@SerializedName("NDID")
private String nDid;
@SerializedName("DevTopicVer")
private String devTopicVer;
@SerializedName("Uid")
private String uid;
@SerializedName("CUid")
private List<String> cUid;
@SerializedName("DevInfo")
private DevInfoDTO devInfoDTO;
@SerializedName("CpuInfo")
private CpuInfoDTO cpuInfoDTO;
@SerializedName("MemInfo")
private MemInfoDTO memInfoDTO;
@SerializedName("DiskInfo")
private DiskInfoDTO diskInfoDTO;
@SerializedName("SoftInfo")
private SoftInfoDTO softInfoDTO;
@SerializedName("DataList")
@NotEmpty(message = "数据模型列表,不可为空")
private List<Object> dataList;
}

View File

@@ -1,26 +0,0 @@
package com.njcn.access.pojo.dto.devModel;
import com.alibaba.nacos.shaded.com.google.gson.annotations.SerializedName;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* 类的介绍:
*
* @author xuyang
* @version 1.0.0
* @createTime 2023/4/10 16:18
*/
@Data
public class ParamDto implements Serializable {
@SerializedName("Data_Type")
private String dataType;
@SerializedName("Data_Array")
private List<DataDto> dataArray;
}

View File

@@ -1,35 +0,0 @@
package com.njcn.access.pojo.dto.devModel;
import com.alibaba.nacos.shaded.com.google.gson.annotations.SerializedName;
import lombok.Data;
import java.io.Serializable;
/**
* 类的介绍:
*
* @author xuyang
* @version 1.0.0
* @createTime 2022/3/13 12:09
*/
@Data
public class SoftInfoDTO implements Serializable {
@SerializedName("OsName")
private String osName;
@SerializedName("OsVersion")
private String osVersion;
@SerializedName("AppVersion")
private String appVersion;
@SerializedName("AppDate")
private String appDate;
@SerializedName("AppCheck")
private String appCheck;
@SerializedName("Softupdate")
private String softUpdate;
}

View File

@@ -0,0 +1,49 @@
package com.njcn.access.pojo.dto.devModel;
import com.alibaba.nacos.shaded.com.google.gson.annotations.SerializedName;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.Null;
import java.io.Serializable;
/**
* 类的介绍:
*
* @author xuyang
* @version 1.0.0
* @createTime 2022/3/13 12:09
*/
@Data
public class SoftInfoDto implements Serializable {
@SerializedName("OpAttr")
@NotEmpty(message = "读写操作属性不可为空")
private String opAttr;
@SerializedName("OsName")
@NotEmpty(message = "操作系统名称,裸机系统填Null,不可为空")
private String osName;
@SerializedName("OsVersion")
@NotEmpty(message = "操作系统版本,裸机系统填Null,不可为空")
private String osVersion;
@SerializedName("AppVersion")
@NotEmpty(message = "应用程序版本号,不可为空")
private String appVersion;
@SerializedName("AppDate")
@NotEmpty(message = "应用程序发布日期,不可为空")
private String appDate;
@SerializedName("AppCheck")
@NotEmpty(message = "应用程序校验码,不可为空")
private String appCheck;
@SerializedName("Softupdate")
@NotEmpty(message = "是否支持远程升级程序,不可为空")
private String softUpdate;
}

View File

@@ -1,27 +0,0 @@
package com.njcn.access.pojo.dto.devModel;
import com.alibaba.nacos.shaded.com.google.gson.annotations.SerializedName;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* 类的介绍:
*
* @author xuyang
* @version 1.0.0
* @createTime 2023/4/10 16:22
*/
@Data
public class TemplateDetailDto implements Serializable {
@SerializedName("NetDevMod")
private NetDevModDto netDevModDto;
@SerializedName("DevCfg")
private DevCfgDetailDto devCfgDetailDto;
@SerializedName("DevMod")
private List<DevModDetailDto> devModDetailDto;
}

View File

@@ -3,6 +3,7 @@ package com.njcn.access.pojo.dto.devModel;
import com.alibaba.nacos.shaded.com.google.gson.annotations.SerializedName;
import lombok.Data;
import javax.validation.constraints.NotEmpty;
import java.io.Serializable;
/**
@@ -15,23 +16,12 @@ import java.io.Serializable;
@Data
public class TemplateDto implements Serializable {
@SerializedName("mid")
private Integer mid;
@SerializedName("deviceId")
private String deviceId;
@SerializedName("timestamp")
private String timestamp;
@SerializedName("type")
private String type;
@SerializedName("param")
private ParamDto param;
@SerializedName("code")
private Integer code;
@SerializedName("NetDevMod")
@NotEmpty(message = "直连装置/网关信息描述表,不为空")
private NetDevModDto netDevModDto;
@SerializedName("DevMod")
@NotEmpty(message = "逻辑设备数据模板说明,不为空")
private DevModDto devModDto;
}

View File

@@ -0,0 +1,21 @@
package com.njcn.access.pojo.dto.heart;
import com.njcn.access.param.ParamName;
import lombok.Data;
import java.io.Serializable;
/**
* 类的介绍:
*
* @author xuyang
* @version 1.0.0
* @createTime 2023/4/28 10:42
*/
@Data
public class HeartBeatDto implements Serializable {
@ParamName("Time")
private Long time;
}

View File

@@ -0,0 +1,69 @@
package com.njcn.access.pojo.param;
import com.alibaba.nacos.shaded.com.google.gson.annotations.SerializedName;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
/**
* 类的介绍:
*
* @author xuyang
* @version 1.0.0
* @createTime 2023/4/20 14:05
*/
@Data
public class ReqAndResParam implements Serializable {
@SerializedName("Mid")
@ApiModelProperty("报文ID,在请求报文中该值为请求ID")
@NotNull(message = "报文ID不能为空")
private Integer mid;
@SerializedName("Did")
@ApiModelProperty("设备唯一标识lDid,填入0代表nDid")
@NotBlank(message = "设备唯一标识lDid不能为空")
private String did;
@SerializedName("Pri")
@ApiModelProperty("报文处理的优先级")
@NotNull(message = "报文处理的优先级不能为空")
private Integer pri;
@SerializedName("Type")
@ApiModelProperty("消息类型")
@NotNull(message = "消息类型不能为空")
private String type;
@SerializedName("Msg")
@ApiModelProperty("报文内容")
private Object msg;
/**
* 请求报文
*/
@Data
@EqualsAndHashCode(callSuper = true)
public static class Req extends ReqAndResParam {
@SerializedName("Expire")
@ApiModelProperty("此报文过期的相对时间,单位秒,该字段为-1时表示永不过期.控制类报文接收者超时处理按此时间")
@NotNull(message = "报文过期的相对时间不能为空")
private Integer expire;
}
/**
* 应答报文
*/
@Data
@EqualsAndHashCode(callSuper = true)
public static class Res extends ReqAndResParam {
@SerializedName("Code")
@ApiModelProperty("标识应答的返回码")
@NotNull(message = "状态码不能为空")
private Integer code;
}
}

View File

@@ -0,0 +1,40 @@
package com.njcn.access.pojo.po;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
/**
* <p>
*
* </p>
*
* @author xuyang
* @since 2023-05-11
*/
@Data
@TableName("cs_bmd")
public class CsBmdPO {
private static final long serialVersionUID = 1L;
private String id;
private String name;
private String anotherName;
private Integer idx;
private String type;
private String unit;
private String phase;
private String classId;
private String statMethod;
private String tranRule;
}

View File

@@ -0,0 +1,42 @@
package com.njcn.access.pojo.po;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
/**
* <p>
*
* </p>
*
* @author xuyang
* @since 2023-05-11
*/
@Data
@TableName("cs_epd_pqd")
public class CsEpdPqdPO {
private static final long serialVersionUID = 1L;
private String id;
private String name;
private String anotherName;
private Integer idx;
private String type;
private String phase;
private String unit;
private Integer harmStart;
private Integer harmEnd;
private String classId;
private String statMethod;
}

View File

@@ -0,0 +1,30 @@
package com.njcn.access.pojo.po;
import com.baomidou.mybatisplus.annotation.TableName;
import com.sun.javafx.beans.IDProperty;
import lombok.Data;
/**
* <p>
*
* </p>
*
* @author xuyang
* @since 2023-05-12
*/
@Data
@TableName("cs_topic")
public class CsTopicPO {
private static final long serialVersionUID = 1L;
private String id;
private String ndid;
private String topic;
private Integer type;
}