规则分级API
<h4>1. 增加规则分级名称api</h4>
<h5>path</h5>
<ul>
<li><code>/ruleBatch/1.0/ruleGrade</code></li>
</ul>
<h5>请求方式</h5>
<ul>
<li>POST</li>
</ul>
<h5>请求参数<code>@RequestBody</code></h5>
<pre><code>public class DeviceRoleGradeNameDTO {
@NotBlank(message = "deviceId不能为空")
private String deviceId;
@NotEmpty(message = "分级名称不能为空")
private String gradeName;</code></pre>
<h5>响应参数</h5>
<pre><code>无</code></pre>
<h4>2. 获取规则分级配置下拉列表api</h4>
<h5>path</h5>
<ul>
<li><code>/ruleBatch/1.0/getRuleGradeDropdown</code></li>
</ul>
<h5>请求方式</h5>
<ul>
<li>GET</li>
</ul>
<h5>请求参数<code>@RequestParam</code></h5>
<pre><code>// 设备id
@RequestParam("deviceId") String deviceId</code></pre>
<h5>响应参数</h5>
<pre><code>public class RuleGradeDropdownVO {
private List<RuleIdNameVO> rules;
private List<CommonDropdownVO> ruleResult;
private List<CommonDropdownVO> relations;</code></pre>
<pre><code>public class RuleIdNameVO {
private Long ruleId;
private String ruleName;</code></pre>
<pre><code>public class CommonDropdownVO {
private String label;
private Object value;</code></pre>
<h4>3. 获取规则分级配置api</h4>
<h5>path</h5>
<ul>
<li><code>/ruleBatch/1.0/ruleGradeConfig</code></li>
</ul>
<h5>请求方式</h5>
<ul>
<li>GET</li>
</ul>
<h5>请求参数<code>@RequestParam</code></h5>
<pre><code>@RequestParam("deviceId") String deviceId
@RequestParam("gradeId") Long gradeId</code></pre>
<h5>响应参数</h5>
<pre><code>public class DeviceRoleGradeConfigVO {
private List<List<RuleGradeDetailDTO>> gradeDetail;
private String grade;
@JsonFormat(pattern = "yyyy-MM-dd")
private Date validFrom;
@JsonFormat(pattern = "yyyy-MM-dd")
private Date validTo;</code></pre>
<pre><code>public class RuleGradeDetailDTO {
@NotNull
private Long ruleId;
@NotBlank
private String ruleName;
@NotNull
private RuleResultEnum ruleResult;
@NotNull
private RuleGradeRelationEnum relation;</code></pre>
<h4>4. 更新规则分级配置api</h4>
<h5>path</h5>
<ul>
<li><code>/ruleBatch/1.0/ruleGradeConfig</code></li>
</ul>
<h5>请求方式</h5>
<ul>
<li>POST</li>
</ul>
<h5>请求参数<code>@RequestBody</code></h5>
<pre><code>public class DeviceRoleGradeConfigDTO {
@NotBlank(message = "deviceId不能为空")
private String deviceId;
@NotNull(message = "gradeId不能为空")
private Long gradeId;
@Valid
@Size(min = 1)
@NotEmpty(message = "gradeDetail不能为空")
private List<List<RuleGradeDetailDTO>> gradeDetail;
@NotBlank(message = "grade不能为空")
private String grade;
@NotNull(message = "validFrom不能为空")
@JsonFormat(pattern = "yyyy-MM-dd")
private Date validFrom;
@NotNull(message = "validTo不能为空")
@JsonFormat(pattern = "yyyy-MM-dd")
private Date validTo;</code></pre>
<h5>响应参数</h5>
<pre><code>无</code></pre>
<h4>5. 获取规则及分级配置api(老接口,增加响应字段)</h4>
<h5>path</h5>
<ul>
<li><code>/ruleBatch/1.0/getRuleBatchListByDeviceIds</code></li>
</ul>
<h5>请求方式</h5>
<ul>
<li>POST</li>
</ul>
<h5>请求参数<code>@RequestBody</code></h5>
<pre><code>无变化</code></pre>
<h5>响应参数</h5>
<pre><code>public class DeviceRuleListWrapVO {
// 规则列表
private List<DeviceRuleListVO> ruleList;
// 分级列表
private List<DeviceRuleGradeListVO> gradeList;</code></pre>
<pre><code>public class DeviceRuleListVO {
private Long id;
private String deviceType;
private String deviceId;
private Long ruleId;
private String name;
private String calculateModel;
private String group;
private DeviceRuleValidStatusEnum validStatus;
private CheckStatusEnum checkStatus;
@JsonFormat(pattern = "yyyy-MM-dd")
private LocalDateTime validFrom;
@JsonFormat(pattern = "yyyy-MM-dd")
private LocalDateTime validTo;</code></pre>
<pre><code>public class DeviceRuleGradeListVO {
private Long id;
private String name;
private String calculateModel;
@JsonFormat(pattern = "yyyy-MM-dd")
private LocalDateTime validFrom;
@JsonFormat(pattern = "yyyy-MM-dd")
private LocalDateTime validTo;
private CheckStatusEnum checkStatus;</code></pre>
<pre><code>public enum CheckStatusEnum {
/**
* 规则验证状态枚举
*/
NORMAL(0, "正常"),
EXCEPTION(1, "异常");</code></pre>
<pre><code>public enum DeviceRuleValidStatusEnum {
DISABLE("失效"),
ENABLE("生效"),
REVIEW("审核中"),
TEMP("暂存");</code></pre>
<h4>6. 删除规则分级api</h4>
<h5>path</h5>
<ul>
<li><code>/ruleBatch/1.0/ruleGrade</code></li>
</ul>
<h5>请求方式</h5>
<ul>
<li>DELETE</li>
</ul>
<h5>请求参数<code>@RequestBody</code></h5>
<pre><code>class DeleteRuleGadeDTO {
private String deviceId,
private Long gradeId
}</code></pre>
<h5>响应参数</h5>
<pre><code>无</code></pre>
<h4>7. 批处理列表页面api修改</h4>
<pre><code>1. 增加分级过滤请求字段: ruleGrades、engineeringRuleGrades
2. 增加分级结果响应字段:
/**
* - 分级结果
*/
private List<String> ruleGradeResults;
当ruleGradeResults数组元素大于1时,需要标红提示用户。</code></pre>