Selaa lähdekoodia

20250415 dify功能修改

lrj 4 kuukautta sitten
vanhempi
commit
589cc73e91

+ 8 - 0
src/main/java/cn/cslg/pas/common/model/dify/GenerateClaimDTO.java

@@ -0,0 +1,8 @@
+package cn.cslg.pas.common.model.dify;
+
+import lombok.Data;
+
+@Data
+public class GenerateClaimDTO {
+    private String claim;
+}

+ 3 - 2
src/main/java/cn/cslg/pas/controller/outApi/DifyController.java

@@ -4,6 +4,7 @@ import cn.cslg.pas.common.core.base.Constants;
 import cn.cslg.pas.common.model.dify.ChatMessageDTO;
 import cn.cslg.pas.common.model.dify.DifyChatMessageDTO;
 import cn.cslg.pas.common.model.dify.DifyHistoryMessageDTO;
+import cn.cslg.pas.common.model.dify.GenerateClaimDTO;
 import cn.cslg.pas.common.utils.CacheUtils;
 import cn.cslg.pas.common.utils.LoginUtils;
 import cn.cslg.pas.common.utils.Response;
@@ -88,7 +89,7 @@ public class DifyController {
 
     @RequestMapping(value = "/generateClaimExplain", method = RequestMethod.POST)
     @Operation(summary = "生成权利要求解释和有益效果")
-    public Response generateClaimExplain(@RequestBody ChatMessageDTO chatMessageDTO) throws IOException {
-        return Response.success(difyService.ge(chatMessageDTO));
+    public Response generateClaimExplain(@RequestBody GenerateClaimDTO generateClaimDTO) throws Exception {
+        return Response.success(difyService.generateClaimExplain(generateClaimDTO));
     }
 }

+ 15 - 10
src/main/java/cn/cslg/pas/service/common/DifyService.java

@@ -5,6 +5,7 @@ import cn.cslg.pas.common.model.dify.ChatMessageDTO;
 import cn.cslg.pas.common.model.dify.DifyChatMessageDTO;
 import cn.cslg.pas.common.model.dify.DifyHistoryMessageDTO;
 
+import cn.cslg.pas.common.model.dify.GenerateClaimDTO;
 import cn.cslg.pas.common.model.dify.confessionSession.AddConfessionSessionDTO;
 import cn.cslg.pas.common.model.dify.confessionSession.UpdateConfessionSessionDTO;
 import cn.cslg.pas.common.utils.CacheUtils;
@@ -316,11 +317,10 @@ public class DifyService {
         return map1;
     }
 
-    public Map<String, Object> generateClaimExplain(String claim) throws Exception {
-        Map<String, Object> reMap = new HashMap<>();
+    public List<Object> generateClaimExplain(GenerateClaimDTO generateClaimDTO) throws Exception {
+        String claim = generateClaimDTO.getClaim();
         DifyChatMessageDTO difyChatMessageDTO = new DifyChatMessageDTO();
-        String userId = "1";
-//        String userId = loginUtils.getId().toString();
+        String userId = loginUtils.getId().toString();
         Map<String, Object> map = new HashMap<>();
         map.put("claim", claim);
         difyChatMessageDTO.setInputs(map);
@@ -342,22 +342,27 @@ public class DifyService {
         String res = Objects.requireNonNull(okHttpClient.newCall(request).execute().body()).string();
         JSONObject jsonObject = JSONObject.parseObject(res);
         String dataStr = jsonObject.get("data").toString();
-        JSONObject dataObject=JSONObject.parseObject(dataStr);
+        JSONObject dataObject = JSONObject.parseObject(dataStr);
         String outPuts = dataObject.get("outputs").toString();
         JSONObject jsonObject1 = JSONObject.parseObject(outPuts);
-        String rets = jsonObject1.get("json").toString();
+        Object retsObj= jsonObject1.get("json");
+        String rets = retsObj.toString();
+        List<Object> reObject = JSONArray.parseArray(rets, Object.class);
         Map<String, Object> addMap = new HashMap<>();
-        addMap.put("query", claim);
-        addMap.put("answer", rets);
+        Map<String,Object> queryMap =new HashMap<>();
+        queryMap.put("claim",claim);
+        addMap.put("query", queryMap);
+        addMap.put("answer", retsObj);
         String addStr = JSONObject.toJSONString(addMap);
         AddConfessionSessionDTO addConfessionSessionDTO = new AddConfessionSessionDTO();
         addConfessionSessionDTO.setConversationId(jsonObject.get("workflow_run_id").toString());
         addConfessionSessionDTO.setContent(addStr);
         String name = DateUtils.dateTimeToStr(new Date());
-        name=name+"-权利要求解释及有益效果";
+        name = name + "-权利要求解释及有益效果";
         addConfessionSessionDTO.setConversationName(name);
+        addConfessionSessionDTO.setType(1);
         confessionSessionService.addSession(addConfessionSessionDTO);
         System.out.println(res);
-        return reMap;
+        return reObject;
     }
 }

+ 2 - 2
src/main/java/cn/cslg/pas/service/dify/ConfessionSessionService.java

@@ -124,8 +124,8 @@ public class ConfessionSessionService extends ServiceImpl<ConfessionSessionMappe
         confessionSession.setContent(addConfessionSessionDTO.getContent());
         confessionSession.setConversationId(addConfessionSessionDTO.getConversationId());
         confessionSession.setConversationName(addConfessionSessionDTO.getConversationName());
-//        String createId = loginUtils.getId().toString();
-        confessionSession.setCreateId("createId");
+        String createId = loginUtils.getId().toString();
+        confessionSession.setCreateId(createId);
         confessionSession.setType(addConfessionSessionDTO.getType());
         confessionSession.insert();
         return confessionSession.getId();

Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 6 - 5
src/test/java/cn/cslg/pas/service/common/DifyServiceTest.java