forked from gzzfw/backEnd/gz-dyh

xusd
2024-09-10 597f5b5960b81d1ffba8ce2d3d1415e5bccc1919
dyh-service/dyh-mediate/src/main/java/cn/huge/module/ai/controller/AiController.java
@@ -4,15 +4,15 @@
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;
import com.alibaba.fastjson.JSONObject;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.cloud.openfeign.support.FeignHttpClientProperties;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
import java.util.HashMap;
@@ -30,13 +30,13 @@
    @Value("${ai.url}")
    private String aiUrl;
    @RequestMapping("/get-case")
    public Object getCase(@RequestParam String caseDes, @RequestParam String caseClaim, @RequestParam String caseId) {
    @PostMapping("/get-case")
    public Object getCase(@RequestBody AiRequestVo aiRequestVo) {
        List<CaseInfoDto> caseInfoDtoList = new ArrayList<>();
        Map<String, String> params = new HashMap<>();
        params.put("caseDes", caseDes);//案件描述
        params.put("caseClaim", caseClaim);//案件诉求
        params.put("caseId", caseId);//案件id
        params.put("caseDes", aiRequestVo.getCaseDes());//案件描述
        params.put("caseClaim", aiRequestVo.getCaseClaim());//案件诉求
        params.put("caseId", aiRequestVo.getCaseId());//案件id
        params.put("topK", "3");
        params.put("metricType", "IP");
        String s = HttpClientUtils.httpPostForm(aiUrl + "/queryConciliationCase", params, new HashMap<>(), "utf-8");
@@ -62,8 +62,8 @@
                for (int i = 0; i < data.size(); i++) {
                    JSONObject jsonObject = data.getJSONObject(i);
                    CaseInfoDto caseInfoDto = new CaseInfoDto();
                    caseInfoDto.setCaseId(jsonObject.getString("id"));
                    caseInfoDto.setCaseName(jsonObject.getString("case_title"));
                    caseInfoDto.setCaseId(jsonObject.getString("cpws_case_info_id"));
                    caseInfoDto.setCaseName(jsonObject.getString("case_name"));
                    caseInfoDto.setCaseType(2);//表示判决类案件
                    caseInfoDtoList.add(caseInfoDto);
                    if (caseInfoDtoList.size() == 3)
@@ -75,13 +75,13 @@
    }
    @RequestMapping("/get-law")
    public Object getLaw(@RequestParam String caseDes, @RequestParam String caseClaim, @RequestParam String caseId) {
    @PostMapping("/get-law")
    public Object getLaw(@RequestBody AiRequestVo aiRequestVo) {
        List<LawInfoDto> lawInfoDtos = new ArrayList<>();
        Map<String, String> params = new HashMap<>();
        params.put("caseDes", caseDes);//案件描述
        params.put("caseClaim", caseClaim);//案件诉求
        params.put("caseId", caseId);//案件id
        params.put("caseDes", aiRequestVo.getCaseDes());//案件描述
        params.put("caseClaim", aiRequestVo.getCaseClaim());//案件诉求
        params.put("caseId", aiRequestVo.getCaseId());//案件id
        String s = HttpClientUtils.httpPostForm(aiUrl + "/queryLawProvision", params, new HashMap<>(), "utf-8");
        JSONObject object = JSONObject.parseObject(s);
        int code = object.getIntValue("code");
@@ -102,27 +102,25 @@
    @RequestMapping("/get-case-detail")
    public Object getCaseLawDetail(@RequestParam String caseId, @RequestParam int type) {
        Map<String, String> params = new HashMap<>();
        params.put("caseId", caseId);
        String s = "";
        CaseInfoDetailDto caseInfoDetailDto = new CaseInfoDetailDto();
        if (type == 1) {//表示纠纷类案件
            s = HttpClientUtils.httpGet(aiUrl + "/getConciliationCaseText", new HashMap<>(), "utf-8");
            s = HttpClientUtils.httpGet(aiUrl + "/getConciliationCaseText?caseId=" + caseId, new HashMap<>(), "utf-8");
            JSONObject object = JSONObject.parseObject(s);
            int code = object.getIntValue("code");
            if (code == 1) {
            if (code == 200) {
                JSONObject data = object.getJSONObject("data");
                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 {
            s = HttpClientUtils.httpGet(aiUrl + "/getJudgmentCaseText", new HashMap<>(), "utf-8");
            s = HttpClientUtils.httpGet(aiUrl + "/getJudgmentCaseText?caseId=" + caseId, new HashMap<>(), "utf-8");
            JSONObject object = JSONObject.parseObject(s);
            int code = object.getIntValue("code");
            if (code == 1) {
            if (code == 200) {
                JSONObject data = object.getJSONObject("data");
                caseInfoDetailDto.setCaseId(data.getString("idcpws_case_info_id"));
                caseInfoDetailDto.setCaseTitle(data.getString("basic_case_info"));
@@ -134,4 +132,22 @@
        return ReturnSucUtils.getRepInfo("请求成功", caseInfoDetailDto);
    }
    @PostMapping("/get-clain-rise-case")
    public Object getClaimRiskByCase(@RequestBody AiRequestVo aiRequestVo) {
        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"));
        }
        return ReturnSucUtils.getRepInfo("请求成功", caseRiskDto);
    }
}