Procházet zdrojové kódy

代码优化及增加过期标识

linhuili před 3 roky
rodič
revize
0339f9e6bc
15 změnil soubory, kde provedl 228 přidání a 12 odebrání
  1. 35 2
      dmp-business/dmp-dic/src/main/java/com/persagy/dmp/dic/controller/DictDataController.java
  2. 30 2
      dmp-business/dmp-dic/src/main/java/com/persagy/dmp/dic/controller/DictDataMapController.java
  3. 30 2
      dmp-business/dmp-dic/src/main/java/com/persagy/dmp/dic/controller/DictTypeController.java
  4. 10 0
      dmp-business/dmp-dic/src/main/java/com/persagy/dmp/dic/entity/DictData.java
  5. 11 0
      dmp-business/dmp-dic/src/main/java/com/persagy/dmp/dic/entity/DictDataMap.java
  6. 7 0
      dmp-business/dmp-dic/src/main/java/com/persagy/dmp/dic/entity/DictType.java
  7. 45 2
      dmp-business/dmp-rwd/src/main/java/com/persagy/dmp/rwd/digital/controller/ObjectDigitalController.java
  8. 3 0
      dmp-business/dmp-rwd/src/main/java/com/persagy/dmp/rwd/iot/controller/IotController.java
  9. 9 0
      dmp-business/dmp-rwd/src/main/java/com/persagy/dmp/rwd/iot/model/CurrentDataModel.java
  10. 7 0
      dmp-business/dmp-rwd/src/main/java/com/persagy/dmp/rwd/iot/model/DataInfo.java
  11. 13 0
      dmp-business/dmp-rwd/src/main/java/com/persagy/dmp/rwd/iot/model/SettingDataModel.java
  12. 5 1
      dmp-business/dmp-rwd/src/main/java/com/persagy/dmp/rwd/iot/model/history/DataModel.java
  13. 10 2
      dmp-business/dmp-rwd/src/main/java/com/persagy/dmp/rwd/iot/model/history/InfoCodeModel.java
  14. 7 1
      dmp-business/dmp-rwd/src/main/java/com/persagy/dmp/rwd/iot/model/history/RequestModel.java
  15. 6 0
      dmp-comp/dmp-digital-starter/src/main/java/com/persagy/dmp/digital/entity/ObjectDigital.java

+ 35 - 2
dmp-business/dmp-dic/src/main/java/com/persagy/dmp/dic/controller/DictDataController.java

@@ -12,12 +12,14 @@ import com.persagy.dmp.common.utils.ResultHelper;
 import com.persagy.dmp.dic.entity.DictData;
 import com.persagy.dmp.dic.entity.DictType;
 import com.persagy.dmp.dic.service.DictDataService;
+import org.apache.commons.lang.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
+import javax.validation.Valid;
 import java.util.Iterator;
 import java.util.List;
 
