From a5eddcbf38628cb202eaefd5c29dce77448b104b Mon Sep 17 00:00:00 2001
From: xusd <hugeinfo123>
Date: Tue, 10 Sep 2024 22:45:01 +0800
Subject: [PATCH] AI相关接口修正,增加风险提示接口

---
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/ai/controller/AiController.java |   40 ++++++++++++++++++++++++++++++++++++++--
 1 files changed, 38 insertions(+), 2 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 2ed686b..2498fbb 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());//案件描述
@@ -52,7 +59,7 @@
                 caseInfoDtoList.add(caseInfoDto);
             }
         }
-        if (caseInfoDtoList.size() < 6) {
+        if (caseInfoDtoList.size() < 3) {
             s = HttpClientUtils.httpPostForm(aiUrl + "/queryJudgmentCase", params, new HashMap<>(), "utf-8");
             object = JSONObject.parseObject(s);
             code = object.getIntValue("code");
@@ -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);
     }
 
@@ -112,7 +125,7 @@
                 caseInfoDetailDto.setCaseId(data.getString("id"));
                 caseInfoDetailDto.setCaseTitle(data.getString("case_title"));
                 caseInfoDetailDto.setCaseDesc(data.getString("case_des"));
-                caseInfoDetailDto.setCaseClaim("case_claim");
+                caseInfoDetailDto.setCaseClaim(data.getString("case_claim"));
                 caseInfoDetailDto.setAgreeContent(data.getString("agree_content"));
             }
         } else {
@@ -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