xujiaheng пре 3 година
родитељ
комит
0678b51803

+ 5 - 0
src/main/java/com/persagy/apm/alarmservice/project/alarmrule/controller/ProjectAlarmRuleController.java

@@ -118,6 +118,11 @@ public class ProjectAlarmRuleController {
         pageQueryProjectAlarmRuleDTO.setStartIndex((page - 1) * size);
         int count = projectAlarmRuleMapper.queryCount(pageQueryProjectAlarmRuleDTO);
         List<ProjectAlarmRuleListItemVO> projectAlarmRuleListItemVOS = projectAlarmRuleMapper.queryList(pageQueryProjectAlarmRuleDTO);
+        for (ProjectAlarmRuleListItemVO projectAlarmRuleListItemVO : projectAlarmRuleListItemVOS) {
+            List<ProjectAlarmRuleObjRel> query = projectAlarmRuleObjRelService.query(projectAlarmRuleListItemVO.getId());
+            projectAlarmRuleListItemVO.setRelListItemList(query);
+        }
+
         return ResultHelper.multi(projectAlarmRuleListItemVOS, count);
 
 

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

@@ -1,6 +1,7 @@
 package com.persagy.apm.alarmservice.project.alarmrule.model.vo;
 
 import com.persagy.apm.alarmservice.project.alarmcondition.model.vo.AlarmConditionListItemVO;
+import com.persagy.apm.alarmservice.project.alarmruleobjrel.model.ProjectAlarmRuleObjRel;
 import com.persagy.apm.alarmservice.project.alarmruleobjrel.model.vo.ProjectAlarmRuleObjRelVO;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
@@ -54,7 +55,7 @@ public class ProjectAlarmRuleListItemVO {
     private Date modifiedTime;
 
     @ApiModelProperty("报警对象")
-    private List<ProjectAlarmRuleObjRelVO> relListItemList;
+    private List<ProjectAlarmRuleObjRel> relListItemList;
 
     @ApiModelProperty(value = "报警规则", required = true)
     @NotNull(message = "报警规则不能为空") // todo 更新校验规则

+ 4 - 0
src/main/java/com/persagy/apm/alarmservice/project/alarmruleobjrel/service/IProjectAlarmRuleObjRelService.java

@@ -85,4 +85,8 @@ public interface IProjectAlarmRuleObjRelService  {
     List<ProjectAlarmRuleObjRel> queryShieldManage(QueryShieldManageDTO queryShieldManageDTO);
 
     List<ProjectAlarmRuleObjRelVO> queryRuleObjRel(QueryRuleObjRelDTO queryRuleObjRelDTO);
+
+    List<ProjectAlarmRuleObjRel> query(String projectId);
+
+    List<ProjectAlarmRuleObjRel> queryObjRelList(List<String> strings);
 }

+ 9 - 4
src/main/java/com/persagy/apm/alarmservice/project/alarmruleobjrel/service/impl/ProjectAlarmRuleObjRelServiceImpl.java

@@ -8,8 +8,6 @@ import com.google.common.base.CaseFormat;
 import com.persagy.apm.alarmservice.group.management.model.equip.dto.QueryEquipDTO;
 import com.persagy.apm.alarmservice.group.management.model.equip.vo.EquipItem;
 import com.persagy.apm.alarmservice.group.management.service.GroupManagementService;
-import com.persagy.apm.alarmservice.project.alarmrule.dao.ProjectAlarmRuleMapper;
-import com.persagy.apm.alarmservice.project.alarmrule.model.ProjectAlarmRule;
 import com.persagy.apm.alarmservice.project.alarmrule.service.IProjectAlarmRuleService;
 import com.persagy.apm.alarmservice.project.alarmruleobjrel.dao.ProjectAlarmRuleObjRelMapper;
 import com.persagy.apm.alarmservice.project.alarmruleobjrel.model.ConvertProjectAlarmRuleObjRelTool;
@@ -359,7 +357,7 @@ public class ProjectAlarmRuleObjRelServiceImpl extends ServiceImpl<ProjectAlarmR
         List<String> projectAlarmRuleIdList = projectAlarmRuleService.queryAlarmRule(queryRuleObjRelDTO);
         List<ProjectAlarmRuleObjRel> relationList = this.queryObjRelList(projectAlarmRuleIdList);
         Map<String, ProjectAlarmRuleObjRel> partitionMap = relationList.stream().collect(Collectors.toMap(
-                ProjectAlarmRuleObjRel::getObjId, equip -> equip));
+                ProjectAlarmRuleObjRel::getObjId, equip -> equip,(k1,k2)->k1));
         String condition = queryRuleObjRelDTO.getCondition();
         String classCode = queryRuleObjRelDTO.getClassCode();
         String projectId = queryRuleObjRelDTO.getProjectId();
@@ -380,7 +378,14 @@ public class ProjectAlarmRuleObjRelServiceImpl extends ServiceImpl<ProjectAlarmR
         return resultList;
     }
 
-    private List<ProjectAlarmRuleObjRel> queryObjRelList(List<String> projectAlarmRuleIdList) {
+    @Override
+    public List<ProjectAlarmRuleObjRel> query(String id) {
+        QueryWrapper<ProjectAlarmRuleObjRel> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq(ProjectAlarmRuleObjRel.PROP_PROJECT_ALARM_RULE_ID, id);
+        return list(queryWrapper);
+    }
+
+    public List<ProjectAlarmRuleObjRel> queryObjRelList(List<String> projectAlarmRuleIdList) {
         List<ProjectAlarmRuleObjRel> list = new ArrayList<>();
         for (String projectAlarmRuleId : projectAlarmRuleIdList) {
             QueryWrapper<ProjectAlarmRuleObjRel> queryWrapper = new QueryWrapper<>();

+ 0 - 11
src/main/resources/mapper/ProjectAlarmRuleMapper.xml

@@ -14,12 +14,6 @@
         <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">
-            <result column="obj_id" property="objId"/>
-            <result column="obj_name" property="objName"/>
-            <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"
@@ -37,7 +31,6 @@
     <select id="queryCount" resultType="java.lang.Integer">
         select count(*)
         from project_alarm_rule a
-        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.valid = 1
         <if test="alarmItemCode != null and alarmItemCode != ''">
@@ -59,13 +52,9 @@
         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 alarm_condition c on a.alarm_condition_id = c.id
         where a.group_id = #{groupId} and a.valid = 1
         <if test="alarmItemCode != null and alarmItemCode != ''">