浏览代码

增加清除缓存接口

shaohongbo 3 年之前
父节点
当前提交
f40ef29b10

+ 15 - 0
src/main/java/com/persagy/apm/diagnose/indicatorrecord/controller/MonitorIndicatorRecordController.java

@@ -94,5 +94,20 @@ public class MonitorIndicatorRecordController {
 //        });
 //        return ResultHelper.multi(pagedResultList);
 //    }
+
+
+    @ApiOperation(value = "清除报警定义缓存")
+    @PostMapping("/cleanAlarmConfig")
+    public CommonResult cleanAlarmConfig(@Valid @RequestBody CleanAlarmConfigDTO CleanAlarmConfigDTO) {
+        monitorIndicatorRecordService.cleanAlarmConfig(CleanAlarmConfigDTO.getProjectId());
+        return ResultHelper.success();
+    }
+
+    @ApiOperation(value = "清除发数时间记录缓存")
+    @PostMapping("/cleanAlarmConfigSendTime")
+    public CommonResult cleanAlarmConfigSendTime(@Valid @RequestBody CleanAlarmConfigDTO cleanAlarmConfigDTO) {
+        monitorIndicatorRecordService.cleanAlarmConfigSendTime(cleanAlarmConfigDTO);
+        return ResultHelper.success();
+    }
 }
 

+ 72 - 53
src/main/java/com/persagy/apm/diagnose/indicatorrecord/service/IMonitorIndicatorRecordService.java

@@ -3,6 +3,7 @@ package com.persagy.apm.diagnose.indicatorrecord.service;
 import com.persagy.apm.diagnose.indicatorcompute.model.ProjectIndicatorCompute;
 import com.persagy.apm.diagnose.indicatorrecord.model.*;
 import com.persagy.apm.diagnose.indicatorrecord.model.dto.*;
+
 import java.util.List;
 import java.util.concurrent.CountDownLatch;
 import java.util.concurrent.Future;
@@ -18,81 +19,82 @@ import io.swagger.annotations.ApiOperation;
  * @author lixing
  * @version V1.0 2021-09-10 00:13:27
  */
