From d4e4ea6405756d495806a609e24ae85ebd7345ef Mon Sep 17 00:00:00 2001
From: suerprisePlus <15810472099@163.com>
Date: 星期二, 17 十二月 2024 09:30:12 +0800
Subject: [PATCH] 代码更新

---
 src/main/java/com/yb/controller/agentController.java |  108 +++++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 95 insertions(+), 13 deletions(-)

diff --git a/src/main/java/com/yb/controller/agentController.java b/src/main/java/com/yb/controller/agentController.java
index 2f5a653..315e30a 100644
--- a/src/main/java/com/yb/controller/agentController.java
+++ b/src/main/java/com/yb/controller/agentController.java
@@ -2,15 +2,17 @@
 
 
 import com.alibaba.fastjson.JSON;
+
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.core.JsonParser;
+
 import com.yb.config.R;
 import com.yb.config.XzConfig;
 import com.yb.service.AgentService;
 import com.yb.service.IntentionService;
-import com.yb.service.XzService;
+
+import com.yb.util.EntityHttpUtil;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.v3.oas.annotations.Operation;
@@ -21,7 +23,9 @@
 import org.springframework.stereotype.Component;
 import org.springframework.web.bind.annotation.*;
 
+import java.util.ArrayList;
 import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
 
 @Tag(name = "Agent鎰忓浘")
@@ -37,6 +41,8 @@
     private AgentService agentService;
     @Autowired
     private IntentionService intentionService;
+    @Autowired
+    private EntityHttpUtil entityHttpUtil;
 
     @ApiOperation("鎰忓浘璇嗗埆")
     @PostMapping("/intention")
@@ -44,9 +50,12 @@
     public R getIntention(@RequestParam Map<String, String> allParams) throws Exception {
         System.out.println("rec getMessage:" + allParams);
         String msg = allParams.get("message");
+        String sessionid = allParams.get("session_id");
+
+        String libid = allParams.get("lib_id");
 //       鍒ゆ柇msg鏄惁涓虹┖
         if (StringUtils.isEmpty(msg)) {
-            String info = agentService.getAgentIntention(xzConfig.agentUrl, xzConfig.agentIntent, "''");
+            String info = agentService.getAgentIntention(xzConfig.agentUrl, xzConfig.agentIntent, "''",sessionid,libid);
             JSONObject obj = JSONObject.parseObject(info);
             String cont = obj.getString("content");
             System.out.println("rec isEmpty:" + cont);
@@ -58,7 +67,8 @@
         HashMap<String, Object> hashMap = new HashMap<String, Object>();
         if (isMap) {
             hashMap.put("type", "Map");
-            String funcInfo = agentService.getAgentIntention(xzConfig.agentUrl, xzConfig.agentIntent, msg);
+            hashMap.put("session_id", allParams.get("session_id"));
+            String funcInfo = agentService.getAgentIntention(xzConfig.agentUrl, xzConfig.agentIntent, msg,sessionid,libid);
             JSONObject jsonObject = JSON.parseObject(funcInfo);
             String orderString = jsonObject.getString("order");
             if (orderString == null) {
@@ -69,23 +79,95 @@
                 return R.error(erroContent);
 
             }
+            String report =jsonObject.getString("report");
 //          鎰忓浘鍑芥暟鍖归厤
-            HashMap<String, Object> mapObj = intentionService.getFunctionMatch(orderString);
+            HashMap<String, Object> mapObj = intentionService.getFunctionMatch(orderString, allParams,report);
+//            hashMap.put("place",place)
+            String args = JSONObject.parseObject(orderString).getString("args");
+            if (args != null) {
+                String place = JSONObject.parseObject(args).getString("place");
+                mapObj.put("place", place);
+            }
             hashMap.put("content", mapObj);
             return R.ok(hashMap);
 
         } else {
-            String ragInfo = agentService.getAgentIntention(xzConfig.agentUrl, xzConfig.agentChat, msg);
-            JSONObject jsonObject = JSON.parseObject(ragInfo);
-            String answer = jsonObject.getString("content");
-            System.out.println("Answer: " + answer);
-            hashMap.put("content", answer);
-            hashMap.put("type", "Rag");
-            return R.ok(hashMap);
+
+            String ragInfo1 = agentService.getAgentRag(xzConfig.agentUrl, xzConfig.agentRag, allParams.get("session_id"), allParams.get("lib_id"), msg);
+            System.out.println("rec rag:" + ragInfo1);
+            if (ragInfo1.equals("")) {
+                String ragInfo = agentService.getAgentIntention(xzConfig.agentUrl, xzConfig.agentChat, msg,sessionid,libid);
+                JSONObject jsonObject = JSON.parseObject(ragInfo);
+                String answer = jsonObject.getString("content");
+                System.out.println("Answer: " + answer);
+                hashMap.put("content", answer);
+                hashMap.put("type", "Rag");
+                return R.ok(hashMap);
+            } else {
+                JSONObject jsonObject1 = JSON.parseObject(ragInfo1);
+                String answer1 = jsonObject1.getString("content");
+                System.out.println("Answer: " + answer1);
+                String jso = JSONObject.parseObject(answer1).getString("answer");
+                String context = JSONObject.parseObject(answer1).getString("context");
+
+                if (context != "") {
+                    hashMap.put("fileSrource", JSON.parseArray(context));
+                }
+                hashMap.put("content", jso);
+                hashMap.put("type", "Rag");
+                return R.ok(hashMap);
+            }
+
         }
 
 
     }
 
+    @ApiOperation("鑾峰彇鍥惧眰鍒楄〃")
+    @GetMapping("/layerList")
+    @Operation(summary = "鑾峰彇鍥惧眰鍒楄〃")
+    public R getLayerList() throws Exception {
+        HashMap<String, String> formData = new HashMap<>();
+        formData.put("token", xzConfig.token);
+        formData.put("dbid", xzConfig.dbid);
+        String obj = entityHttpUtil.getPostMessage(xzConfig.permissionLayer, formData);
+        System.out.println("layerList: " + JSON.parseObject(JSONObject.parseObject(obj).getString("data")));
+        HashMap<String, Object> hashMap = new HashMap<String, Object>();
+        String layers = JSON.parseObject(JSONObject.parseObject(obj).getString("data")).getString("layers");
+        JSONArray dataArray = JSONArray.parseArray(layers);
+        ArrayList<HashMap> list = new ArrayList<>();
+        for (int i = 0; i < dataArray.size(); i++) {
+            JSONObject itmObj = JSONObject.parseObject(dataArray.get(i).toString());
+            String item = itmObj.getString("dataformat");
+
+            String id = itmObj.getString("id");
+            if (item.equals("entity")) {
+                HashMap<String, Object> itmHash = new HashMap<>();
+                String name = itmObj.getString("name");
+                String url = itmObj.getString("lod_url");
+                if (url != null) {
+                    String url3d = JSONObject.parseObject(url).getString("3d");
+
+                    if (url3d != null) {
+                        String l1 = JSONObject.parseObject(url3d).getString("l0");
+                        itmHash.put("url", l1);
+                        itmHash.put("sourceType", "Tileset");
+                        itmHash.put("name", name);
+                        itmHash.put("id", id);
+                        list.add(itmHash);
+                    }
+
+
+                }
+
+            }
+
+        }
+
+//            System.out.println("layerList: " + list);
+        hashMap.put("data", list);
+        return R.ok(hashMap);
+    }
+
 
 }

--
Gitblit v1.9.3