Browse Source

重新加载缓存

wangfeng 4 years ago
parent
commit
63b0ab23ad

+ 11 - 0
cdssman-service/src/main/java/com/diagbot/client/CdssCoreClient.java

@@ -179,4 +179,15 @@ public interface CdssCoreClient {
     @PostMapping("/klRule/startRuleInfo")
     RespDTO<Boolean> startRuleInfos(@RequestBody @Valid KlRuleSatartOrdisaVO klRuleSatartOrdisaVO);
 
+    @PostMapping("/cache/clear")
+    RespDTO<Boolean> clearAlls();
+
+    @PostMapping("/cache/clearDrug")
+    RespDTO<Boolean> clearDrugloadDrug();
+
+    @PostMapping("/cache/clearRuleInfoAll")
+    RespDTO<Boolean> clearRuleAll();
+
+    @PostMapping("/cache/clearStandRuleDrug")
+    RespDTO<Boolean> clearStandRuleDrugAll();
 }

+ 24 - 0
cdssman-service/src/main/java/com/diagbot/client/hystrix/CdssCoreHystrix.java

@@ -216,4 +216,28 @@ public class CdssCoreHystrix implements CdssCoreClient {
         log.error("【hystrix】调用{}异常", "startRuleInfos");
         return null;
     }
+
+    @Override
+    public RespDTO<Boolean> clearAlls() {
+        log.error("【hystrix】调用{}异常", "clearAlls");
+        return null;
+    }
+
+    @Override
+    public RespDTO<Boolean> clearDrugloadDrug() {
+        log.error("【hystrix】调用{}异常", "clearDrugloadDrug");
+        return null;
+    }
+
+    @Override
+    public RespDTO<Boolean> clearRuleAll() {
+        log.error("【hystrix】调用{}异常", "clearRuleAll");
+        return null;
+    }
+
+    @Override
+    public RespDTO<Boolean> clearStandRuleDrugAll() {
+        log.error("【hystrix】调用{}异常", "clearStandRuleDrugAll");
+        return null;
+    }
 }

+ 42 - 0
cdssman-service/src/main/java/com/diagbot/facade/CacheFacade.java

@@ -0,0 +1,42 @@
+package com.diagbot.facade;
+
+import com.diagbot.client.CdssCoreClient;
+import com.diagbot.dto.RespDTO;
+import com.diagbot.util.RespDTOUtil;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+/**
+ * @author wangfeng
+ * @Description:
+ * @date 2021-03-11 11:16
+ */
+@Component
+public class CacheFacade {
+    @Autowired
+    CdssCoreClient cdssCoreClient;
+
+    public boolean clearAll() {
+        RespDTO<Boolean> resData =  cdssCoreClient.clearAlls();
+        RespDTOUtil.respNGDeal(resData, "加载数据失败!");
+        return  resData.data;
+    }
+
+    public boolean clearDrugloadDrug() {
+        RespDTO<Boolean> resData =  cdssCoreClient.clearDrugloadDrug();
+        RespDTOUtil.respNGDeal(resData, "加载数据失败!");
+        return  resData.data;
+    }
+
+    public boolean clearRuleInfoAll() {
+        RespDTO<Boolean> resData =  cdssCoreClient.clearRuleAll();
+        RespDTOUtil.respNGDeal(resData, "加载数据失败!");
+        return  resData.data;
+    }
+
+    public boolean clearStandRuleDrugAll() {
+        RespDTO<Boolean> resData =  cdssCoreClient.clearStandRuleDrugAll();
+        RespDTOUtil.respNGDeal(resData, "加载数据失败!");
+        return  resData.data;
+    }
+}

+ 65 - 0
cdssman-service/src/main/java/com/diagbot/web/CacheController.java

@@ -0,0 +1,65 @@
+package com.diagbot.web;
+
+import com.diagbot.annotation.SysLogger;
+import com.diagbot.dto.RespDTO;
+import com.diagbot.facade.CacheFacade;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 缓存 前端控制器
+ * </p>
+ *
+ * @author zhoutg
+ * @since 2018-12-25
+ */
+@RequestMapping("/cache")
+@RestController
+@SuppressWarnings("unchecked")
+@Api(value = "缓存API", tags = { "缓存API" })
+public class CacheController {
+
+    @Autowired
+    CacheFacade cacheFacade;
+
+    @ApiOperation(value = "清除启动加载类缓存[by:zhoutg]",
+            notes = "")
+    @PostMapping("/clear")
+    @SysLogger("clear")
+    public RespDTO<Boolean> clear() {
+        cacheFacade.clearAll();
+        return RespDTO.onSuc(true);
+    }
+
+    @ApiOperation(value = "重新加载药物缓存[by:zhoutg]",
+            notes = "")
+    @PostMapping("/clearDrug")
+    @SysLogger("clearDrug")
+    public RespDTO<Boolean> clearDrug() {
+        cacheFacade.clearDrugloadDrug();
+        return RespDTO.onSuc(true);
+    }
+
+    @ApiOperation(value = "清除规则缓存[by:wangfeng]",
+            notes = "")
+    @PostMapping("/clearRuleAll")
+    @SysLogger("clearRuleAll")
+    public RespDTO<Boolean> clearRuleInfoAlls() {
+        cacheFacade.clearRuleInfoAll();
+        return RespDTO.onSuc(true);
+    }
+
+    @ApiOperation(value = "重新加载标准词及规则、药物缓存[by:wangfeng]",
+            notes = "")
+    @PostMapping("/clearStandRuleDrug")
+    @SysLogger("clearStandRuleDrug")
+    public RespDTO<Boolean> clearStandRuleDrugAll() {
+        cacheFacade.clearStandRuleDrugAll();
+        return RespDTO.onSuc(true);
+    }
+}