-public interface IMonitorIndicatorRecordService  {
-    
+public interface IMonitorIndicatorRecordService {
+
     /**
-    * 创建监测指标历史记录
-    *
-    * @param addMonitorIndicatorRecordDTO addDTO
-    * @return 监测指标历史记录主键
-    * @author lixing
-    * @version V1.0 2021-09-10 00:13:27
-    */
+     * 创建监测指标历史记录
+     *
+     * @param addMonitorIndicatorRecordDTO addDTO
+     * @return 监测指标历史记录主键
+     * @author lixing
+     * @version V1.0 2021-09-10 00:13:27
+     */
     public String createMonitorIndicatorRecord(AddMonitorIndicatorRecordDTO addMonitorIndicatorRecordDTO);
-    
+
     /**
-    * 监测指标历史记录详情
-    *
-    * @param id 主键
-    * @return 监测指标历史记录do对象
-    * @author lixing
-    * @version V1.0 2021-09-10 00:13:27
-    */
+     * 监测指标历史记录详情
+     *
+     * @param id 主键
+     * @return 监测指标历史记录do对象
+     * @author lixing
+     * @version V1.0 2021-09-10 00:13:27
+     */
     public MonitorIndicatorRecord queryMonitorIndicatorRecordDetail(String id);
-    
+
     /**
-    * 更新监测指标历史记录
-    *
-    * @param updateMonitorIndicatorRecordDTO updateDTO
-    * @author lixing
-    * @version V1.0 2021-09-10 00:13:27
-    */
+     * 更新监测指标历史记录
+     *
+     * @param updateMonitorIndicatorRecordDTO updateDTO
+     * @author lixing
+     * @version V1.0 2021-09-10 00:13:27
+     */
     public void updateMonitorIndicatorRecord(UpdateMonitorIndicatorRecordDTO updateMonitorIndicatorRecordDTO);
-    
+
     /**
-    * 删除监测指标历史记录
-    *
-    * @param id 主键
-    * @author lixing
-    * @version V1.0 2021-09-10 00:13:27
-    */
+     * 删除监测指标历史记录
+     *
+     * @param id 主键
+     * @author lixing
+     * @version V1.0 2021-09-10 00:13:27
+     */
     public void deleteMonitorIndicatorRecord(String id);
-    
+
     /**
-    * 查询监测指标历史记录
-    *
-    * @param queryMonitorIndicatorRecordDTO queryDTO
-    * @return List<MonitorIndicatorRecord>
-    * @author lixing
-    * @version V1.0 2021-09-10 00:13:27
-    */
+     * 查询监测指标历史记录
+     *
+     * @param queryMonitorIndicatorRecordDTO queryDTO
+     * @return List<MonitorIndicatorRecord>
+     * @author lixing
+     * @version V1.0 2021-09-10 00:13:27
+     */
     public List<MonitorIndicatorRecord> queryMonitorIndicatorRecordList(QueryMonitorIndicatorRecordDTO queryMonitorIndicatorRecordDTO);
-    
+
     /**
-    * 分页查询监测指标历史记录
-    * 
-    * @param pageQueryMonitorIndicatorRecordDTO pageQueryDTO
-    * @return IPage<MonitorIndicatorRecord>
-    * @author lixing
-    * @version V1.0 2021-09-10 00:13:27
-    */
+     * 分页查询监测指标历史记录
+     *
+     * @param pageQueryMonitorIndicatorRecordDTO pageQueryDTO
+     * @return IPage<MonitorIndicatorRecord>
+     * @author lixing
+     * @version V1.0 2021-09-10 00:13:27
+     */
     public IPage<MonitorIndicatorRecord> pageQueryMonitorIndicatorRecord(PageQueryMonitorIndicatorRecordDTO pageQueryMonitorIndicatorRecordDTO);
 
 
     /**
+     * @throws
      * @title computeIndicatorData
      * @description 异步计算项目指标数据
-     * @author leifeng 
+     * @author leifeng
      * @param: projectDTO
      * @param: projectIndicatorCompute
      * @param: latch
-     * @updateTime 2021/9/21 14:31 
+     * @updateTime 2021/9/21 14:31
      * @return: java.util.concurrent.Future<java.lang.String>
-     * @throws 
      */
     Future<String> computeIndicatorData(ProjectDTO projectDTO, ProjectIndicatorCompute projectIndicatorCompute, CountDownLatch latch) throws Exception;
 
     /**
+     * @throws
      * @title sendIndicatorData
      * @description 异步发送指标数据
      * @author leifeng
@@ -100,17 +102,34 @@ public interface IMonitorIndicatorRecordService  {
      * @param: latch
      * @updateTime 2021/9/25 16:32
      * @return: java.util.concurrent.Future<java.lang.String>
-     * @throws
      */
     Future<String> sendIndicatorData(ProjectDTO projectDTO, CountDownLatch latch) throws Exception;
 
     /**
+     * @throws
      * @title saveOrUpdateByPk
-     * @description 根据表主键插入或更新记录,主键为projectId,objId,指标id,时间
+     * @description 根据表主键插入或更新记录, 主键为projectId, objId, 指标id, 时间
      * @author leifeng
      * @param: monitorIndicatorRecord
      * @updateTime 2021/9/27 11:07
-     * @throws
      */
     public void saveOrUpdateByPk(MonitorIndicatorRecord monitorIndicatorRecord);
+
+    /**
+     * @throws
+     * @title cleanAlarmConfig
+     * @description 清除redis中报警定义缓存
+     * @author leifeng
+     * @updateTime 2021/9/28 3:07
+     */
+    public void cleanAlarmConfig(String projectId);
+
+    /**
+     * @throws
+     * @title cleanAlarmConfig
+     * @description 清除redis中报警定义缓存
+     * @author leifeng
+     * @updateTime 2021/9/28 3:07
+     */
+    public void cleanAlarmConfigSendTime(CleanAlarmConfigDTO cleanAlarmConfigDTO);
 }

+ 24 - 0
src/main/java/com/persagy/apm/diagnose/indicatorrecord/service/impl/MonitorIndicatorRecordServiceImpl.java

@@ -469,6 +469,30 @@ public class MonitorIndicatorRecordServiceImpl extends ServiceImpl<MonitorIndica
         }
     }
 
+    @Override
+    public void cleanAlarmConfig(String projectId) {
+        if (StringUtils.isBlank(projectId)) {
+            redisUtil.del(RedisUtil.PROJECT_ALARM_ITEM);
+        } else {
+            redisUtil.hdel(RedisUtil.PROJECT_ALARM_ITEM, projectId);
+        }
+
+    }
+
+    @Override
+    public void cleanAlarmConfigSendTime(CleanAlarmConfigDTO cleanAlarmConfigDTO) {
+        if (StringUtils.isBlank(cleanAlarmConfigDTO.getProjectId())) {
+            //清除所有
+            redisUtil.del(RedisUtil.PROJECT_ITEM_SEND_TIME);
+        } else if (StringUtils.isBlank(cleanAlarmConfigDTO.getAlarmConfigItemId())) {
+            //清除项目
+            redisUtil.del(RedisUtil.PROJECT_ALARM_ITEM + ":" + cleanAlarmConfigDTO.getProjectId());
+        } else {
+            //清除指定
+            redisUtil.hdel(RedisUtil.PROJECT_ALARM_ITEM + ":" + cleanAlarmConfigDTO.getProjectId(), cleanAlarmConfigDTO.getAlarmConfigItemId());
+        }
+    }
+
     private void sendIndicatorDataToAlarmServer(ProjectDTO projectDTO) throws Exception {
         //通过报警服务查询报警配置
         List<AlarmConfigItem> configItemList = getAlarmConfigItemList(projectDTO.getProjectId());