Browse Source

缓存文件统一管理

louhr 5 years ago
parent
commit
ade13a4d4b

+ 37 - 5
common-push/src/main/java/org/diagbot/common/push/cache/CacheFileManager.java

@@ -5,6 +5,7 @@ import org.diagbot.pub.utils.security.EncrypDES;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import java.io.File;
 import java.io.FileWriter;
 import java.io.IOException;
 import java.sql.Connection;
@@ -23,16 +24,24 @@ public class CacheFileManager {
     private String password = "lantone";
     private String url = "jdbc:mysql://192.168.2.121:3306/med?useUnicode=true&characterEncoding=UTF-8";
 
-    private String path;
+    private String path = "";
 
     public static void main(String[] args) {
-
+        CacheFileManager cacheFileManager = new CacheFileManager();
+        String p = cacheFileManager.getClass().getClassLoader().getResource("").getPath();
+        p = p.substring(0, p.indexOf("common-push/"));
+        //自然语言处理
+        cacheFileManager.createNlpCacheFile(p + "nlp/src/main/resources/");
+        //大数据
+        cacheFileManager.createBigDataCacheFile(p + "bigdata-web/src/main/resources/");
+        //图谱
+        cacheFileManager.createGraphCacheFile(p + "graph/src/main/resources/");
     }
 
     public CacheFileManager() {
         String p = this.getClass().getClassLoader().getResource("").getPath();
         logger.info("cache file path...." + p);
-        path = "../" + p.substring(0, path.indexOf("target")) + "file/";
+        path = p;
     }
 
     public void createCacheFile() {
@@ -189,8 +198,7 @@ public class CacheFileManager {
                 r2 = rs.getString(3);//sexType 1:男 2:女 3:都可以
                 r3 = rs.getString(4);//min_age
                 r4 = rs.getString(5);//max_age
-                r5 = rs.getString(2);//词性
-                fw.write(encrypDES.encrytor(r1 + "|" + r5 + "|" + r2 + "|" + r3+ "|" + r4));
+                fw.write(encrypDES.encrytor(r1 + "|" + r2 + "|" + r3+ "|" + r4));
                 fw.write("\n");
             }
             fw.close();
@@ -245,6 +253,30 @@ public class CacheFileManager {
                 fw.write("\n");
             }
             fw.close();
+
+            //性别年龄
+            sql = "SELECT k1.lib_name, k1.lib_type, kcc.sex_type, kcc.min_age, kcc.max_age " +
+                    "FROM kl_concept_common kcc, kl_concept k1 " +
+                    "where kcc.concept_id = k1.id " +
+                    "and k1.lib_type in (1, 18)";
+            st = conn.createStatement();
+            rs = st.executeQuery(sql);
+            fw = new FileWriter(path + "doc_result_mapping_filter.dict");
+
+            String r1, r2, r3, r4, r5;
+            while (rs.next()) {
+                r1 = rs.getString(1);
+                r2 = rs.getString(2);
+                r3 = rs.getString(3);
+                r4 = rs.getString(4);
+                r5 = rs.getString(5);
+                if ("18".equals(r2)) {
+                    r2 = "2";
+                }
+                fw.write(encrypDES.encrytor(r1 + "|" + r2 + "|" + r3 + "|" + r4 + "|" + r5));
+                fw.write("\n");
+            }
+            fw.close();
         } catch (IOException ioe) {
             ioe.printStackTrace();
         } catch (SQLException sqle) {

+ 15 - 9
graph/src/main/java/org/diagbot/graph/util/CacheUtil.java

@@ -13,20 +13,26 @@ public class CacheUtil {
     public static Map<String,String> vitalMap=null;
     public static Map<String,String> disgSortMap=null;
     public static Map<String,String> getDiagSortCache(){
+        if(disgSortMap == null){
+            createDiagSortCache();
+        }
+        return disgSortMap;
+    }
+    public static Map<String,String> createDiagSortCache(){
+        disgSortMap = new HashMap<>();
+
         String path = "diagSort.dict";
         Configuration configuration = new DefaultConfig();
-        if(disgSortMap == null){
-            disgSortMap = new HashMap<>();
-            List<String> contentList = configuration.readFileContents(path);
-            for (String s:contentList) {
-                String[] splits = s.split("\\|");
-                String diagName = splits[0];
-                String diagType = splits[1];
-                disgSortMap.put(diagName,diagType);
-            }
+        List<String> contentList = configuration.readFileContents(path);
+        for (String s:contentList) {
+            String[] splits = s.split("\\|");
+            String diagName = splits[0];
+            String diagType = splits[1];
+            disgSortMap.put(diagName,diagType);
         }
         return disgSortMap;
     }
+
     public static Map<String,String> getLexionCache(){
         String path = "lexicon.dict";
         Configuration configuration = new DefaultConfig();

+ 12 - 6
nlp/src/main/java/org/diagbot/nlp/util/NlpCache.java

@@ -31,17 +31,20 @@ public class NlpCache {
 
     public static void createSegmentCache() {
         Configuration configuration = new DefaultConfig();
-        segment_cache = configuration.loadMainDict("tc.dict");
+        String path = configuration.getClass().getClassLoader().getResource("").getPath();
+        segment_cache = configuration.loadMainDict(path + "tc.dict");
     }
 
     public static void createPushCache() {
         Configuration configuration = new DefaultConfig();
-        standard_info_push_map = configuration.loadMapDict("push-tc.dict");
+        String path = configuration.getClass().getClassLoader().getResource("").getPath();
+        standard_info_push_map = configuration.loadMapDict(path + "push-tc.dict");
     }
 
     public static void createSynonymCache() {
         Configuration configuration = new DefaultConfig();
-        List<String> lines = configuration.readFileContents("synonym.dict");
+        String path = configuration.getClass().getClassLoader().getResource("").getPath();
+        List<String> lines = configuration.readFileContents(path + "synonym.dict");
 
         String[] line_arr;
         Map<String, String> map = null;
@@ -59,12 +62,14 @@ public class NlpCache {
 
     public static void createClassifyCache() {
         Configuration configuration = new DefaultConfig();
-        standard_info_classify_map = configuration.loadMapDict("classify.dict");
+        String path = configuration.getClass().getClassLoader().getResource("").getPath();
+        standard_info_classify_map = configuration.loadMapDict(path + "classify.dict");
     }
 
     public static void createChronicCache() {
         Configuration configuration = new DefaultConfig();
-        standard_info_chronic_map = configuration.loadMapDict("chronic.dict");
+        String path = configuration.getClass().getClassLoader().getResource("").getPath();
+        standard_info_chronic_map = configuration.loadMapDict(path + "chronic.dict");
     }
 
     public static void createClassifyTreeCache() {
@@ -74,7 +79,8 @@ public class NlpCache {
 
     public static void createPropertyPairCache() {
         Configuration configuration = new DefaultConfig();
-        List<String> lines = configuration.readFileContents("relation.dict");
+        String path = configuration.getClass().getClassLoader().getResource("").getPath();
+        List<String> lines = configuration.readFileContents(path + "relation.dict");
 
         extract_relation_property_pair_map = new HashMap<>();
         List<String> list = null;

+ 13 - 1
push-web/src/main/java/org/diagbot/push/controller/CacheFileManagerController.java

@@ -2,6 +2,8 @@ package org.diagbot.push.controller;
 
 import org.diagbot.common.push.cache.CacheFileManager;
 import org.diagbot.common.work.ResponseData;
+import org.diagbot.graph.util.CacheUtil;
+import org.diagbot.nlp.util.NlpCache;
 import org.diagbot.pub.api.Response;
 import org.diagbot.pub.web.BaseController;
 import org.springframework.stereotype.Controller;
@@ -17,12 +19,22 @@ import javax.servlet.http.HttpServletRequest;
 @RequestMapping("/cache_file_manager")
 public class CacheFileManagerController extends BaseController {
 
-    @RequestMapping(value = "/create")
+    @RequestMapping(value = "/create_file")
     @ResponseBody
     public Response<ResponseData> create(HttpServletRequest request) throws Exception {
         Response<ResponseData> response = new Response<ResponseData>();
         CacheFileManager cacheFileManager = new CacheFileManager();
         cacheFileManager.createCacheFile();
+
+        NlpCache.createSegmentCache();
+        NlpCache.createPushCache();
+        NlpCache.createClassifyCache();
+        NlpCache.createChronicCache();
+        NlpCache.createPropertyPairCache();
+
+        CacheUtil.createDiagSortCache();
+        CacheUtil.getSexAgeCache();
+        CacheUtil.getVitalCache();
         return response;
     }
 }