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

+ 4 - 1
src/main/java/com/persagy/apm/alarmservice/alarmcondition/controller/AlarmConditionController.java

@@ -26,12 +26,12 @@ import java.util.List;
 @Validated
 @RestController
 @RequestMapping("alarmConditions")
-@ApiIgnore
 public class AlarmConditionController {
     @Autowired
     private IAlarmConditionService alarmConditionService;
 
 	@ApiOperation(value = "创建报警条件")
+    @ApiIgnore
 	@PostMapping("/create")
 	public CommonResult<ApmResponseUpsertVO> createAlarmCondition(
 	        @Valid @RequestBody AddAlarmConditionDTO addAlarmConditionDTO) {
@@ -40,6 +40,7 @@ public class AlarmConditionController {
 	}
 	
 	@ApiOperation(value = "报警条件详情")
+    @ApiIgnore
     @PostMapping("/get")
     public CommonResult<AlarmConditionItemVO> queryAlarmConditionDetail(
             @Valid @RequestBody QueryAlarmConditionDetailDTO queryAlarmConditionDetailDTO) {
@@ -59,6 +60,7 @@ public class AlarmConditionController {
 
 
     @ApiOperation(value = "删除报警条件")
+    @ApiIgnore
     @PostMapping("/delete")
     public CommonResult deleteAlarmCondition(
             @RequestBody @Valid DeleteAlarmConditionDTO deleteAlarmConditionDTO) {
@@ -68,6 +70,7 @@ public class AlarmConditionController {
 
 
     @ApiOperation(value = "报警条件列表")
+    @ApiIgnore
     @PostMapping("/query")
     public CommonResult<PageList<AlarmConditionListItemVO>> queryAlarmCondition(
             @Valid @RequestBody QueryAlarmConditionDTO queryAlarmConditionDTO) {

+ 7 - 2
src/main/java/com/persagy/apm/alarmservice/alarmcondition/model/AlarmCondition.java

@@ -1,5 +1,7 @@
 package com.persagy.apm.alarmservice.alarmcondition.model;
 
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -20,12 +22,15 @@ import java.util.Date;
 public class AlarmCondition extends AuditableEntity<AlarmCondition> implements Serializable {
     private static final long serialVersionUID = 268657175929005281L;
 
+    @TableField(typeHandler = FastjsonTypeHandler.class)
     @ApiModelProperty("包含的参数")
     private Object infoCodes;
-    
+
+    @TableField(typeHandler = FastjsonTypeHandler.class)
     @ApiModelProperty("前端展示")
     private Object frontend;
-    
+
+    @TableField(typeHandler = FastjsonTypeHandler.class)
     @ApiModelProperty("后端使用")
     private Object backend;
     

+ 2 - 2
src/main/java/com/persagy/apm/alarmservice/alarmcondition/model/dto/AddAlarmConditionDTO.java

@@ -17,7 +17,7 @@ import java.util.Map;
 @ApiModel(value = "创建报警条件入参")
 public class AddAlarmConditionDTO {
     @ApiModelProperty(value = "包含的参数", required = true)
-    @NotNull(message = "包含的参数不能为空") // todo 更新校验规则
+    //@NotNull(message = "包含的参数不能为空") // todo 更新校验规则
     private Map<String,String> infoCodes;
     
     @ApiModelProperty(value = "报警触发规则", required = true)
@@ -25,7 +25,7 @@ public class AddAlarmConditionDTO {
     private List<List<CalculateMethodDTO>> frontend;
 
     @ApiModelProperty(value = "后端使用", required = true)
-    @NotNull(message = "后端使用不能为空") // todo 更新校验规则
+    //@NotNull(message = "后端使用不能为空") // todo 更新校验规则
     private Object backend;
     
     @ApiModelProperty(value = "触发时长", required = true)

+ 5 - 2
src/main/java/com/persagy/apm/alarmservice/alarmcondition/model/dto/UpdateAlarmConditionDTO.java

@@ -1,10 +1,13 @@
 package com.persagy.apm.alarmservice.alarmcondition.model.dto;
 
+import com.persagy.apm.alarmservice.calculatemethod.model.dto.CalculateMethodDTO;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import javax.validation.constraints.NotNull;
 import lombok.Data;
 import java.util.Date;
+import java.util.List;
+import java.util.Map;
 
 /**
  * @author lixing
@@ -19,11 +22,11 @@ public class UpdateAlarmConditionDTO {
     
     @ApiModelProperty(value = "包含的参数", required = true)
     @NotNull(message = "包含的参数不能为空") // todo 更新校验规则
-    private Object infoCodes;
+    private Map<String, String> infoCodes;
     
     @ApiModelProperty(value = "前端展示", required = true)
     @NotNull(message = "前端展示不能为空") // todo 更新校验规则
-    private Object frontend;
+    private List<List<CalculateMethodDTO>> frontend;
     
     @ApiModelProperty(value = "后端使用", required = true)
     @NotNull(message = "后端使用不能为空") // todo 更新校验规则

+ 89 - 74
src/main/java/com/persagy/apm/alarmservice/alarmcondition/service/impl/AlarmConditionServiceImpl.java

@@ -24,6 +24,7 @@ import org.json.JSONArray;
 import org.springframework.stereotype.Service;
 import org.springframework.util.CollectionUtils;
 
+import java.util.Date;
 import java.util.List;
 import java.util.Map;
 
@@ -34,24 +35,25 @@ import java.util.Map;
  * @version V1.0 2021-09-08 22:30:38
  */
 @Service
-public class AlarmConditionServiceImpl extends ServiceImpl<AlarmConditionMapper, AlarmCondition> 
-    implements IAlarmConditionService {
-    
+public class AlarmConditionServiceImpl extends ServiceImpl<AlarmConditionMapper, AlarmCondition>
+        implements IAlarmConditionService {
+
     /**
-    * 创建报警条件
-    * @return 报警条件主键
-    * @author lixing
-    * @version V1.0 2021-09-08 22:30:38
-    */
+     * 创建报警条件
+     *
+     * @return 报警条件主键
+     * @author lixing
+     * @version V1.0 2021-09-08 22:30:38
+     */
     @Override
     public String createAlarmCondition(AddAlarmConditionDTO addAlarmConditionDTO) {
         AlarmCondition alarmCondition = ConvertAlarmConditionTool.INSTANCE.convertAddDto2Entity(addAlarmConditionDTO);
         List<List<CalculateMethodDTO>> frontend = addAlarmConditionDTO.getFrontend();
-        Map<String, String> infoCodes = addAlarmConditionDTO.getInfoCodes();
-        String frontJson = JSON.toJSONString(frontend);
-        alarmCondition.setFrontend(frontJson);
+        addAlarmConditionDTO.getInfoCodes();
+        Object json = JSON.toJSON(frontend);
+        alarmCondition.setFrontend(json);
         //将前端公式转换成后台公式
-        String backend = frontend2Backend(frontend,infoCodes);
+        String backend = frontend2Backend(frontend);
         alarmCondition.setBackend(backend);
         // 设置默认值
         setDefaultValue(alarmCondition);
@@ -59,25 +61,24 @@ public class AlarmConditionServiceImpl extends ServiceImpl<AlarmConditionMapper,
         return alarmCondition.getId();
     }
 
-    private String frontend2Backend(List<List<CalculateMethodDTO>> frontend, Map<String, String> infoCodes) {
-
+    private String frontend2Backend(List<List<CalculateMethodDTO>> frontend) {
+        StringBuffer sb = new StringBuffer();
         for (List<CalculateMethodDTO> calculateMethodDTOS : frontend) {
-            StringBuffer sb = new StringBuffer();
-
+            StringBuffer calculateString = new StringBuffer();
             for (CalculateMethodDTO calculateMethodDTO : calculateMethodDTOS) {
-                StringBuffer calculateString = new StringBuffer();
                 calculateString.append("(")
                         .append(calculateMethodDTO.getMonitorIndicatorId())
-                .append(calculateMethodDTO.getOperator())
-                .append(calculateMethodDTO.getFormula()).append(") &&");
-                sb.append(calculateString);
+                        .append(calculateMethodDTO.getOperator())
+                        .append(calculateMethodDTO.getFormula()).append(")")
+                .append(" && ");
             }
-
+            sb.append(calculateString.substring(0,calculateString.length()-4)).append(" || ");
         }
+        String substring = sb.substring(0, sb.length() - 4);
 //        for (Map.Entry<String, String> entry : infoCodes.entrySet()) {
 //            calculateString.toString().replace(entry.getKey(),entry.getValue());
 //        }
-        return null;
+        return substring;
     }
 
     /**
@@ -89,18 +90,22 @@ public class AlarmConditionServiceImpl extends ServiceImpl<AlarmConditionMapper,
      */
     private void setDefaultValue(AlarmCondition alarmCondition) {
         alarmCondition.setCreator(PoemsContext.getContext().getUserId());
+        alarmCondition.setCreationTime(new Date());
+        alarmCondition.setModifiedTime(new Date());
+        alarmCondition.setModifier(PoemsContext.getContext().getUserId());
         alarmCondition.setId(DataUtils.getUUID());
         // todo 其他默认的属性
-        
+
     }
-    
+
     /**
-    * 报警条件详情
-    * @param id 主键
-    * @return 部门do类
-    * @author lixing
-    * @version V1.0 2021-09-08 22:30:38
-    */
+     * 报警条件详情
+     *
+     * @param id 主键
+     * @return 部门do类
+     * @author lixing
+     * @version V1.0 2021-09-08 22:30:38
+     */
     @Override
     public AlarmCondition queryAlarmConditionDetail(String id) {
         AlarmCondition alarmCondition = getById(id);
@@ -109,20 +114,28 @@ public class AlarmConditionServiceImpl extends ServiceImpl<AlarmConditionMapper,
         }
         return alarmCondition;
     }
-    
+
     /**
-    * 更新报警条件
-    * @author lixing
-    * @version V1.0 2021-09-08 22:30:38
-    */
+     * 更新报警条件
+     *
+     * @author lixing
+     * @version V1.0 2021-09-08 22:30:38
+     */
     @Override
     public void updateAlarmCondition(UpdateAlarmConditionDTO updateAlarmConditionDTO) {
         AlarmCondition alarmCondition = getById(updateAlarmConditionDTO.getId());
         alarmCondition = ConvertAlarmConditionTool.INSTANCE.convertUpdateDto2Entity(alarmCondition, updateAlarmConditionDTO);
         alarmCondition.setModifier(PoemsContext.getContext().getUserId());
+        List<List<CalculateMethodDTO>> frontend = updateAlarmConditionDTO.getFrontend();
+        //Map<String, String> infoCodes = updateAlarmConditionDTO.getInfoCodes();
+        String frontJson = JSON.toJSONString(frontend);
+        alarmCondition.setFrontend(frontJson);
+        //将前端公式转换成后台公式
+        String backend = frontend2Backend(frontend);
+        alarmCondition.setBackend(backend);
         updateById(alarmCondition);
     }
-    
+
     /**
      * 校验报警条件是否可删除
      *
@@ -144,109 +157,111 @@ public class AlarmConditionServiceImpl extends ServiceImpl<AlarmConditionMapper,
 
         return alarmCondition;
     }
-    
+
     /**
-    * 删除报警条件
-    * @param id 主键
-    * @author lixing
-    * @version V1.0 2021-09-08 22:30:38
-    */
+     * 删除报警条件
+     *
+     * @param id 主键
+     * @author lixing
+     * @version V1.0 2021-09-08 22:30:38
+     */
     @Override
     public void deleteAlarmCondition(String id) {
         // 校验是否可删除
         AlarmCondition alarmCondition = checkDeletable(id);
-
         alarmCondition.setValid(ValidEnum.FALSE.getType());
         updateById(alarmCondition);
     }
-    
+
     /**
-    * 查询报警条件
-    * @return List<AlarmCondition>
-    * @author lixing
-    * @version V1.0 2021-09-08 22:30:38
-    */
+     * 查询报警条件
+     *
+     * @return List<AlarmCondition>
+     * @author lixing
+     * @version V1.0 2021-09-08 22:30:38
+     */
     @Override
     public List<AlarmCondition> queryAlarmConditionList(QueryAlarmConditionDTO queryAlarmConditionDTO) {
         QueryWrapper<AlarmCondition> queryWrapper = new QueryWrapper<>();
         queryWrapper.eq(AlarmCondition.PROP_VALID, ValidEnum.TRUE.getType());
         // 默认按创建时间倒序排序
         queryWrapper.orderBy(true, false, AlarmCondition.PROP_CREATIONTIME);
-        
+
         if (queryAlarmConditionDTO != null) {
-                                    
+
             if (queryAlarmConditionDTO.getInfoCodes() != null) {
                 queryWrapper.eq(AlarmCondition.PROP_INFO_CODES, queryAlarmConditionDTO.getInfoCodes());
             }
-                                            
+
             if (queryAlarmConditionDTO.getFrontend() != null) {
                 queryWrapper.eq(AlarmCondition.PROP_FRONTEND, queryAlarmConditionDTO.getFrontend());
             }
-                                            
+
             if (queryAlarmConditionDTO.getBackend() != null) {
                 queryWrapper.eq(AlarmCondition.PROP_BACKEND, queryAlarmConditionDTO.getBackend());
             }
-                                            
+
             if (queryAlarmConditionDTO.getTriggerUphold() != null) {
                 queryWrapper.eq(AlarmCondition.PROP_TRIGGER_UPHOLD, queryAlarmConditionDTO.getTriggerUphold());
             }
-                                        
+
             // todo 需判断使用like还是eq
             if (StringUtils.isNotEmpty(queryAlarmConditionDTO.getAlarmLevel())) {
                 queryWrapper.like(AlarmCondition.PROP_ALARM_LEVEL, queryAlarmConditionDTO.getAlarmLevel());
             }
-                                            
+
         }
-        
+
         return list(queryWrapper);
     }
-    
+
     /**
-    * 分页查询报警条件
-    * @return IPage<AlarmCondition>
-    * @author lixing
-    * @version V1.0 2021-09-08 22:30:38
-    */
+     * 分页查询报警条件
+     *
+     * @return IPage<AlarmCondition>
+     * @author lixing
+     * @version V1.0 2021-09-08 22:30:38
+     */
     @Override
     public IPage<AlarmCondition> pageQueryAlarmCondition(PageQueryAlarmConditionDTO pageQueryAlarmConditionDTO) {
         QueryWrapper<AlarmCondition> queryWrapper = new QueryWrapper<>();
         queryWrapper.eq(AlarmCondition.PROP_VALID, ValidEnum.TRUE.getType());
         // 这里认为pageQueryDTO是经过校验的,肯定包含分页信息
-        IPage<AlarmCondition> pageParam = new Page<>(pageQueryAlarmConditionDTO.getPage(), pageQueryAlarmConditionDTO.getSize(),true);
+        IPage<AlarmCondition> pageParam = new Page<>(pageQueryAlarmConditionDTO.getPage(), pageQueryAlarmConditionDTO.getSize(), true);
         // 排序信息
-        if(CollectionUtils.isEmpty(pageQueryAlarmConditionDTO.getOrders())){
+        if (CollectionUtils.isEmpty(pageQueryAlarmConditionDTO.getOrders())) {
             // 默认按创建时间倒序排序
             queryWrapper.orderBy(true, false, AlarmCondition.PROP_CREATIONTIME);
-        }else {
+        } else {
             List<Sort> orders = pageQueryAlarmConditionDTO.getOrders();
-            for(Sort sort: orders) {
+            for (Sort sort : orders) {
                 // 将驼峰转换为下划线格式
-                sort.setColumn(CaseFormat.LOWER_CAMEL.to(CaseFormat.LOWER_UNDERSCORE,sort.getColumn()));
+                sort.setColumn(CaseFormat.LOWER_CAMEL.to(CaseFormat.LOWER_UNDERSCORE, sort.getColumn()));
                 queryWrapper.orderBy(true, sort.isAsc(), sort.getColumn());
             }
         }
-                
+
         if (pageQueryAlarmConditionDTO.getInfoCodes() != null) {
             queryWrapper.eq(AlarmCondition.PROP_INFO_CODES, pageQueryAlarmConditionDTO.getInfoCodes());
         }
-                            
+
         if (pageQueryAlarmConditionDTO.getFrontend() != null) {
             queryWrapper.eq(AlarmCondition.PROP_FRONTEND, pageQueryAlarmConditionDTO.getFrontend());
         }
-                            
+
         if (pageQueryAlarmConditionDTO.getBackend() != null) {
             queryWrapper.eq(AlarmCondition.PROP_BACKEND, pageQueryAlarmConditionDTO.getBackend());
         }
-                            
+
         if (pageQueryAlarmConditionDTO.getTriggerUphold() != null) {
             queryWrapper.eq(AlarmCondition.PROP_TRIGGER_UPHOLD, pageQueryAlarmConditionDTO.getTriggerUphold());
         }
-                            
+
         // todo 需判断使用like还是eq
         if (StringUtils.isNotEmpty(pageQueryAlarmConditionDTO.getAlarmLevel())) {
             queryWrapper.like(AlarmCondition.PROP_ALARM_LEVEL, pageQueryAlarmConditionDTO.getAlarmLevel());
         }
-                                    
+
         return getBaseMapper().selectPage(pageParam, queryWrapper);
     }
 }

+ 13 - 3
src/main/java/com/persagy/apm/alarmservice/group/alarmrule/controller/GroupAlarmRuleController.java

@@ -1,5 +1,7 @@
 package com.persagy.apm.alarmservice.group.alarmrule.controller;
 
+import com.persagy.apm.alarmservice.alarmcondition.service.IAlarmConditionService;
+import com.persagy.apm.alarmservice.group.alarmrule.dao.GroupAlarmRuleMapper;
 import com.persagy.apm.alarmservice.group.alarmrule.service.IGroupAlarmRuleService;
 
 import org.springframework.beans.factory.annotation.Autowired;
@@ -13,6 +15,8 @@ import com.persagy.apm.common.response.*;
 import com.persagy.apm.common.utils.ResultHelper;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
+import springfox.documentation.annotations.ApiIgnore;
+
 import javax.validation.Valid;
 import java.util.List;
 
@@ -28,6 +32,10 @@ import java.util.List;
 public class GroupAlarmRuleController {
     @Autowired
     private IGroupAlarmRuleService groupAlarmRuleService;
+    @Autowired
+    private GroupAlarmRuleMapper groupAlarmRuleMapper;
+    @Autowired
+    private IAlarmConditionService alarmConditionService;
 
 	@ApiOperation(value = "创建集团报警规则")
 	@PostMapping("/create")
@@ -39,6 +47,7 @@ public class GroupAlarmRuleController {
 	
 	@ApiOperation(value = "集团报警规则详情")
     @PostMapping("/get")
+    @ApiIgnore
     public CommonResult<GroupAlarmRuleItemVO> queryGroupAlarmRuleDetail(
             @Valid @RequestBody QueryGroupAlarmRuleDetailDTO queryGroupAlarmRuleDetailDTO) {
         GroupAlarmRule groupAlarmRule = groupAlarmRuleService.queryGroupAlarmRuleDetail(queryGroupAlarmRuleDetailDTO.getId());
@@ -49,6 +58,7 @@ public class GroupAlarmRuleController {
 
     @ApiOperation(value = "更新集团报警规则")
     @PostMapping("/update")
+    @ApiIgnore
     public CommonResult<ApmResponseUpsertVO> updateGroupAlarmRule(
             @Valid @RequestBody UpdateGroupAlarmRuleDTO updateGroupAlarmRuleDTO) {
         groupAlarmRuleService.updateGroupAlarmRule(updateGroupAlarmRuleDTO);
@@ -61,6 +71,7 @@ public class GroupAlarmRuleController {
     public CommonResult deleteGroupAlarmRule(
             @RequestBody @Valid DeleteGroupAlarmRuleDTO deleteGroupAlarmRuleDTO) {
         groupAlarmRuleService.deleteGroupAlarmRule(deleteGroupAlarmRuleDTO.getId());
+        alarmConditionService.deleteAlarmCondition(deleteGroupAlarmRuleDTO.getAlarmConditionId());
         return ResultHelper.success();
     }
 
@@ -69,9 +80,8 @@ public class GroupAlarmRuleController {
     @PostMapping("/query")
     public CommonResult<PageList<GroupAlarmRuleListItemVO>> queryGroupAlarmRule(
             @Valid @RequestBody QueryGroupAlarmRuleDTO queryGroupAlarmRuleDTO) {
-        List<GroupAlarmRule> groupAlarmRuleList = groupAlarmRuleService.queryGroupAlarmRuleList(queryGroupAlarmRuleDTO);
-        List<GroupAlarmRuleListItemVO> resultList = ConvertGroupAlarmRuleTool.INSTANCE.convert2List(groupAlarmRuleList);
-        return ResultHelper.multi(resultList);
+        List<GroupAlarmRuleListItemVO> groupAlarmRuleList = groupAlarmRuleMapper.queryList(queryGroupAlarmRuleDTO);
+        return ResultHelper.multi(groupAlarmRuleList);
     }
     
     //@ApiOperation(value = "集团报警规则列表, 分页查询")

+ 5 - 0
src/main/java/com/persagy/apm/alarmservice/group/alarmrule/dao/GroupAlarmRuleMapper.java

@@ -2,8 +2,12 @@ package com.persagy.apm.alarmservice.group.alarmrule.dao;
 
 import com.persagy.apm.alarmservice.group.alarmrule.model.GroupAlarmRule;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.persagy.apm.alarmservice.group.alarmrule.model.dto.QueryGroupAlarmRuleDTO;
+import com.persagy.apm.alarmservice.group.alarmrule.model.vo.GroupAlarmRuleListItemVO;
 import org.apache.ibatis.annotations.Mapper;
 
+import java.util.List;
+
 /**
  * 集团报警规则(GroupAlarmRule)dao层
  * @author lixing
@@ -12,4 +16,5 @@ import org.apache.ibatis.annotations.Mapper;
 @Mapper
 public interface GroupAlarmRuleMapper extends BaseMapper<GroupAlarmRule>{
 
+    List<GroupAlarmRuleListItemVO> queryList(QueryGroupAlarmRuleDTO queryGroupAlarmRuleDTO);
 }

+ 4 - 1
src/main/java/com/persagy/apm/alarmservice/group/alarmrule/model/dto/DeleteGroupAlarmRuleDTO.java

@@ -15,5 +15,8 @@ public class DeleteGroupAlarmRuleDTO {
     @NotNull(message = "id不能为空")
     @ApiModelProperty(value = "主键", required = true)
     private String id;
-    
+
+    @ApiModelProperty(value = "报警条件id", required = true)
+    @NotNull(message = "报警条件id不能为空") // todo 更新校验规则
+    private String alarmConditionId;
 }

+ 1 - 4
src/main/java/com/persagy/apm/alarmservice/group/alarmrule/model/dto/QueryGroupAlarmRuleDTO.java

@@ -15,10 +15,7 @@ public class QueryGroupAlarmRuleDTO {
     @ApiModelProperty(value = "分组id", required = true)
     private String groupId;
     
-    @ApiModelProperty(value = "报警条目编码", required = true)
+    @ApiModelProperty(value = "报警类型编码", required = true)
     private String alarmItemCode;
     
-    @ApiModelProperty(value = "报警条件id", required = true)
-    private String alarmConditionId;
-    
 }

+ 1 - 1
src/main/java/com/persagy/apm/alarmservice/group/alarmrule/model/vo/GroupAlarmRuleListItemVO.java

@@ -25,7 +25,7 @@ public class GroupAlarmRuleListItemVO {
     private String alarmItemCode;
     
     @ApiModelProperty("报警条件")
-    private AlarmConditionListItemVO alarmConditionList;
+    private AlarmConditionListItemVO alarmCondition;
     
     @ApiModelProperty("创建人")
     private String creator;

+ 2 - 0
src/main/java/com/persagy/apm/alarmservice/group/alarmrule/service/IGroupAlarmRuleService.java

@@ -4,6 +4,7 @@ import com.persagy.apm.alarmservice.group.alarmrule.model.*;
 import com.persagy.apm.alarmservice.group.alarmrule.model.dto.*;
 import java.util.List;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.persagy.apm.alarmservice.group.alarmrule.model.vo.GroupAlarmRuleListItemVO;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 
@@ -72,4 +73,5 @@ public interface IGroupAlarmRuleService  {
     * @version V1.0 2021-09-08 22:35:45
     */
     public IPage<GroupAlarmRule> pageQueryGroupAlarmRule(PageQueryGroupAlarmRuleDTO pageQueryGroupAlarmRuleDTO);
+
 }

+ 0 - 8
src/main/java/com/persagy/apm/alarmservice/group/alarmrule/service/impl/GroupAlarmRuleServiceImpl.java

@@ -125,7 +125,6 @@ public class GroupAlarmRuleServiceImpl extends ServiceImpl<GroupAlarmRuleMapper,
     public void deleteGroupAlarmRule(String id) {
         // 校验是否可删除
         GroupAlarmRule groupAlarmRule = checkDeletable(id);
-
         groupAlarmRule.setValid(ValidEnum.FALSE.getType());
         updateById(groupAlarmRule);
     }
@@ -154,14 +153,7 @@ public class GroupAlarmRuleServiceImpl extends ServiceImpl<GroupAlarmRuleMapper,
             if (StringUtils.isNotEmpty(queryGroupAlarmRuleDTO.getAlarmItemCode())) {
                 queryWrapper.like(GroupAlarmRule.PROP_ALARM_ITEM_CODE, queryGroupAlarmRuleDTO.getAlarmItemCode());
             }
-                                        
-            // todo 需判断使用like还是eq
-            if (StringUtils.isNotEmpty(queryGroupAlarmRuleDTO.getAlarmConditionId())) {
-                queryWrapper.like(GroupAlarmRule.PROP_ALARM_CONDITION_ID, queryGroupAlarmRuleDTO.getAlarmConditionId());
-            }
-                                            
         }
-        
         return list(queryWrapper);
     }
     

+ 41 - 12
src/main/resources/mapper/GroupAlarmRuleMapper.xml

@@ -1,17 +1,46 @@
 <?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.group.alarmrule.dao.GroupAlarmRuleMapper">
-    <resultMap id="GroupAlarmRuleMap" type="com.persagy.apm.alarmservice.group.alarmrule.model.GroupAlarmRule">
-		<result column="id" property="id" />
-		<result column="group_id" property="groupId" />
-		<result column="alarm_item_code" property="alarmItemCode" />
-		<result column="alarm_condition_id" property="alarmConditionId" />
-		<result column="ts" property="ts" />
-		<result column="creator" property="creator" />
-		<result column="creation_time" property="creationTime" />
-		<result column="modifier" property="modifier" />
-		<result column="modified_time" property="modifiedTime" />
-		<result column="valid" property="valid" />
-	</resultMap>
+    <resultMap id="GroupAlarmRuleMap"
+               type="com.persagy.apm.alarmservice.group.alarmrule.model.vo.GroupAlarmRuleListItemVO">
+        <result column="id" property="id"/>
+        <result column="group_id" property="groupId"/>
+        <result column="alarm_item_code" property="alarmItemCode"/>
+        <result column="creator" property="creator"/>
+        <result column="creation_time" property="creationTime"/>
+        <result column="modifier" property="modifier"/>
+        <result column="modified_time" property="modifiedTime"/>
+        <collection property="alarmCondition"
+                    ofType="com.persagy.apm.alarmservice.alarmcondition.model.vo.AlarmConditionListItemVO">
+            <result column="cid" property="id"/>
+            <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="queryList"
+            resultType="com.persagy.apm.alarmservice.group.alarmrule.model.vo.GroupAlarmRuleListItemVO">
+        select a.id,
+               a.group_id,
+               a.alarm_item_code,
+               a.creator,
+               a.creation_time,
+               a.modifier,
+               a.modified_time,
+               b.id as cid,
+               b.info_codes,
+               b.frontend,
+               b.backend,
+               b.trigger_uphold,
+               b.alarm_level
+        from group_alarm_rule a
+                 left join alarm_condition b on a.alarm_condition_id = b.id
+        where a.group_id = #{groupId}
+        <if test="alarmItemCode != null">
+            and a.alarm_item_code = #{alarmItemCode}
+        </if>
+    </select>
 </mapper>