Przeglądaj źródła

推理代码优化

gaodm 4 lat temu
rodzic
commit
7336cd32e6

+ 6 - 19
src/main/java/com/diagbot/facade/PushFacade.java

@@ -1,16 +1,11 @@
 package com.diagbot.facade;
 
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.diagbot.dto.PushDTO;
 import com.diagbot.dto.PushPlanDTO;
 import com.diagbot.dto.WordCrfDTO;
-import com.diagbot.entity.TranHospitalInfo;
 import com.diagbot.enums.DiseasePushTypeEnum;
-import com.diagbot.enums.IsDeleteEnum;
 import com.diagbot.process.PushProcess;
-import com.diagbot.service.impl.TranHospitalInfoServiceImpl;
 import com.diagbot.util.CoreUtil;
-import com.diagbot.util.ListUtil;
 import com.diagbot.util.ParamUtil;
 import com.diagbot.vo.PushPlanVO;
 import com.diagbot.vo.PushVO;
@@ -19,7 +14,6 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
 import java.util.LinkedHashMap;
-import java.util.List;
 import java.util.Map;
 
 /**
@@ -39,23 +33,15 @@ public class PushFacade {
     @Autowired
     FollowupPlanInfoFacade followupPlanInfoFacade;
     @Autowired
-    TranHospitalInfoServiceImpl tranHospitalInfoService;
+    TranHospitalInfoFacade tranHospitalInfoFacade;
 
-    public PushDTO processAggreate(PushVO pushVo){
+    public PushDTO processAggreate(PushVO pushVo) {
         PushDTO pushDTO = new PushDTO();
-        Integer pushMode = 0;
-        Long hospitalId = pushVo.getHospitalId();
-        QueryWrapper<TranHospitalInfo> queryWrapper = new QueryWrapper<>();
-        queryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey())
-                .eq("id",hospitalId);
-        List<TranHospitalInfo> recods = tranHospitalInfoService.list(queryWrapper);
-        if(ListUtil.isNotEmpty(recods)){
-            pushMode = recods.get(0).getPushMode();
-        }
+        Integer pushMode = tranHospitalInfoFacade.getPushMode(pushVo.getHospitalId());
         //全科推送,走5.0
-        if(pushMode == DiseasePushTypeEnum.gp.getKey()){
+        if (pushMode.equals(DiseasePushTypeEnum.gp.getKey())) {
             pushDTO = this.pushFacIcss(pushVo);
-        }else if(pushMode == DiseasePushTypeEnum.specialty.getKey()){
+        } else if (pushMode.equals(DiseasePushTypeEnum.specialty.getKey())) {
             //专科推送,走6.0
             pushDTO = this.pushFac(pushVo);
         }
@@ -65,6 +51,7 @@ public class PushFacade {
 
     /**
      * 推送调icss5.0接口
+     *
      * @param pushVo
      * @return
      */

+ 29 - 0
src/main/java/com/diagbot/facade/TranHospitalInfoFacade.java

@@ -0,0 +1,29 @@
+package com.diagbot.facade;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.diagbot.entity.TranHospitalInfo;
+import com.diagbot.enums.IsDeleteEnum;
+import com.diagbot.service.impl.TranHospitalInfoServiceImpl;
+import org.springframework.cache.annotation.Cacheable;
+import org.springframework.stereotype.Component;
+
+/**
+ * @Description:
+ * @author: gaodm
+ * @time: 2020/11/19 15:21
+ */
+@Component
+public class TranHospitalInfoFacade extends TranHospitalInfoServiceImpl {
+    @Cacheable(value = "cache", key = "'pushMode:' + #p0")
+    public Integer getPushMode(Long hospitalId) {
+        Integer pushMode = 0;
+        QueryWrapper<TranHospitalInfo> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey())
+                .eq("id", hospitalId);
+        TranHospitalInfo tranHospitalInfo = this.getOne(queryWrapper, false);
+        if (null != tranHospitalInfo) {
+            pushMode = tranHospitalInfo.getPushMode();
+        }
+        return pushMode;
+    }
+}