@@ -36,6 +38,11 @@ public class DictDataController {
     private static final String STATUS="status";
     private static final String VALID="valid";
 
+    /**
+     * 查询字典数据
+     * @param criteria
+     * @return
+     */
     @Deprecated
     @PostMapping("/query")
     public CommonResult<List<DictData>> query(@RequestBody QueryCriteria criteria) {
@@ -57,27 +64,53 @@ public class DictDataController {
         return ResultHelper.multi(page.getRecords(), page.getTotal());
     }
 
+    /**
+     * 创建字典数据
+     * @param vo
+     * @return
+     */
     @Deprecated
     @PostMapping("/create")
-    public CommonResult<DictData> create(@RequestBody DictData vo){
+    public CommonResult<DictData> create(@Valid @RequestBody DictData vo){
         vo = service.insert(vo);
         return ResultHelper.single(vo);
     }
 
+    /**
+     * 修改字典数据
+     * @param vo
+     * @return
+     */
     @Deprecated
     @PostMapping("/update")
-    public CommonResult<DictData> update(@RequestBody DictData vo){
+    public CommonResult<DictData> update(@Valid @RequestBody DictData vo){
         vo = service.update(vo);
         return ResultHelper.single(vo);
     }
 
+    /**
+     * 删除字典数据
+     * @param vo
+     * @return
+     */
     @Deprecated
     @PostMapping("/delete")
     public CommonResult<DictData> delete(@RequestBody DictData vo){
+        if(vo == null){
+            throw new BusinessException(ResponseCode.A0400.getCode(),ResponseCode.A0400.getCode());
+        }
+        if(StringUtils.isEmpty(vo.getId())){
+            throw new BusinessException(ResponseCode.A0400.getCode(), "id不能为空");
+        }
         service.delete(vo);
         return ResultHelper.success();
     }
 
+    /**
+     * 查询映射表替代字典数据的数据集
+     * @param dictType
+     * @return
+     */
     @Deprecated
     @PostMapping("/result")
     public CommonResult<List<DictData>> query(@RequestBody DictType dictType) {

+ 30 - 2
dmp-business/dmp-dic/src/main/java/com/persagy/dmp/dic/controller/DictDataMapController.java

@@ -10,12 +10,14 @@ import com.persagy.dmp.common.model.response.CommonResult;
 import com.persagy.dmp.common.utils.ResultHelper;
 import com.persagy.dmp.dic.entity.DictDataMap;
 import com.persagy.dmp.dic.service.DictDataMapService;
+import org.apache.commons.lang.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
+import javax.validation.Valid;
 import java.util.List;
 
 /**
@@ -30,6 +32,11 @@ public class DictDataMapController {
     @Autowired
     private DictDataMapService service;
 
+    /**
+     * 查询字典数据映射
+     * @param criteria
+     * @return
+     */
     @Deprecated
     @PostMapping("/query")
     public CommonResult<List<DictDataMap>> query(@RequestBody QueryCriteria criteria) {
@@ -43,23 +50,44 @@ public class DictDataMapController {
         return ResultHelper.multi(page.getRecords(), page.getTotal());
     }
 
+    /**
+     * 创建字典数据映射
+     * @param vo
+     * @return
+     */
     @Deprecated
     @PostMapping("/create")
-    public CommonResult<DictDataMap> create(@RequestBody DictDataMap vo){
+    public CommonResult<DictDataMap> create(@Valid @RequestBody DictDataMap vo){
         vo = service.insert(vo);
         return ResultHelper.single(vo);
     }
 
+    /**
+     * 修改字典数据映射
+     * @param vo
+     * @return
+     */
     @Deprecated
     @PostMapping("/update")
-    public CommonResult<DictDataMap> update(@RequestBody DictDataMap vo){
+    public CommonResult<DictDataMap> update(@Valid @RequestBody DictDataMap vo){
         vo = service.update(vo);
         return ResultHelper.single(vo);
     }
 
+    /**
+     * 删除字典数据映射
+     * @param vo
+     * @return
+     */
     @Deprecated
     @PostMapping("/delete")
     public CommonResult<DictDataMap> delete(@RequestBody DictDataMap vo){
+        if(vo == null){
+            throw new BusinessException(ResponseCode.A0400.getCode(),ResponseCode.A0400.getCode());
+        }
+        if(StringUtils.isEmpty(vo.getId())){
+            throw new BusinessException(ResponseCode.A0400.getCode(), "id不能为空");
+        }
         service.delete(vo);
         return ResultHelper.success();
     }

+ 30 - 2
dmp-business/dmp-dic/src/main/java/com/persagy/dmp/dic/controller/DictTypeController.java

@@ -10,12 +10,14 @@ import com.persagy.dmp.common.model.response.CommonResult;
 import com.persagy.dmp.common.utils.ResultHelper;
 import com.persagy.dmp.dic.entity.DictType;
 import com.persagy.dmp.dic.service.DictTypeService;
+import org.apache.commons.lang.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
+import javax.validation.Valid;
 import java.util.List;
 
 /**
@@ -30,6 +32,11 @@ public class DictTypeController {
     @Autowired
     private DictTypeService service;
 
+    /**
+     * 字典类型查询
+     * @param criteria
+     * @return
+     */
     @Deprecated
     @PostMapping("/query")
     public CommonResult<List<DictType>> query(@RequestBody QueryCriteria criteria) {
@@ -43,23 +50,44 @@ public class DictTypeController {
         return ResultHelper.multi(page.getRecords(), page.getTotal());
     }
 
+    /**
+     * 字典类型创建
+     * @param vo
+     * @return
+     */
     @Deprecated
     @PostMapping("/create")
-    public CommonResult<DictType> create(@RequestBody DictType vo){
+    public CommonResult<DictType> create(@Valid @RequestBody DictType vo){
         vo = service.insert(vo);
         return ResultHelper.single(vo);
     }
 
+    /**
+     * 字典类型修改
+     * @param vo
+     * @return
+     */
     @Deprecated
     @PostMapping("/update")
-    public CommonResult<DictType> update(@RequestBody DictType vo){
+    public CommonResult<DictType> update(@Valid @RequestBody DictType vo){
         vo = service.update(vo);
         return ResultHelper.single(vo);
     }
 
+    /**
+     * 字典类型删除
+     * @param vo
+     * @return
+     */
     @Deprecated
     @PostMapping("/delete")
     public CommonResult<DictType> delete(@RequestBody DictType vo){
+        if(vo == null){
+            throw new BusinessException(ResponseCode.A0400.getCode(),ResponseCode.A0400.getCode());
+        }
+        if(StringUtils.isEmpty(vo.getId())){
+            throw new BusinessException(ResponseCode.A0400.getCode(), "id不能为空");
+        }
         service.delete(vo);
         return ResultHelper.success();
     }

+ 10 - 0
dmp-business/dmp-dic/src/main/java/com/persagy/dmp/dic/entity/DictData.java

@@ -5,6 +5,9 @@ import com.baomidou.mybatisplus.annotation.TableName;
 import com.persagy.dmp.common.model.entity.AuditableEntity;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
+import org.hibernate.validator.constraints.Length;
+
+import javax.validation.constraints.NotNull;
 
 /**
  * 字典数据
@@ -16,18 +19,25 @@ import lombok.EqualsAndHashCode;
 @TableName(value = "dic_dt_data", autoResultMap = true)
 public class DictData extends AuditableEntity {
 	/** 字典类型ID */
+
 	private String dictTypeId;
 
 	/** 父节点 */
 	private String parentId;
 
 	/** 字典类型 */
+	@NotNull(message = "字典类型不允许为空")
+	@Length(max = 40)
 	private String type;
 
 	/** 字典数据编码 */
+	@NotNull(message = "字典数据编码不允许为空")
+	@Length(max = 40)
 	private String code;
 
 	/** 字典数据标签 */
+	@NotNull(message = "字典数据标签不允许为空")
+	@Length(max = 200)
 	private String label;
 
 	/** 状态 0:停用,1:正常 */

+ 11 - 0
dmp-business/dmp-dic/src/main/java/com/persagy/dmp/dic/entity/DictDataMap.java

@@ -5,6 +5,9 @@ import com.baomidou.mybatisplus.annotation.TableName;
 import com.persagy.dmp.common.model.entity.AuditableEntity;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
+import org.hibernate.validator.constraints.Length;
+
+import javax.validation.constraints.NotNull;
 
 /**
  * 字典数据
@@ -19,18 +22,26 @@ public class DictDataMap extends AuditableEntity {
 	private String dictDataId;
 
 	/** 字典类型 */
+	@NotNull(message = "字典类型不允许为空")
+	@Length(max = 40)
 	private String type;
 
 	/** 集团编码 */
 	private String groupCode;
 
 	/** 映射字典数据表code */
+	@NotNull(message = "映射字典code不允许为空")
+	@Length(max = 40)
 	private String targetCode;
 
 	/** 字典数据标签 */
+	@NotNull(message = "字典数据标签不允许为空")
+	@Length(max = 200)
 	private String label;
 
 	/** 字典数据编码 */
+	@NotNull(message = "字典数据编码不允许为空")
+	@Length(max = 40)
 	private String code;
 
 	/** 状态 0:停用,1:正常 */

+ 7 - 0
dmp-business/dmp-dic/src/main/java/com/persagy/dmp/dic/entity/DictType.java

@@ -4,6 +4,9 @@ import com.baomidou.mybatisplus.annotation.TableName;
 import com.persagy.dmp.common.model.entity.AuditableEntity;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
+import org.hibernate.validator.constraints.Length;
+
+import javax.validation.constraints.NotNull;
 
 /**
  * 字典类型
@@ -21,9 +24,13 @@ public class DictType extends AuditableEntity {
     private String groupCode;
 
     /** 字典类型 */
+    @NotNull(message = "字典类型不允许为空")
+    @Length(max = 40)
     private String type;
 
     /** 字典类型名称 */
+    @NotNull(message = "字典类型名称不允许为空")
+    @Length(max = 200)
     private String name;
 
     /** 描述 */

+ 45 - 2
dmp-business/dmp-rwd/src/main/java/com/persagy/dmp/rwd/digital/controller/ObjectDigitalController.java

@@ -3,6 +3,7 @@ package com.persagy.dmp.rwd.digital.controller;
 import cn.hutool.core.collection.CollUtil;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fasterxml.jackson.databind.JsonNode;
 import com.fasterxml.jackson.databind.node.ArrayNode;
 import com.fasterxml.jackson.databind.node.ObjectNode;
 import com.persagy.dmp.basic.model.QueryCriteria;
@@ -75,7 +76,7 @@ public class ObjectDigitalController{
 
     @PostMapping("/createOne")
     @Deprecated
-    public CommonResult<ObjectDigital> create(@Valid @RequestBody ObjectNode node){
+    public CommonResult<ObjectDigital> create(@RequestBody ObjectNode node){
         //基础参数校验
         ParamCheckUtil.checkParam(CommonConstant.QUERY_GROUPCODE,CommonConstant.QUERY_PROJECTID);
         ObjectDigital vo = JsonNodeUtils.toEntity(node, ObjectDigital.class, ObjectDigital.EXTRA_COLUMN);
@@ -89,9 +90,12 @@ public class ObjectDigitalController{
 
     @PostMapping("/create")
     @Deprecated
-    public CommonResult<List<ObjectDigital>> createBatch(@Valid @RequestBody ArrayNode array){
+    public CommonResult<List<ObjectDigital>> createBatch(@RequestBody ArrayNode array){
         //基础参数校验
         ParamCheckUtil.checkParam(CommonConstant.QUERY_GROUPCODE,CommonConstant.QUERY_PROJECTID);
+        //创建对象入参校验
+        createInstanceParamVerify(array);
+
         List<ObjectDigital> voList = JsonNodeUtils.toEntity(array, ObjectDigital.class, ObjectDigital.EXTRA_COLUMN);
         //创建默认条件
         createDefaultValue(voList);
@@ -119,6 +123,9 @@ public class ObjectDigitalController{
     public CommonResult<List<ObjectDigital>> updateBatch(@Valid @RequestBody ArrayNode array){
         //基础参数校验
         ParamCheckUtil.checkParam(CommonConstant.QUERY_GROUPCODE,CommonConstant.QUERY_PROJECTID);
+        //修改对象入参校验
+        updateInstanceParamVerify(array);
+
         List<ObjectDigital> voList = JsonNodeUtils.toEntity(array, ObjectDigital.class, ObjectDigital.EXTRA_COLUMN);
         //创建默认条件
         createDefaultValue(voList);
@@ -196,4 +203,40 @@ public class ObjectDigitalController{
             vo.setProjectId(projectId);
         }
     }
+
+    /**
+     * 创建实例入参校验
+     * @param array
+     */
+    private void createInstanceParamVerify(ArrayNode array){
+        if(array == null || array.size()<=0){
+            throw new BusinessException(ResponseCode.A0400.getCode(),ResponseCode.A0400.getCode());
+        }
+        for (JsonNode jsonNode : array) {
+            JsonNode name = jsonNode.get("name");
+            if(name == null){
+                throw new BusinessException(ResponseCode.A0400.getCode(),"对象名称不能为空");
+            }
+            JsonNode classCode = jsonNode.get("classCode");
+            if(classCode == null){
+                throw new BusinessException(ResponseCode.A0400.getCode(),"类型编码不能为空");
+            }
+        }
+    }
+
+    /**
+     * 修改实例入参校验
+     * @param array
+     */
+    private void updateInstanceParamVerify(ArrayNode array){
+        if(array == null || array.size()<=0){
+            throw new BusinessException(ResponseCode.A0400.getCode(),ResponseCode.A0400.getCode());
+        }
+        for (JsonNode jsonNode : array) {
+            JsonNode id = jsonNode.get("id");
+            if(id == null){
+                throw new BusinessException(ResponseCode.A0400.getCode(),"id不能为空");
+            }
+        }
+    }
 }

+ 3 - 0
dmp-business/dmp-rwd/src/main/java/com/persagy/dmp/rwd/iot/controller/IotController.java

@@ -65,6 +65,7 @@ public class IotController {
 	 * @return
 	 */
 	@PostMapping("/data/history")
+	@Deprecated
 	public CommonResult<List<InfoCodeModel>> history(@RequestBody RequestModel request) throws Exception{
 		//基础参数校验
 		ParamCheckUtil.checkParam(CommonConstant.QUERY_GROUPCODE,CommonConstant.QUERY_PROJECTID);
@@ -84,6 +85,7 @@ public class IotController {
 	 * @return
 	 */
 	@PostMapping("/funcid/setting")
+	@Deprecated
 	public CommonResult<List<SettingDataModel>> setting(@RequestBody List<SettingDataModel> param) {
 		//基础参数校验
 		ParamCheckUtil.checkParam(CommonConstant.QUERY_GROUPCODE,CommonConstant.QUERY_PROJECTID);
@@ -103,6 +105,7 @@ public class IotController {
 	 * @return
 	 */
 	@PostMapping("/funcid/settingQuery")
+	@Deprecated
 	public CommonResult<List<SettingDataModel>> settingQuery(@RequestBody List<String> param) {
 		//基础参数校验
 		ParamCheckUtil.checkParam(CommonConstant.QUERY_GROUPCODE,CommonConstant.QUERY_PROJECTID);

+ 9 - 0
dmp-business/dmp-rwd/src/main/java/com/persagy/dmp/rwd/iot/model/CurrentDataModel.java

@@ -4,15 +4,24 @@ import com.fasterxml.jackson.annotation.JsonIgnore;
 import lombok.Getter;
 import lombok.Setter;
 
+/**
+ * 查询实时数据Model类
+ */
 @Getter
 @Setter
 public class CurrentDataModel {
 
+	/** 对象ID */
 	private String objectId;
+	/** 信息点 */
 	private String infoCode;
+	/** 信息点值 */
 	private String infoValue;
+	/** 分精度数据时间点 */
 	private String time;
+	/** iot数据 */
 	private Object data;
+	/** 错误信息 */
 	private String error;
 
 	@JsonIgnore

+ 7 - 0
dmp-business/dmp-rwd/src/main/java/com/persagy/dmp/rwd/iot/model/DataInfo.java

@@ -3,13 +3,20 @@ package com.persagy.dmp.rwd.iot.model;
 import lombok.Getter;
 import lombok.Setter;
 
+/**
+ * 对象数据
+ */
 @Getter
 @Setter
 public class DataInfo {
 
+	/** 对象ID */
 	private String objectId;
+	/** 对象编码 */
 	private String classCode;
+	/** 信息点 */
 	private String infoCode;
+	/** 信息点值 */
 	private String infoCodeValue;
 
 }

+ 13 - 0
dmp-business/dmp-rwd/src/main/java/com/persagy/dmp/rwd/iot/model/SettingDataModel.java

@@ -3,18 +3,31 @@ package com.persagy.dmp.rwd.iot.model;
 import lombok.Getter;
 import lombok.Setter;
 
+/**
+ * 发送控制指令/设定动态参数Model类
+ */
 @Getter
 @Setter
 public class SettingDataModel {
 
+	/** 对象ID */
 	private String objectId;
+	/** 信息点编码 */
 	private String infoCode;
+	/** 信息点值 */
 	private Double value;
+	/** 返回状态 */
 	private String status;
+	/** 返回错误信息 */
 	private String error;
+	/** 表号 */
 	private String meter;
+	/** 功能号 */
 	private String function;
+	/** 指令编码 */
 	private String exeCode;
+	/** 执行指令结果 */
 	private String exeResult;
+	/** 指令接收时间 */
 	private String receivetime;
 }

+ 5 - 1
dmp-business/dmp-rwd/src/main/java/com/persagy/dmp/rwd/iot/model/history/DataModel.java

@@ -2,12 +2,16 @@ package com.persagy.dmp.rwd.iot.model.history;
 
 import lombok.Getter;
 import lombok.Setter;
-
+/**
+ * 分精度数据Model类
+ */
 @Getter
 @Setter
 public class DataModel {
 
+	/** 时间点 */
 	private String time;
+	/** 数据 */
 	private Object data;
 
 	public DataModel() {

+ 10 - 2
dmp-business/dmp-rwd/src/main/java/com/persagy/dmp/rwd/iot/model/history/InfoCodeModel.java

@@ -5,18 +5,26 @@ import com.fasterxml.jackson.databind.node.ArrayNode;
 import lombok.Getter;
 import lombok.Setter;
 
+/**
+ * 信息点编码Model类
+ */
 @Getter
 @Setter
 public class InfoCodeModel {
 
+	/** 对象id */
 	private String objectId;
+	/** 信息点编码 */
 	private String infoCode;
+	/** 表号 */
 	private String meter;
+	/** 功能号 */
 	private String function;
+	/** 返回状态 */
 	private String status;
+	/** 错误信息 */
 	private String error;
-
+	/** 返回数据 */
 	private JSONArray data;
 
-
 }

+ 7 - 1
dmp-business/dmp-rwd/src/main/java/com/persagy/dmp/rwd/iot/model/history/RequestModel.java

@@ -5,14 +5,20 @@ import lombok.Setter;
 
 import java.util.List;
 
+/**
+ * 请求Model类型
+ */
 @Getter
 @Setter
 public class RequestModel {
 
+	/** 开始时间 */
 	private String startTime;
+	/** 结束时间 */
 	private String endTime;
+	/** 分精度类型,支持 1min、5min、15min、1h、1d */
 	private String period;
-
+	/** 查询的对象类型和信息点编码 */
 	private List<InfoCodeModel> params;
 
 }

+ 6 - 0
dmp-comp/dmp-digital-starter/src/main/java/com/persagy/dmp/digital/entity/ObjectDigital.java

@@ -7,7 +7,9 @@ import com.fasterxml.jackson.databind.node.ObjectNode;
 import com.persagy.dmp.common.model.entity.AuditableEntity;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
+import org.hibernate.validator.constraints.Length;
 
+import javax.validation.constraints.NotNull;
 import java.util.List;
 
 /**
@@ -28,6 +30,8 @@ public class ObjectDigital extends AuditableEntity {
     /** 项目ID */
     private String projectId;
     /** 名称 */
+    @NotNull(message = "名称不允许为空")
+    @Length(max = 200)
     private String name;
     /** 本地编码 */
     private String localId;
@@ -36,6 +40,8 @@ public class ObjectDigital extends AuditableEntity {
     /** 对象分类 */
     private String objType;
     /** 类型编码 */
+    @NotNull(message = "类型编码不允许为空")
+    @Length(max = 40)
     private String classCode;
     /** 集团编码 */
     private String groupCode;