From 69fdc83bc60955eb528734b91a193452622abc8a Mon Sep 17 00:00:00 2001
From: zhouxiantao <1026371446@qq.com>
Date: Tue, 10 Sep 2024 16:55:23 +0800
Subject: [PATCH] 小程序,AI助手加入缓存机制
---
dyh-service/dyh-mediate/src/main/java/cn/huge/module/ai/controller/AiController.java | 36 ++++++++++++++++++++++++++++++++++++
1 files changed, 36 insertions(+), 0 deletions(-)
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/ai/controller/AiController.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/ai/controller/AiController.java
index b5cc753..fd515eb 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/ai/controller/AiController.java
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/ai/controller/AiController.java
@@ -1,9 +1,12 @@
package cn.huge.module.ai.controller;
+import cn.huge.base.common.utils.GuavaCacheUtils;
import cn.huge.base.common.utils.HttpClientUtils;
+import cn.huge.base.common.utils.ObjectUtils;
import cn.huge.base.common.utils.ReturnSucUtils;
import cn.huge.module.ai.controller.domain.dto.CaseInfoDetailDto;
import cn.huge.module.ai.controller.domain.dto.CaseInfoDto;
+import cn.huge.module.ai.controller.domain.dto.CaseRiskDto;
import cn.huge.module.ai.controller.domain.dto.LawInfoDto;
import cn.huge.module.ai.controller.domain.vo.AiRequestVo;
import com.alibaba.fastjson.JSONArray;
@@ -31,6 +34,10 @@
@PostMapping("/get-case")
public Object getCase(@RequestBody AiRequestVo aiRequestVo) {
+ Object cacheAi = GuavaCacheUtils.getCacheAi("get-case"+aiRequestVo.getCaseId());
+ if(ObjectUtils.isNotEmpty(cacheAi)){
+ return ReturnSucUtils.getRepInfo("请求成功", cacheAi);
+ }
List<CaseInfoDto> caseInfoDtoList = new ArrayList<>();
Map<String, String> params = new HashMap<>();
params.put("caseDes", aiRequestVo.getCaseDes());//案件描述
@@ -70,12 +77,17 @@
}
}
}
+ GuavaCacheUtils.putCacheAi("get-case"+aiRequestVo.getCaseId(), caseInfoDtoList);
return ReturnSucUtils.getRepInfo("请求成功", caseInfoDtoList);
}
@PostMapping("/get-law")
public Object getLaw(@RequestBody AiRequestVo aiRequestVo) {
+ Object cacheAi = GuavaCacheUtils.getCacheAi("get-law"+aiRequestVo.getCaseId());
+ if(ObjectUtils.isNotEmpty(cacheAi)){
+ return ReturnSucUtils.getRepInfo("请求成功", cacheAi);
+ }
List<LawInfoDto> lawInfoDtos = new ArrayList<>();
Map<String, String> params = new HashMap<>();
params.put("caseDes", aiRequestVo.getCaseDes());//案件描述
@@ -96,6 +108,7 @@
lawInfoDtos.add(lawInfoDto);
}
}
+ GuavaCacheUtils.putCacheAi("get-law"+aiRequestVo.getCaseId(), lawInfoDtos);
return ReturnSucUtils.getRepInfo("请求成功", lawInfoDtos);
}
@@ -131,4 +144,27 @@
return ReturnSucUtils.getRepInfo("请求成功", caseInfoDetailDto);
}
+ @PostMapping("/get-clain-rise-case")
+ public Object getClaimRiskByCase(@RequestBody AiRequestVo aiRequestVo) {
+ Object cacheAi = GuavaCacheUtils.getCacheAi("get-clain-rise-case"+aiRequestVo.getCaseId());
+ if(ObjectUtils.isNotEmpty(cacheAi)){
+ return ReturnSucUtils.getRepInfo("请求成功", cacheAi);
+ }
+ CaseRiskDto caseRiskDto = new CaseRiskDto();
+ Map<String, String> params = new HashMap<>();
+ params.put("caseDes", aiRequestVo.getCaseDes());//案件描述
+ params.put("caseClaim", aiRequestVo.getCaseClaim());//案件诉求
+ params.put("caseId", aiRequestVo.getCaseId());//案件id
+ String s = HttpClientUtils.httpPostForm(aiUrl + "/getClaimRiskByCase", params, new HashMap<>(), "utf-8");
+ JSONObject object = JSONObject.parseObject(s);
+ int code = object.getIntValue("code");
+ if (code == 200) {
+ JSONObject data = object.getJSONObject("data");
+ caseRiskDto.setIsClaimRisk(data.getIntValue("is_claim_risk"));
+ caseRiskDto.setAnalysisProcess(data.getString("analysis_process"));
+ }
+ GuavaCacheUtils.putCacheAi("get-clain-rise-case"+aiRequestVo.getCaseId(), caseRiskDto);
+ return ReturnSucUtils.getRepInfo("请求成功", caseRiskDto);
+ }
+
}
--
Gitblit v1.8.0