diff --git a/iot-access/access-api/pom.xml b/iot-access/access-api/pom.xml
index 8426020..89d2f34 100644
--- a/iot-access/access-api/pom.xml
+++ b/iot-access/access-api/pom.xml
@@ -21,10 +21,24 @@
- junit
- junit
- 4.11
- test
+ com.njcn
+ common-core
+ ${project.version}
+
+
+ com.njcn
+ common-db
+ ${project.version}
+
+
+ com.njcn
+ common-microservice
+ ${project.version}
+
+
+ com.njcn
+ common-poi
+ ${project.version}
diff --git a/iot-access/access-api/src/main/java/com/njcn/access/param/ParamName.java b/iot-access/access-api/src/main/java/com/njcn/access/annotation/ParamName.java
similarity index 91%
rename from iot-access/access-api/src/main/java/com/njcn/access/param/ParamName.java
rename to iot-access/access-api/src/main/java/com/njcn/access/annotation/ParamName.java
index 97709a9..aa3910f 100644
--- a/iot-access/access-api/src/main/java/com/njcn/access/param/ParamName.java
+++ b/iot-access/access-api/src/main/java/com/njcn/access/annotation/ParamName.java
@@ -1,4 +1,4 @@
-package com.njcn.access.param;
+package com.njcn.access.annotation;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
diff --git a/iot-access/access-api/src/main/java/com/njcn/access/enums/AccessResponseEnum.java b/iot-access/access-api/src/main/java/com/njcn/access/enums/AccessResponseEnum.java
index fbc0a3b..48202ba 100644
--- a/iot-access/access-api/src/main/java/com/njcn/access/enums/AccessResponseEnum.java
+++ b/iot-access/access-api/src/main/java/com/njcn/access/enums/AccessResponseEnum.java
@@ -14,19 +14,22 @@ public enum AccessResponseEnum {
* A0301 ~ A0399 用于用户模块的枚举
*
*/
- NDID_NO_FIND("A0301", "与平台nDid匹配错误!"),
+ NDID_NO_FIND("A0301", "nDid在平台端未找到或者已接入"),
MODEL_REPEAT("A0302", "模板重复,请勿重复录入!"),
MODEL_NO_FIND("A0302", "模板不存在,请先录入模板数据!"),
MESSAGE_TYPE_ERROR("A0303","报文消息类型Type错误!"),
DEV_TYPE_ERROR("A0303","装置类型错误!"),
+ DEV_NOT_FIND("A0303","装置类型未找到!"),
+ DEV_MODEL_NOT_FIND("A0303","装置型号未找到!"),
+ DEV_IS_NOT_ZL("A0303","注册装置不是直连装置!"),
- RESPONSE_ERROR("A0304","装置请求响应错误!"),
+ REGISTER_RESPONSE_ERROR("A0304","装置注册,装置侧应答失败!"),
DEV_TYPE_NOT_FIND("A0305","装置类型未找到,需要录入!"),
- NO_RECEIVE_FROM_DEV("A0306","未收到装置注册响应,请核查!"),
+ REGISTER_ERROR("A0306","装置注册失败!"),
DICT_MISSING("A0307","字典数据缺失!"),
EPD_DICT_MISSING("A0307","Epd字典数据缺失!"),
@@ -42,6 +45,9 @@ public enum AccessResponseEnum {
INSET_DICT_MISSING("A0307","InSet字典数据缺失!"),
CTRL_DICT_MISSING("A0307","Ctrl字典数据缺失!"),
+ MODEL_MISS("A0308","模板信息缺失!"),
+ MODEL_VERSION_ERROR("A0308","询问装置模板信息错误"),
+
;
private final String code;
diff --git a/iot-access/access-api/src/main/java/com/njcn/access/param/DevAccessParam.java b/iot-access/access-api/src/main/java/com/njcn/access/param/DevAccessParam.java
new file mode 100644
index 0000000..46d815f
--- /dev/null
+++ b/iot-access/access-api/src/main/java/com/njcn/access/param/DevAccessParam.java
@@ -0,0 +1,71 @@
+package com.njcn.access.param;
+
+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/7/5 16:25
+ */
+@Data
+public class DevAccessParam implements Serializable {
+
+ @ApiModelProperty("项目id")
+ @NotNull(message = "项目id不能为空")
+ private String projectId;
+
+ @ApiModelProperty("区域")
+ private String area;
+
+ @ApiModelProperty("拓扑图id")
+ @NotNull(message = "拓扑图id不能为空")
+ private String topologyDiagram;
+
+ @ApiModelProperty("设备识别码")
+ @NotNull(message = "设备识别码不能为空")
+ private String nDid;
+
+ @ApiModelProperty("监测点集合")
+ @NotNull(message = "监测点集合不能为空")
+ private List list;
+
+ @Data
+ public static class LineParam {
+
+ @ApiModelProperty("监测点名称")
+ @NotNull(message = "监测点名称不能为空")
+ private String name;
+
+ @ApiModelProperty("安装位置")
+ @NotNull(message = "安装位置不能为空")
+ private String position;
+
+ @ApiModelProperty("电压等级")
+ @NotNull(message = "电压等级不能为空")
+ private String volGrade;
+
+ @ApiModelProperty("PT变比")
+ @NotNull(message = "PT变比不能为空")
+ private String ptRatio;
+
+ @ApiModelProperty("CT变比")
+ @NotNull(message = "CT变比不能为空")
+ private String ctRatio;
+
+ @ApiModelProperty("中心点经度")
+ @NotNull(message = "中心点经度不能为空")
+ private Double lng;
+
+ @ApiModelProperty("中心点纬度")
+ @NotNull(message = "中心点纬度不能为空")
+ private Double lat;
+ }
+
+}
diff --git a/iot-access/access-api/src/main/java/com/njcn/access/pojo/dto/AccessDto.java b/iot-access/access-api/src/main/java/com/njcn/access/pojo/dto/AccessDto.java
index a650d8f..229c140 100644
--- a/iot-access/access-api/src/main/java/com/njcn/access/pojo/dto/AccessDto.java
+++ b/iot-access/access-api/src/main/java/com/njcn/access/pojo/dto/AccessDto.java
@@ -1,6 +1,6 @@
package com.njcn.access.pojo.dto;
-import com.njcn.access.param.ParamName;
+import com.njcn.access.annotation.ParamName;
import lombok.Data;
import java.io.Serializable;
diff --git a/iot-access/access-api/src/main/java/com/njcn/access/pojo/dto/DevCfgDto.java b/iot-access/access-api/src/main/java/com/njcn/access/pojo/dto/DevCfgDto.java
index 25dcd39..569309c 100644
--- a/iot-access/access-api/src/main/java/com/njcn/access/pojo/dto/DevCfgDto.java
+++ b/iot-access/access-api/src/main/java/com/njcn/access/pojo/dto/DevCfgDto.java
@@ -1,8 +1,7 @@
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 com.njcn.access.annotation.ParamName;
import lombok.Data;
import javax.validation.constraints.NotNull;
diff --git a/iot-access/access-api/src/main/java/com/njcn/access/pojo/dto/ModelDto.java b/iot-access/access-api/src/main/java/com/njcn/access/pojo/dto/ModelDto.java
index 31f81dc..e96b0c4 100644
--- a/iot-access/access-api/src/main/java/com/njcn/access/pojo/dto/ModelDto.java
+++ b/iot-access/access-api/src/main/java/com/njcn/access/pojo/dto/ModelDto.java
@@ -1,8 +1,11 @@
package com.njcn.access.pojo.dto;
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;
import java.util.List;
@@ -12,16 +15,43 @@ import java.util.List;
*
* @author xuyang
* @version 1.0.0
- * @createTime 2023/4/10 10:54
+ * @createTime 2023/7/5 11:26
*/
@Data
public class ModelDto implements Serializable {
- @SerializedName("DevCfg")
- @NotNull(message = "设备配置序列,不为空")
- private List devCfg;
+ @SerializedName("Mid")
+ @ApiModelProperty("报文ID,在请求报文中该值为请求ID")
+ @NotNull(message = "报文ID不能为空")
+ private Integer mid;
- @SerializedName("DevModInfo")
- @NotNull(message = "设备模板信息序列,不为空")
- private List devMod;
+ @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 Msg msg;
+
+ @Data
+ public static class Msg {
+ @SerializedName("DevCfg")
+ @ApiModelProperty("设备配置序列")
+ private List devCfg;
+
+ @SerializedName("DevModInfo")
+ @ApiModelProperty("设备模板信息序列")
+ private List devMod;
+ }
}
diff --git a/iot-access/access-api/src/main/java/com/njcn/access/pojo/param/ReqAndResParam.java b/iot-access/access-api/src/main/java/com/njcn/access/pojo/dto/ReqAndResDto.java
similarity index 89%
rename from iot-access/access-api/src/main/java/com/njcn/access/pojo/param/ReqAndResParam.java
rename to iot-access/access-api/src/main/java/com/njcn/access/pojo/dto/ReqAndResDto.java
index 96f115f..521ffd5 100644
--- a/iot-access/access-api/src/main/java/com/njcn/access/pojo/param/ReqAndResParam.java
+++ b/iot-access/access-api/src/main/java/com/njcn/access/pojo/dto/ReqAndResDto.java
@@ -1,4 +1,4 @@
-package com.njcn.access.pojo.param;
+package com.njcn.access.pojo.dto;
import com.alibaba.nacos.shaded.com.google.gson.annotations.SerializedName;
import io.swagger.annotations.ApiModelProperty;
@@ -8,6 +8,7 @@ import lombok.EqualsAndHashCode;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
+import java.util.List;
/**
* 类的介绍:
@@ -17,7 +18,7 @@ import java.io.Serializable;
* @createTime 2023/4/20 14:05
*/
@Data
-public class ReqAndResParam implements Serializable {
+public class ReqAndResDto implements Serializable {
@SerializedName("Mid")
@ApiModelProperty("报文ID,在请求报文中该值为请求ID")
@@ -48,7 +49,7 @@ public class ReqAndResParam implements Serializable {
*/
@Data
@EqualsAndHashCode(callSuper = true)
- public static class Req extends ReqAndResParam {
+ public static class Req extends ReqAndResDto {
@SerializedName("Expire")
@ApiModelProperty("此报文过期的相对时间,单位秒,该字段为-1时表示永不过期.控制类报文接收者超时处理按此时间")
@NotNull(message = "报文过期的相对时间不能为空")
@@ -60,10 +61,11 @@ public class ReqAndResParam implements Serializable {
*/
@Data
@EqualsAndHashCode(callSuper = true)
- public static class Res extends ReqAndResParam {
+ public static class Res extends ReqAndResDto {
@SerializedName("Code")
@ApiModelProperty("标识应答的返回码")
@NotNull(message = "状态码不能为空")
private Integer code;
}
+
}
diff --git a/iot-access/access-api/src/main/java/com/njcn/access/pojo/dto/data/StsDto.java b/iot-access/access-api/src/main/java/com/njcn/access/pojo/dto/data/StsDto.java
index 03743a7..8b89f97 100644
--- a/iot-access/access-api/src/main/java/com/njcn/access/pojo/dto/data/StsDto.java
+++ b/iot-access/access-api/src/main/java/com/njcn/access/pojo/dto/data/StsDto.java
@@ -38,17 +38,8 @@ public class StsDto implements Serializable {
@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