浏览代码

crf缓存方式修改

rengb 5 年之前
父节点
当前提交
6ae66dd539

+ 13 - 0
dbanaly/src/main/java/com/lantone/qc/dbanaly/controller/DbController.java

@@ -3,8 +3,11 @@ package com.lantone.qc.dbanaly.controller;
 import com.google.common.collect.Lists;
 import com.lantone.qc.dbanaly.facade.changx.ChangxXmlDataAnalysisFacade;
 import com.lantone.qc.dbanaly.facade.comsis.ModuleHelper;
+import com.lantone.qc.dbanaly.facade.comsis.RedisFacade;
 import com.lantone.qc.dbanaly.facade.taizhou.TaiZhouXmlDataAnalysisFacade;
+import com.lantone.qc.dbanaly.util.RedisUtil;
 import com.lantone.qc.dbanaly.vo.AnalyzeXmlVO;
+import com.lantone.qc.dbanaly.vo.CrfCacheRemoveVO;
 import com.lantone.qc.pub.res.Response;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -34,6 +37,8 @@ public class DbController {
     private ChangxXmlDataAnalysisFacade changxXmlDataAnalysisFacade;
     @Autowired
     private TaiZhouXmlDataAnalysisFacade taiZhouXmlDataAnalysisFacade;
+    @Autowired
+    private RedisFacade redisFacade;
 
     @ApiOperation(value = "模板信息加载")
     @PostMapping("loadModuleInfo")
@@ -61,4 +66,12 @@ public class DbController {
         return response;
     }
 
+    @ApiOperation(value = "crf缓存清理")
+    @PostMapping("crfCacheRemove")
+    public Response<Boolean> crfCacheRemove(@RequestBody CrfCacheRemoveVO crfCacheRemoveVO) {
+        Response response = new Response();
+        response.setData(redisFacade.crfCacheRemove(crfCacheRemoveVO));
+        return response;
+    }
+
 }

+ 39 - 0
dbanaly/src/main/java/com/lantone/qc/dbanaly/facade/comsis/RedisFacade.java

@@ -0,0 +1,39 @@
+package com.lantone.qc.dbanaly.facade.comsis;
+
+import com.lantone.qc.dbanaly.util.RedisUtil;
+import com.lantone.qc.dbanaly.vo.CrfCacheRemoveVO;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.util.Set;
+
+/**
+ * @Description:
+ * @author: rengb
+ * @time: 2020/6/17 16:57
+ */
+@Component
+public class RedisFacade {
+    @Autowired
+    private RedisUtil redisUtil;
+
+    public boolean crfCacheRemove(CrfCacheRemoveVO crfCacheRemoveVO) {
+        if (crfCacheRemoveVO.getHospitalId() == null) {
+            return true;
+        }
+        String prex = "crf_cache:" + crfCacheRemoveVO.getHospitalId() + ":";
+        Set<String> behospitalCodes = crfCacheRemoveVO.getBehospitalCodes();
+        if (behospitalCodes == null || behospitalCodes.size() == 0) {
+            behospitalCodes = redisUtil.keys(prex + "*");
+        } else {
+            for (String behospitalCode : behospitalCodes) {
+                behospitalCode = prex + behospitalCode;
+            }
+        }
+        behospitalCodes.forEach(behospitalCode -> {
+            redisUtil.del(behospitalCode);
+        });
+        return true;
+    }
+
+}

+ 21 - 0
dbanaly/src/main/java/com/lantone/qc/dbanaly/vo/CrfCacheRemoveVO.java

@@ -0,0 +1,21 @@
+package com.lantone.qc.dbanaly.vo;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.Set;
+
+/**
+ * @Description:
+ * @author: rengb
+ * @time: 2020/6/17 16:59
+ */
+@Setter
+@Getter
+public class CrfCacheRemoveVO {
+
+    private Long hospitalId;
+
+    private Set<String> behospitalCodes;
+
+}