|
@@ -3,6 +3,7 @@ package com.lantone.qc.kernel.structure.ai;
|
|
|
import com.alibaba.fastjson.JSON;
|
|
|
import com.alibaba.fastjson.JSONArray;
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
+import com.lantone.qc.dbanaly.util.RedisUtil;
|
|
|
import com.lantone.qc.kernel.client.CRFServiceClient;
|
|
|
import com.lantone.qc.kernel.client.ChiefPresentSimilarityServiceClient;
|
|
|
import com.lantone.qc.kernel.client.SimilarityServiceClient;
|
|
@@ -12,6 +13,7 @@ import com.lantone.qc.pub.model.entity.ChiefPresentAnnotation;
|
|
|
import com.lantone.qc.pub.model.vo.CRFVo;
|
|
|
import com.lantone.qc.pub.model.vo.ChiefPresentSimilarityVo;
|
|
|
import com.lantone.qc.pub.model.vo.SimilarityVo;
|
|
|
+import com.lantone.qc.pub.util.SpringContextUtil;
|
|
|
import com.lantone.qc.pub.util.StringUtil;
|
|
|
|
|
|
import java.util.List;
|
|
@@ -30,12 +32,23 @@ public class ModelAI {
|
|
|
* @param crfServiceClient
|
|
|
* @return
|
|
|
*/
|
|
|
- protected JSONObject loadAI(JSONArray crfContent, CRFServiceClient crfServiceClient) {
|
|
|
- //存储CRF完整所需结构数据
|
|
|
- CRFVo crfVo = new CRFVo();
|
|
|
- crfVo.setData(crfContent);
|
|
|
- //获取CRF模型返回数据
|
|
|
- JSONArray data = getAnnotation(crfServiceClient, crfVo).getData();
|
|
|
+ protected JSONObject loadAI(boolean useCrfCache, String behospitalCode, JSONArray crfContent, CRFServiceClient crfServiceClient) {
|
|
|
+ JSONArray data = null;
|
|
|
+ RedisUtil redisUtil = SpringContextUtil.getBean("redisUtil");
|
|
|
+ String classname = this.getClass().getName();
|
|
|
+ if (useCrfCache) {
|
|
|
+ data = (JSONArray) redisUtil.hget(behospitalCode, classname);
|
|
|
+ }
|
|
|
+ if (data == null) {
|
|
|
+ //存储CRF完整所需结构数据
|
|
|
+ CRFVo crfVo = new CRFVo();
|
|
|
+ crfVo.setData(crfContent);
|
|
|
+ //获取CRF模型返回数据
|
|
|
+ data = getAnnotation(crfServiceClient, crfVo).getData();
|
|
|
+ if (data != null) {
|
|
|
+ redisUtil.hset(behospitalCode, classname, data, 86400);
|
|
|
+ }
|
|
|
+ }
|
|
|
JSONObject midData = getOutputs(data);
|
|
|
return midData;
|
|
|
}
|