|  | @@ -1,9 +1,11 @@
 | 
	
		
			
				|  |  |  package cn.com.ctop.alarm.modules.controller;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  import cn.com.ctop.alarm.modules.entity.RuleGroup;
 | 
	
		
			
				|  |  | +import cn.com.ctop.alarm.modules.entity.RuleTemplate;
 | 
	
		
			
				|  |  |  import cn.com.ctop.alarm.modules.service.IRuleAccountThresholdService;
 | 
	
		
			
				|  |  |  import cn.com.ctop.alarm.modules.service.IRuleBaseService;
 | 
	
		
			
				|  |  |  import cn.com.ctop.alarm.modules.service.IRuleGroupService;
 | 
	
		
			
				|  |  | +import cn.com.ctop.alarm.modules.service.IRuleTemplateService;
 | 
	
		
			
				|  |  |  import cn.com.ctop.common.module.annotation.AutoLog;
 | 
	
		
			
				|  |  |  import cn.com.ctop.common.module.utils.Check;
 | 
	
		
			
				|  |  |  import com.alibaba.fastjson.JSON;
 | 
	
	
		
			
				|  | @@ -34,10 +36,7 @@ import javax.servlet.http.HttpServletResponse;
 | 
	
		
			
				|  |  |  import java.io.IOException;
 | 
	
		
			
				|  |  |  import java.io.UnsupportedEncodingException;
 | 
	
		
			
				|  |  |  import java.net.URLDecoder;
 | 
	
		
			
				|  |  | -import java.util.Arrays;
 | 
	
		
			
				|  |  | -import java.util.HashMap;
 | 
	
		
			
				|  |  | -import java.util.List;
 | 
	
		
			
				|  |  | -import java.util.Map;
 | 
	
		
			
				|  |  | +import java.util.*;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  /**
 | 
	
		
			
				|  |  |   * 规则组
 | 
	
	
		
			
				|  | @@ -57,6 +56,8 @@ public class RuleGroupController {
 | 
	
		
			
				|  |  |      private IRuleBaseService ruleBaseService;
 | 
	
		
			
				|  |  |      @Autowired
 | 
	
		
			
				|  |  |      private IRuleAccountThresholdService ruleAccountThresholdService;
 | 
	
		
			
				|  |  | +    @Autowired
 | 
	
		
			
				|  |  | +    private IRuleTemplateService ruleTemplateService;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      /**
 | 
	
	
		
			
				|  | @@ -92,6 +93,50 @@ public class RuleGroupController {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      /**
 | 
	
		
			
				|  |  | +     * 通过id删除
 | 
	
		
			
				|  |  | +     *
 | 
	
		
			
				|  |  | +     * @param id
 | 
	
		
			
				|  |  | +     * @return
 | 
	
		
			
				|  |  | +     */
 | 
	
		
			
				|  |  | +    @AutoLog(value = "规则组-通过id删除")
 | 
	
		
			
				|  |  | +    @ApiOperation(value = "规则组-通过id删除", notes = "规则组-通过id删除")
 | 
	
		
			
				|  |  | +    @DeleteMapping(value = "/delete")
 | 
	
		
			
				|  |  | +    public Result<?> delete(@RequestParam(name = "id", required = true) String id) {
 | 
	
		
			
				|  |  | +        try {
 | 
	
		
			
				|  |  | +            RuleGroup ruleGroup = ruleGroupService.getById(id);
 | 
	
		
			
				|  |  | +            if (!Check.isNull(ruleGroup)) {
 | 
	
		
			
				|  |  | +                JSONArray ruleIds = JSONArray.parseArray(ruleGroup.getRuleIds());
 | 
	
		
			
				|  |  | +                for (int i = 0; i < ruleIds.size(); i++) {
 | 
	
		
			
				|  |  | +                    Long ruleId = ruleIds.getLong(i);
 | 
	
		
			
				|  |  | +                    ruleBaseService.removeById(ruleId);
 | 
	
		
			
				|  |  | +                    Map<String, Object> deleteMap = new HashMap<>();
 | 
	
		
			
				|  |  | +                    deleteMap.put("rule_id", ruleId);
 | 
	
		
			
				|  |  | +                    ruleAccountThresholdService.removeByMap(deleteMap);
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +                Long templateId = ruleGroup.getTemplateId();
 | 
	
		
			
				|  |  | +                RuleTemplate ruleTemplate = ruleTemplateService.getById(templateId);
 | 
	
		
			
				|  |  | +                if (!Check.isNull(ruleTemplate)) {
 | 
	
		
			
				|  |  | +                    JSONArray groupIds = JSONArray.parseArray(ruleTemplate.getGroupIds());
 | 
	
		
			
				|  |  | +                    Iterator<Object> o = groupIds.iterator();
 | 
	
		
			
				|  |  | +                    while (o.hasNext()) {
 | 
	
		
			
				|  |  | +                        Long groupId = (Long) o.next();
 | 
	
		
			
				|  |  | +                        if (groupId.equals(id)) {
 | 
	
		
			
				|  |  | +                            o.remove();
 | 
	
		
			
				|  |  | +                        }
 | 
	
		
			
				|  |  | +                    }
 | 
	
		
			
				|  |  | +                    ruleTemplate.setGroupIds(groupIds.toJSONString());
 | 
	
		
			
				|  |  | +                    ruleTemplateService.updateById(ruleTemplate);
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +                ruleGroupService.removeById(id);
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +        } catch (Exception e) {
 | 
	
		
			
				|  |  | +            log.error("删除失败", e.getMessage());
 | 
	
		
			
				|  |  | +            return Result.error("删除失败!");
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        return Result.ok("删除成功!");
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    /**
 | 
	
		
			
				|  |  |       * 分页列表查询
 | 
	
		
			
				|  |  |       *
 | 
	
		
			
				|  |  |       * @param ruleGroup
 | 
	
	
		
			
				|  | @@ -161,37 +206,6 @@ public class RuleGroupController {
 | 
	
		
			
				|  |  |          return result;
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -    /**
 | 
	
		
			
				|  |  | -     * 通过id删除
 | 
	
		
			
				|  |  | -     *
 | 
	
		
			
				|  |  | -     * @param id
 | 
	
		
			
				|  |  | -     * @return
 | 
	
		
			
				|  |  | -     */
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -    @AutoLog(value = "规则组-通过id删除")
 | 
	
		
			
				|  |  | -    @ApiOperation(value = "规则组-通过id删除", notes = "规则组-通过id删除")
 | 
	
		
			
				|  |  | -    @DeleteMapping(value = "/delete")
 | 
	
		
			
				|  |  | -    public Result<?> delete(@RequestParam(name = "id", required = true) String id) {
 | 
	
		
			
				|  |  | -        try {
 | 
	
		
			
				|  |  | -            RuleGroup ruleGroup = ruleGroupService.getById(id);
 | 
	
		
			
				|  |  | -            if (!Check.isNull(ruleGroup)) {
 | 
	
		
			
				|  |  | -                JSONArray ruleIds = JSONArray.parseArray(ruleGroup.getRuleIds());
 | 
	
		
			
				|  |  | -                for (int i = 0; i < ruleIds.size(); i++) {
 | 
	
		
			
				|  |  | -                    Long ruleId = ruleIds.getLong(i);
 | 
	
		
			
				|  |  | -                    ruleBaseService.removeById(ruleId);
 | 
	
		
			
				|  |  | -                    Map<String, Object> deleteMap = new HashMap<>();
 | 
	
		
			
				|  |  | -                    deleteMap.put("rule_id", ruleId);
 | 
	
		
			
				|  |  | -                    ruleAccountThresholdService.removeByMap(deleteMap);
 | 
	
		
			
				|  |  | -                }
 | 
	
		
			
				|  |  | -                ruleGroupService.removeById(id);
 | 
	
		
			
				|  |  | -            }
 | 
	
		
			
				|  |  | -        } catch (Exception e) {
 | 
	
		
			
				|  |  | -            log.error("删除失败", e.getMessage());
 | 
	
		
			
				|  |  | -            return Result.error("删除失败!");
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -        return Result.ok("删除成功!");
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      /**
 | 
	
		
			
				|  |  |       * 批量删除
 |