Browse Source

修改项目报警

xujiaheng 3 years ago
parent
commit
bcac453631

+ 10 - 1
src/main/java/com/persagy/apm/alarmservice/project/alarmrule/model/vo/ProjectAlarmRuleListItemVO.java

@@ -1,6 +1,6 @@
 package com.persagy.apm.alarmservice.project.alarmrule.model.vo;
 
-import com.persagy.apm.alarmservice.project.alarmruleobjrel.model.ProjectAlarmRuleObjRel;
+import com.persagy.apm.alarmservice.project.alarmcondition.model.vo.AlarmConditionListItemVO;
 import com.persagy.apm.alarmservice.project.alarmruleobjrel.model.vo.ProjectAlarmRuleObjRelVO;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
@@ -10,6 +10,8 @@ import java.util.List;
 
 import com.fasterxml.jackson.annotation.JsonInclude;
 
+import javax.validation.constraints.NotNull;
+
 /**
  * @author lixing
  * @version V1.0 2021-09-08 22:46:16
@@ -26,6 +28,9 @@ public class ProjectAlarmRuleListItemVO {
     
     @ApiModelProperty("报警条目编码")
     private String alarmItemCode;
+
+    @ApiModelProperty("报警条目名称")
+    private String alarmItemName;
     
     @ApiModelProperty("报警条件id")
     private String alarmConditionId;
@@ -51,4 +56,8 @@ public class ProjectAlarmRuleListItemVO {
     @ApiModelProperty("报警对象")
     private List<ProjectAlarmRuleObjRelVO> relListItemList;
 
+    @ApiModelProperty(value = "报警规则", required = true)
+    @NotNull(message = "报警规则不能为空") // todo 更新校验规则
+    private AlarmConditionListItemVO alarmCondition;
+
 }

+ 38 - 17
src/main/resources/mapper/ProjectAlarmRuleMapper.xml

@@ -1,10 +1,12 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.persagy.apm.alarmservice.project.alarmrule.dao.ProjectAlarmRuleMapper">
-    <resultMap id="ProjectAlarmRuleMap" type="com.persagy.apm.alarmservice.project.alarmrule.model.vo.ProjectAlarmRuleListItemVO">
+    <resultMap id="ProjectAlarmRuleMap"
+               type="com.persagy.apm.alarmservice.project.alarmrule.model.vo.ProjectAlarmRuleListItemVO">
         <result column="id" property="id"/>
         <result column="group_id" property="groupId"/>
         <result column="alarm_item_code" property="alarmItemCode"/>
+        <result column="alarm_item_name" property="alarmItemName"/>
         <result column="alarm_condition_id" property="alarmConditionId"/>
         <result column="belong" property="belong"/>
         <result column="project_id" property="projectId"/>
@@ -12,11 +14,24 @@
         <result column="creation_time" property="creationTime"/>
         <result column="modifier" property="modifier"/>
         <result column="modified_time" property="modifiedTime"/>
-        <collection property="relListItemList" ofType="com.persagy.apm.alarmservice.project.alarmruleobjrel.model.vo.ProjectAlarmRuleObjRelVO">
+        <collection property="relListItemList"
+                    ofType="com.persagy.apm.alarmservice.project.alarmruleobjrel.model.vo.ProjectAlarmRuleObjRelVO">
             <result column="obj_id" property="equipId"/>
             <result column="obj_name" property="equipName"/>
             <result column="open" property="open"/>
         </collection>
+        <collection property="alarmCondition"
+                    ofType="com.persagy.apm.alarmservice.project.alarmcondition.model.vo.AlarmConditionListItemVO">
+            <result column="info_codes" property="infoCodes"
+                    typeHandler="com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler"/>
+            <result column="frontend" property="frontend"
+                    typeHandler="com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler"/>
+            <result column="backend" property="backend"
+                    typeHandler="com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler"/>
+            <result column="trigger_uphold" property="triggerUphold"/>
+            <result column="alarm_level" property="alarmLevel"/>
+        </collection>
+
     </resultMap>
 
     <select id="queryCount" resultType="java.lang.Integer">
@@ -31,27 +46,33 @@
     </select>
     <select id="queryList" resultMap="ProjectAlarmRuleMap">
         select a.id,
-               a.group_id,
-               a.alarm_item_code,
-               a.alarm_condition_id,
-               a.belong,
-               a.project_id,
-               a.creator,
-               a.creation_time,
-               a.modified_time,
-               a.modifier,
-               b.obj_id,
-               b.obj_name,
-               b.open
+        a.group_id,
+        a.alarm_item_code,
+        a.alarm_item_name,
+        a.alarm_condition_id,
+        a.belong,
+        a.project_id,
+        a.creator,
+        a.creation_time,
+        a.modified_time,
+        a.modifier,
+        b.obj_id,
+        b.obj_name,
+        b.open,
+        c.alarm_level,
+        c.backend,c.frontend,c.info_codes,c.trigger_uphold
         from project_alarm_rule a
-                 left join project_alarm_rule_obj_rel b on a.id = b.project_alarm_rule_id
+        left join project_alarm_rule_obj_rel b on a.id = b.project_alarm_rule_id
+        left join alarm_condition c on a.alarm_condition_id = c.id
         where a.group_id = #{groupId}
-          and a.alarm_item_code = #{alarmItemCode}
+        <if test="alarmItemCode != null and alarmItemCode != ''">
+            and a.alarm_item_code = #{alarmItemCode}
+        </if>
         <if test="equipName != null and equipName != ''">
             and b.obj_name like '%${equipName}%'
         </if>
         order by a.creation_time
-            limit #{startIndex},#{size}
+        limit #{startIndex},#{size}
     </select>
 </mapper>