|
@@ -1,9 +1,13 @@
|
|
package com.lantone.qc.kernel.util;
|
|
package com.lantone.qc.kernel.util;
|
|
|
|
|
|
|
|
|
|
|
|
+import com.google.common.collect.Lists;
|
|
|
|
+import com.google.common.collect.Maps;
|
|
|
|
+import com.google.common.collect.Sets;
|
|
import com.lantone.qc.nlp.participle.cfg.Configuration;
|
|
import com.lantone.qc.nlp.participle.cfg.Configuration;
|
|
import com.lantone.qc.nlp.participle.cfg.DefaultConfig;
|
|
import com.lantone.qc.nlp.participle.cfg.DefaultConfig;
|
|
-import com.lantone.qc.security.util.EncrypDES;
|
|
|
|
|
|
+import com.lantone.qc.pub.util.FastJsonUtils;
|
|
|
|
+import com.lantone.qc.pub.util.FileUtil;
|
|
import org.apache.commons.lang3.StringUtils;
|
|
import org.apache.commons.lang3.StringUtils;
|
|
import org.slf4j.Logger;
|
|
import org.slf4j.Logger;
|
|
import org.slf4j.LoggerFactory;
|
|
import org.slf4j.LoggerFactory;
|
|
@@ -12,11 +16,14 @@ import org.springframework.beans.factory.annotation.Value;
|
|
import org.springframework.boot.ApplicationArguments;
|
|
import org.springframework.boot.ApplicationArguments;
|
|
import org.springframework.boot.ApplicationRunner;
|
|
import org.springframework.boot.ApplicationRunner;
|
|
import org.springframework.stereotype.Component;
|
|
import org.springframework.stereotype.Component;
|
|
|
|
+import org.springframework.util.ResourceUtils;
|
|
|
|
|
|
|
|
+import java.io.FileNotFoundException;
|
|
import java.util.ArrayList;
|
|
import java.util.ArrayList;
|
|
import java.util.HashMap;
|
|
import java.util.HashMap;
|
|
import java.util.List;
|
|
import java.util.List;
|
|
import java.util.Map;
|
|
import java.util.Map;
|
|
|
|
+import java.util.Set;
|
|
|
|
|
|
/**
|
|
/**
|
|
* @ClassName : CacheUtil
|
|
* @ClassName : CacheUtil
|
|
@@ -29,12 +36,15 @@ public class CacheUtil implements ApplicationRunner {
|
|
Logger logger = LoggerFactory.getLogger(DefaultConfig.class);
|
|
Logger logger = LoggerFactory.getLogger(DefaultConfig.class);
|
|
@Autowired
|
|
@Autowired
|
|
private RedisUtil redisUtil;
|
|
private RedisUtil redisUtil;
|
|
|
|
+ @Autowired
|
|
|
|
+ private ModuleMappingUtil moduleMappingUtil;
|
|
|
|
|
|
@Value("${qc.hospital_id}")
|
|
@Value("${qc.hospital_id}")
|
|
private String hospitalId;
|
|
private String hospitalId;
|
|
|
|
|
|
public void run(ApplicationArguments var1) {
|
|
public void run(ApplicationArguments var1) {
|
|
try {
|
|
try {
|
|
|
|
+ this.loadModuleMappingInfo();//加载页面模板映射信息
|
|
this.putConceptDiagPropertyMap();//疾病相关信息放入缓存 包括疾病是否是慢病、传染病、常见症状、同义词
|
|
this.putConceptDiagPropertyMap();//疾病相关信息放入缓存 包括疾病是否是慢病、传染病、常见症状、同义词
|
|
this.putHospitalDiagMap();//医院疾病信息
|
|
this.putHospitalDiagMap();//医院疾病信息
|
|
this.putHospitalDiagHuaZMap();//医院华卓映射
|
|
this.putHospitalDiagHuaZMap();//医院华卓映射
|
|
@@ -46,6 +56,27 @@ public class CacheUtil implements ApplicationRunner {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ /**
|
|
|
|
+ * 加载页面模板映射信息
|
|
|
|
+ */
|
|
|
|
+ private void loadModuleMappingInfo() {
|
|
|
|
+ List<String> xmlDataTypeHospitalIds = Lists.newArrayList("1", "3");
|
|
|
|
+ try {
|
|
|
|
+ String path = ResourceUtils.getURL("classpath:").getPath() + "cache/" + hospitalId + "/module_mapping.json";
|
|
|
|
+ String mappingMsg = FileUtil.fileRead(path);
|
|
|
|
+ if (xmlDataTypeHospitalIds.contains(hospitalId)) {
|
|
|
|
+ Map<String, Long> mapKeysModuleInfoIdMap = (Map) FastJsonUtils.getJsonToMap(mappingMsg);
|
|
|
|
+ Map<Set<String>, String> xmlDataTypeModuleInfo = Maps.newHashMap();
|
|
|
|
+ mapKeysModuleInfoIdMap.keySet().forEach(mapKeys -> {
|
|
|
|
+ xmlDataTypeModuleInfo.put(Sets.newHashSet(mapKeys.split(",")), mapKeysModuleInfoIdMap.get(mapKeys) + "");
|
|
|
|
+ });
|
|
|
|
+ moduleMappingUtil.setXmlDataTypeModuleInfo(xmlDataTypeModuleInfo);
|
|
|
|
+ }
|
|
|
|
+ } catch (FileNotFoundException e) {
|
|
|
|
+ e.printStackTrace();
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
/**
|
|
/**
|
|
* 疾病相关信息放入缓存
|
|
* 疾病相关信息放入缓存
|
|
* 包括疾病是否是慢病、传染病、常见症状、同义词
|
|
* 包括疾病是否是慢病、传染病、常见症状、同义词
|
|
@@ -81,6 +112,7 @@ public class CacheUtil implements ApplicationRunner {
|
|
|
|
|
|
/**
|
|
/**
|
|
* 医院医生信息
|
|
* 医院医生信息
|
|
|
|
+ *
|
|
* @throws Exception
|
|
* @throws Exception
|
|
*/
|
|
*/
|
|
public void putHospitalDoctorInfoMap() throws Exception {
|
|
public void putHospitalDoctorInfoMap() throws Exception {
|
|
@@ -149,6 +181,7 @@ public class CacheUtil implements ApplicationRunner {
|
|
}
|
|
}
|
|
redisUtil.setJsonStringValue(KernelConstants.LANTONE_DIAG_HUAZ_MAP, hospitalDiagMap);
|
|
redisUtil.setJsonStringValue(KernelConstants.LANTONE_DIAG_HUAZ_MAP, hospitalDiagMap);
|
|
}
|
|
}
|
|
|
|
+
|
|
/**
|
|
/**
|
|
* 症状需要部位描述词典放入redis缓存
|
|
* 症状需要部位描述词典放入redis缓存
|
|
*/
|
|
*/
|