From e7c3276f2f5091fe8626af61ba5d7b41b2a1f2df Mon Sep 17 00:00:00 2001
From: suerprisePlus <15810472099@163.com>
Date: 星期一, 23 九月 2024 15:42:14 +0800
Subject: [PATCH] 添加历史记录接口,坐标转换,功能优化

---
 src/main/java/com/yb/service/IntentionService.java                                 |   46 +++-
 target/classes/application-agent.yml                                               |    3 
 target/classes/com/yb/service/THistoryService.class                                |    0 
 target/classes/com/yb/service/XzService.class                                      |    0 
 src/main/java/com/yb/service/XzService.java                                        |  114 ++++++++-
 target/classes/mapper/THistoryDao.xml                                              |   18 +
 pom.xml                                                                            |   39 +++
 target/classes/com/yb/service/IntentionService.class                               |    0 
 src/main/java/com/yb/service/THistoryService.java                                  |   23 ++
 target/classes/com/yb/controller/agentController.class                             |    0 
 target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst |   36 +-
 src/main/resources/mapper/THistoryDao.xml                                          |   18 +
 target/ollama-ai-0.0.1-SNAPSHOT.jar.original                                       |    0 
 target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst   |    6 
 target/ollama-ai-0.0.1-SNAPSHOT.jar                                                |    0 
 src/main/java/com/yb/service/impl/THistoryServiceImpl.java                         |   55 +++++
 src/main/java/com/yb/controller/agentController.java                               |   37 +-
 src/main/resources/application-agent.yml                                           |    3 
 target/classes/com/yb/dao/THistoryDao.class                                        |    0 
 src/main/java/com/yb/dao/THistoryDao.java                                          |   18 +
 target/classes/com/yb/service/impl/THistoryServiceImpl.class                       |    0 
 target/classes/com/yb/controller/log/LoggerController.class                        |    0 
 src/main/java/com/yb/controller/log/LoggerController.java                          |   22 ++
 target/classes/application.yml                                                     |    5 
 target/classes/com/yb/controller/THistoryController.class                          |    0 
 target/classes/com/yb/entity/THistoryEntity.class                                  |    0 
 src/main/java/com/yb/controller/THistoryController.java                            |  133 ++++++++++++
 src/main/java/com/yb/entity/THistoryEntity.java                                    |   75 ++++++
 src/main/resources/application.yml                                                 |    5 
 29 files changed, 583 insertions(+), 73 deletions(-)

diff --git a/pom.xml b/pom.xml
index 94fe019..a7cf399 100644
--- a/pom.xml
+++ b/pom.xml
@@ -25,6 +25,10 @@
             <version>2.7.5</version>
         </dependency>
         <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-data-jpa</artifactId>
+        </dependency>
+        <dependency>
             <groupId>com.squareup.okhttp3</groupId>
             <artifactId>okhttp</artifactId>
             <version>3.14.9</version>
@@ -122,21 +126,42 @@
             <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-starter-web</artifactId>
         </dependency>
-
+        <dependency>
+            <groupId>com.rockyyu</groupId>
+            <artifactId>geotools-jdbc-gbase</artifactId>
+            <version>27.2.0</version>
+        </dependency>
         <dependency>
             <groupId>io.springfox</groupId>
             <artifactId>springfox-swagger2</artifactId>
             <version>2.9.2</version>
         </dependency>
-                <dependency>
-                    <groupId>io.springfox</groupId>
-                    <artifactId>springfox-swagger-ui</artifactId>
-                    <version>2.9.2</version>
-                </dependency>
+        <dependency>
+            <groupId>io.springfox</groupId>
+            <artifactId>springfox-swagger-ui</artifactId>
+            <version>2.9.2</version>
+        </dependency>
         <dependency>
             <groupId>com.github.xiaoymin</groupId>
             <artifactId>swagger-bootstrap-ui</artifactId>
             <version>1.9.6</version>
+        </dependency>
+<!--        寮曞叆鍧愭爣杞彉-->
+        <dependency>
+            <groupId>org.locationtech.jts</groupId>
+            <artifactId>jts-core</artifactId>
+            <version>1.16.1</version>
+        </dependency>
+        <dependency>
+            <groupId>org.locationtech.proj4j</groupId>
+            <artifactId>proj4j</artifactId>
+            <version>1.1.3</version>
+        </dependency>
+<!--     绠�浣撳拰绻佷綋杞彉   -->
+        <dependency>
+            <groupId>com.github.houbb</groupId>
+            <artifactId>opencc4j</artifactId>
+            <version>1.7.2</version>
         </dependency>
     </dependencies>
     <dependencyManagement>
@@ -148,6 +173,8 @@
                 <type>pom</type>
                 <scope>import</scope>
             </dependency>
+
+
         </dependencies>
     </dependencyManagement>
 
diff --git a/src/main/java/com/yb/controller/THistoryController.java b/src/main/java/com/yb/controller/THistoryController.java
new file mode 100644
index 0000000..6606470
--- /dev/null
+++ b/src/main/java/com/yb/controller/THistoryController.java
@@ -0,0 +1,133 @@
+package com.yb.controller;
+
+import java.lang.reflect.Field;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.Map;
+
+import com.alibaba.fastjson.JSON;
+import com.yb.dao.THistoryDao;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import com.yb.entity.THistoryEntity;
+import com.yb.service.THistoryService;
+import com.yb.config.PageUtils;
+import com.yb.config.R;
+
+
+/**
+ * ${comments}
+ *
+ * @author yw
+ * @email leutu@qq.com
+ * @date 2024-09-14 16:35:15
+ */
+@RestController
+@RequestMapping("/api/thistory")
+public class THistoryController {
+    @Autowired
+    private THistoryService tHistoryService;
+    @Autowired
+    private THistoryDao tHistoryDao;
+
+    /**
+     * 鍒楄〃
+     */
+    @GetMapping("/list")
+    @ApiOperation(value = "list", notes = "鍙傛暟 锛� page,limit")
+    public R list(@RequestParam Map<String, Object> params) {
+        PageUtils page = tHistoryService.queryPage(params);
+
+        return R.ok().put("page", page);
+    }
+
+
+    /**
+     * 鍒楄〃
+     */
+    @GetMapping("/query")
+    @ApiOperation(value = "query", notes = "")
+    public R query(@RequestParam Map<String, Object> params) {
+        PageUtils page = tHistoryService.query(params);
+
+        return R.ok().put("page", page);
+    }
+
+    /**
+     * 鍒楄〃
+     */
+    @PostMapping("/listAll")
+    @ApiOperation(value = "listAll", notes = "")
+    public R listAll() {
+        PageUtils page = tHistoryService.queryPage(new HashMap<String, Object>());
+
+        return R.ok().put("page", page);
+    }
+
+    /**
+     * 淇℃伅
+     */
+    @PostMapping("/info/{id}")
+    @ApiOperation(value = "info", notes = "")
+    public R info(@PathVariable("id") Integer id) {
+        THistoryEntity tHistory = tHistoryService.getById(id);
+
+        return R.ok().put("tHistory", tHistory);
+    }
+
+    /**
+     * 淇濆瓨
+     */
+    @PostMapping("/save")
+    @ApiOperation(value = "save", notes = "")
+    public R save(@RequestBody THistoryEntity tHistory) {
+        int id =  tHistoryDao.insert(tHistory);
+//        tHistory.getId().toString()
+        HashMap<String,Object> hashMap= new HashMap<>();
+        hashMap.put("id",tHistory.getId().toString());
+        return R.ok(hashMap);
+    }
+
+    /**
+     * 淇敼
+     */
+    @PostMapping("/update")
+    @ApiOperation(value = "update", notes = "")
+    public R update(@RequestBody THistoryEntity tHistory) {
+        tHistoryService.updateById(tHistory);
+        return R.ok();
+    }
+
+    /**
+     * 鍒犻櫎
+     */
+    @PostMapping("/delete")
+    @ApiOperation(value = "delete", notes = "")
+    public R delete(@RequestBody Integer[] ids) {
+        tHistoryService.removeByIds(Arrays.asList(ids));
+        return R.ok();
+    }
+
+    /**
+     * 淇敼
+     */
+    @PostMapping("/getTableMeta")
+    @ApiOperation(value = "getTableMeta", notes = "")
+    public R getTableMeta() {
+        ArrayList<Map<String, String>> list = new ArrayList<Map<String, String>>();
+
+        Field[] fields = THistoryEntity.class.getDeclaredFields();
+        for (Field field : fields) {
+            Map<String, String> map = new HashMap<>();
+            System.out.println("灞炴�у悕:" + field.getName());
+            System.out.println("绫诲瀷:" + field.getType().getName());
+            map.put("name", field.getName());
+            map.put("type", field.getType().getName());
+            map.put("cname", field.getName());
+            list.add(map);
+        }
+        return R.ok(list);
+    }
+}
diff --git a/src/main/java/com/yb/controller/agentController.java b/src/main/java/com/yb/controller/agentController.java
index 47eb4a5..6c17668 100644
--- a/src/main/java/com/yb/controller/agentController.java
+++ b/src/main/java/com/yb/controller/agentController.java
@@ -99,18 +99,9 @@
                 System.out.println("Answer: " + answer1);
                 String jso = JSONObject.parseObject(answer1).getString("answer");
                 String context = JSONObject.parseObject(answer1).getString("context");
-//                JSONArray jsonArray = JSON.parseArray(context);
-//                String metadata = "";
-//                for (int i = 0; i < jsonArray.size(); i++) {
-//                    JSONObject jsonObject = jsonArray.getJSONObject(i);
-//
-//                    metadata = jsonObject.getString("metadata");
-//
-//
-//                }
+
                 if (context != "") {
-//                    String[] fileSource = metadata.split("/");
-                    hashMap.put("fileSrource",  JSON.parseArray(context));
+                    hashMap.put("fileSrource", JSON.parseArray(context));
                 }
                 hashMap.put("content", jso);
                 hashMap.put("type", "Rag");
@@ -130,7 +121,7 @@
         formData.put("token", xzConfig.token);
         formData.put("dbid", xzConfig.dbid);
         String obj = entityHttpUtil.getPostMessage(xzConfig.permissionLayer, formData);
-        System.out.println("Answer: " + obj);
+        System.out.println("layerList: " + obj);
         HashMap<String, Object> hashMap = new HashMap<String, Object>();
         String layers = JSON.parseObject(JSONObject.parseObject(obj).getString("data")).getString("layers");
         JSONArray dataArray = JSONArray.parseArray(layers);
@@ -138,24 +129,32 @@
         for (int i = 0; i < dataArray.size(); i++) {
             JSONObject itmObj = JSONObject.parseObject(dataArray.get(i).toString());
             String item = itmObj.getString("dataformat");
-//            System.out.println("Answer: " + item);
+
             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 l1 = JSONObject.parseObject(JSONObject.parseObject(url).getString("3d")).getString("l0");
-                    itmHash.put("url", l1);
-                    itmHash.put("sourceType", "Tileset");
-                    itmHash.put("name", name);
-                    itmHash.put("id", id);
-                    list.add(itmHash);
+                    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);
     }
diff --git a/src/main/java/com/yb/controller/log/LoggerController.java b/src/main/java/com/yb/controller/log/LoggerController.java
new file mode 100644
index 0000000..cc9a096
--- /dev/null
+++ b/src/main/java/com/yb/controller/log/LoggerController.java
@@ -0,0 +1,22 @@
+package com.yb.controller.log;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+@RestController
+
+public class LoggerController {
+    private static final Logger logger = LoggerFactory.getLogger(LoggerController.class);
+
+    @RequestMapping("/getLogger")
+    public String getLogger() {
+        logger.trace("log trace");
+        logger.debug("log debug");
+        logger.info("log info");
+        logger.warn("log warn");
+        logger.error("log error");
+        return "Agent Log";
+    }
+}
diff --git a/src/main/java/com/yb/dao/THistoryDao.java b/src/main/java/com/yb/dao/THistoryDao.java
new file mode 100644
index 0000000..67ab936
--- /dev/null
+++ b/src/main/java/com/yb/dao/THistoryDao.java
@@ -0,0 +1,18 @@
+package com.yb.dao;
+
+import com.yb.entity.THistoryEntity;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+import org.springframework.stereotype.Repository;
+
+/**
+ * ${comments}
+ * 
+ * @author yw
+ * @email leutu@qq.com
+ * @date 2024-09-14 16:35:15
+ */
+@Mapper
+public interface THistoryDao extends BaseMapper<THistoryEntity> {
+	
+}
diff --git a/src/main/java/com/yb/entity/THistoryEntity.java b/src/main/java/com/yb/entity/THistoryEntity.java
new file mode 100644
index 0000000..d09d099
--- /dev/null
+++ b/src/main/java/com/yb/entity/THistoryEntity.java
@@ -0,0 +1,75 @@
+package com.yb.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+
+import java.io.Serializable;
+import java.util.Date;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
+
+/**
+ * ${comments}
+ *
+ * @author yw
+ * @email leutu@qq.com
+ * @date 2024-09-14 16:35:15
+ */
+@Data
+@TableName("t_history")
+public class THistoryEntity implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * $column.comments
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+    /**
+     * $column.comments
+     */
+
+
+    private String sessionid;
+    /**
+     * $column.comments
+     */
+
+
+    private String human;
+    /**
+     * $column.comments
+     */
+
+
+    private String ai;
+    /**
+     * $column.comments
+     */
+
+    @ApiModelProperty(value = "鍒涘缓鏃堕棿")
+    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    private Date create_time;
+    /**
+     * $column.comments
+     */
+
+    @ApiModelProperty(value = "淇敼鏃堕棿")
+    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    private Date update_time;
+    /**
+     * $column.comments
+     */
+
+
+    private Integer userid;
+
+
+}
diff --git a/src/main/java/com/yb/service/IntentionService.java b/src/main/java/com/yb/service/IntentionService.java
index 3744eef..111301b 100644
--- a/src/main/java/com/yb/service/IntentionService.java
+++ b/src/main/java/com/yb/service/IntentionService.java
@@ -3,6 +3,7 @@
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
+import com.github.houbb.opencc4j.core.impl.ZhConvertBootstrap;
 import com.yb.config.XzConfig;
 import com.yb.helper.RsaHelper;
 import com.yb.util.EntityHttpUtil;
@@ -33,16 +34,16 @@
         String history = orderObject.getString("history");
 
         if (func.equals(xzConfig.funcName[0])) {
-            mapObj = getPoiMap(orderObject,func);
+            mapObj = getPoiMap(orderObject, func);
         } else if (func.equals(xzConfig.funcName[1])) {
             mapObj = getAroundPoi(orderObject, func);
         } else if (func.equals(xzConfig.funcName[2])) {
             mapObj = getQueryMeta(orderObject, func);
         } else if (func.equals(xzConfig.funcName[3])) {
             mapObj = getQueryRelationship(orderObject, func);
-        }else if (func.equals(xzConfig.funcName[4])) {
+        } else if (func.equals(xzConfig.funcName[4])) {
             mapObj = getCombatSimulate(orderObject, func);
-        }else if (func.equals(xzConfig.funcName[5])) {
+        } else if (func.equals(xzConfig.funcName[5])) {
             mapObj = getBatEnv(orderObject, func, allParams);
         }
         return mapObj;
@@ -52,7 +53,7 @@
     private HashMap<String, Object> getCombatSimulate(JSONObject orderObject, String func) {
         HashMap<String, Object> hashMap = new HashMap<String, Object>();
         hashMap.put("func", func);
-        return  hashMap;
+        return hashMap;
     }
 
     private HashMap<String, Object> getBatEnv(JSONObject orderObject, String func, Map<String, String> allParams) throws Exception {
@@ -64,7 +65,7 @@
         System.out.println("rec history1:" + history);
         String val = entityHttpUtil.postAgentMessage(xzConfig.battleReport, allParams);
         JSONObject js = JSONObject.parseObject(val);
-        if(js == null){
+        if (js == null) {
             hashMap.put("msg", "鎶ュ憡鐢熸垚澶辫触");
             return hashMap;
         }
@@ -147,15 +148,27 @@
         String type = argsObject.getString("attris");
         String dis = argsObject.getString("redius");
         int radius = 5000;
-        if (dis != null) {
+        if (dis != null && dis.contains("km")) {
+            dis = dis.replace("km", "");
+            radius = Integer.parseInt(dis) * 1000;
+        }
+        if (dis != null && dis.contains("m")) {
             dis = dis.replace("m", "");
+            radius = Integer.parseInt(dis);
+        }
+        if (dis != null && dis.contains("绫�")) {
+            dis = dis.replace("绫�", "");
             radius = Integer.parseInt(dis);
         }
         String aroundPoi = agentService.getAgentAroundPoi(place, type, radius, xzConfig.queryFiled, xzConfig.typeFiled);
         if (aroundPoi == "" || aroundPoi.isEmpty()) {
-            String msg = "鏈煡璇㈠埌" + place + "鐩稿叧鏁版嵁銆傝鎻愪緵鏇村姞璇︾粏鏁版嵁銆�";
-            hashMap.put("msg", msg);
-            return hashMap;
+            aroundPoi = agentService.getAgentAroundPoi(getTraditional(place), type, radius, xzConfig.queryFiled, xzConfig.typeFiled);
+            if (aroundPoi == "" || aroundPoi.isEmpty()) {
+                String msg = "鏈煡璇㈠埌" + place + "鐩稿叧鏁版嵁銆傝鎻愪緵鏇村姞璇︾粏鏁版嵁銆�";
+                hashMap.put("msg", msg);
+                return hashMap;
+            }
+
         }
         JSONArray dataArray = JSONArray.parseArray(aroundPoi);
         System.out.println("aroundPoi: " + dataArray);
@@ -163,6 +176,12 @@
         String msg = "宸叉煡璇㈠埌" + place + "鍐呯殑" + type + "鐩稿叧鏁版嵁銆傚叡鏌ヨ鍒�" + dataArray.size() + "鏉℃暟鎹��";
         hashMap.put("msg", msg);
         return hashMap;
+
+    }
+
+    public String getTraditional(String place) {
+        ZhConvertBootstrap zhConvertBootstrap = ZhConvertBootstrap.newInstance();
+        return zhConvertBootstrap.toTraditional(place);
 
     }
 
@@ -174,9 +193,12 @@
         String poiMap = agentService.getAgentPoiMap(place, xzConfig.queryFiled);
         JSONObject poiObj = JSONObject.parseObject(poiMap);
         if (poiMap == "" || poiMap.isEmpty()) {
-            String msg = "鏈煡璇㈠埌" + place + "鐩稿叧鏁版嵁銆傝鎻愪緵鏇村姞璇︾粏鏁版嵁銆�";
-            hashMap.put("msg", msg);
-            return hashMap;
+            poiMap = agentService.getAgentPoiMap(getTraditional(place), xzConfig.queryFiled);
+            if (poiMap == "" || poiMap.isEmpty()) {
+                String msg = "鏈煡璇㈠埌" + place + "鐩稿叧鏁版嵁銆傝鎻愪緵鏇村姞璇︾粏鏁版嵁銆�";
+                hashMap.put("msg", msg);
+                return hashMap;
+            }
         }
         System.out.println("poiMap: " + poiObj);
         hashMap.put("func", func);
diff --git a/src/main/java/com/yb/service/THistoryService.java b/src/main/java/com/yb/service/THistoryService.java
new file mode 100644
index 0000000..4149692
--- /dev/null
+++ b/src/main/java/com/yb/service/THistoryService.java
@@ -0,0 +1,23 @@
+package com.yb.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.yb.config.PageUtils;
+import com.yb.config.R;
+import com.yb.config.Query;
+import com.yb.entity.THistoryEntity;
+
+import java.util.Map;
+
+/**
+ * ${comments}
+ *
+ * @author yw
+ * @email leutu@qq.com
+ * @date 2024-09-14 16:35:15
+ */
+public interface THistoryService extends IService<THistoryEntity> {
+
+    PageUtils queryPage(Map<String, Object> params);
+    PageUtils query(Map<String, Object> params);
+}
+
diff --git a/src/main/java/com/yb/service/XzService.java b/src/main/java/com/yb/service/XzService.java
index 622fbbc..d2b0313 100644
--- a/src/main/java/com/yb/service/XzService.java
+++ b/src/main/java/com/yb/service/XzService.java
@@ -11,9 +11,19 @@
 import org.springframework.stereotype.Service;
 import org.locationtech.jts.geom.*;
 import org.locationtech.jts.operation.buffer.BufferOp;
-
-
-import java.util.*;
+import org.geotools.geometry.jts.JTS;
+import org.geotools.referencing.CRS;
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.Point;
+//import org.opengis.referencing.FactoryException;
+//import org.opengis.referencing.crs.CoordinateReferenceSystem;
+//import org.opengis.referencing.operation.MathTransform;
+import org.locationtech.proj4j.CRSFactory;
+import org.locationtech.proj4j.CoordinateReferenceSystem;
+import org.locationtech.proj4j.CoordinateTransform;
+import org.locationtech.proj4j.CoordinateTransformFactory;
+import org.locationtech.proj4j.ProjCoordinate;
 import java.util.HashMap;
 
 @Service
@@ -27,8 +37,23 @@
 
     // 鍏抽敭瀛楁煡璇�
     public String getQueryFiled(String place, String filed, String layerId, String dbId, String queryEntity) throws Exception {
-        String query = filed + " like '%" + place + "%'" + "";
+        String query = "";
+        String valSql = " like '%" + place + "%'";
         String key = getPublickey();
+        if (filed.indexOf(",") > -1) {
+            String[] fileds = filed.split(",");
+            for (int i = 0; i < fileds.length; i++) {
+                String name = fileds[i];
+                if (i > 0) {
+                    query += " or ";
+                }
+                query += name + valSql;
+            }
+        } else {
+            query += filed + valSql;
+        }
+        query += "";
+        System.out.println("rec getQueryFiled:" + query);
         String encrypt = RsaHelper.encrypt(key, query);
         HashMap formData = getHashMap(layerId, dbId, "1", "0", encrypt, null);
         String jsonString = entityHttpUtil.getPostMessage(queryEntity, formData);
@@ -44,8 +69,22 @@
 
     // 鍏抽敭瀛楁煡璇�
     public String getQueryEntity(String place, String filed, String layerId, String dbId, String queryEntity) throws Exception {
-        String query = filed + " like '%" + place + "%'" + "";
+        String query = "";
+        String valSql = " like '%" + place + "%'";
         String key = getPublickey();
+        if (filed.indexOf(",") > -1) {
+            String[] fileds = filed.split(",");
+            for (int i = 0; i < fileds.length; i++) {
+                String name = fileds[i];
+                if (i > 0) {
+                    query += " or ";
+                }
+                query += name + valSql;
+            }
+        } else {
+            query += filed + valSql;
+        }
+        query += "";
         String encrypt = RsaHelper.encrypt(key, query);
         HashMap formData = getHashMap(layerId, dbId, "1", "100", encrypt, null);
         formData.put("querytype", "entity");
@@ -54,7 +93,7 @@
         JSONObject jsonObject = JSON.parseObject(jsonString1);
         JSONObject dataObjject = jsonObject.getJSONObject("data");
         JSONArray dataArray = dataObjject.getJSONArray("items");
-        if(dataArray.size()<=0){
+        if (dataArray.size() <= 0) {
             return null;
         }
         return dataArray.getJSONObject(0).toString();
@@ -67,6 +106,7 @@
         String query = filed + " like '%" + type + "%'" + "";
         String encrypt = RsaHelper.encrypt(getPublickey(), query);
         HashMap formData = getHashMap(layerId, dbid, "1", "0", encrypt, wkt);
+        formData.put("querytype","entity");
         String jsonString = entityHttpUtil.getPostMessage(entity, formData);
         JSONObject jsonObject = JSON.parseObject(jsonString);
         JSONObject dataObj = jsonObject.getJSONObject("data");
@@ -123,14 +163,16 @@
             hashMap.put("where", where);
         }
         if (box != null && box != "") {
-            hashMap.put("box", box);
+            hashMap.put("bbox", box);
         }
 
         return hashMap;
     }
 
+
+
     //鐢熸垚WKT
-    public String getWKt(double lon, double lat, int radius) {
+    public String getWKt(double lon, double lat, int radius) throws Exception {
         // 鍒涘缓涓�涓潗鏍囩偣
         Coordinate coord = new Coordinate(lon, lat);
         // 鍒涘缓GeometryFactory瀹炰緥锛屽苟鎸囧畾鍧愭爣鍙傝�冪郴缁熶负WGS84
@@ -140,9 +182,9 @@
         // 鍒涘缓BufferOp瀹炰緥锛岀敤浜庣敓鎴愮紦鍐插尯
         BufferOp bufferOp = new BufferOp(point);
         int dis = 500;
-        if (radius != 0) {
-            dis = radius;
-        }
+//        if (radius != 0) {
+//            dis = radius;
+//        }
         // 璁剧疆缂撳啿鍖鸿窛绂讳负500绫�
         Geometry bufferedGeometry = bufferOp.getResultGeometry(dis / 111319.9);
         // 鍒涘缓WKTWriter瀹炰緥锛岀敤浜庡皢Geometry杞崲涓篧KT鏍煎紡
@@ -153,14 +195,48 @@
         // 杈撳嚭WKT
 //        System.out.println("WKT: " + wkt);
         Envelope envelope = bufferedGeometry.getEnvelopeInternal();
-        double[] wkt = new double[4];
-        wkt[0] = envelope.getMinX();
-        wkt[1] = envelope.getMinY();
-        wkt[2] = envelope.getMaxX();
-        wkt[3] = envelope.getMaxY();
-        String arrayAsString = Arrays.toString(wkt);
-        System.out.println("arrayAsString: " + arrayAsString);
-        return arrayAsString;
+
+//        double[] wkt = new double[4];
+//        wkt[0] = ;
+//        wkt[1] =;
+//        wkt[2] = envelope.getMaxX();
+//        wkt[3] = envelope.getMaxY();
+//
+//        wkt += envelope.getMinX();
+//        wkt += ","+envelope.getMinY();
+//        wkt += ","+envelope.getMaxX();
+//        wkt += ","+envelope.getMaxY();
+//                System.out.println("WKT: " + wkt);
+//        String arrayAsString = Arrays.toString(wkt);
+//        System.out.println("wkt: " + wkt);
+
+        CoordinateTransformFactory ctFactory = new CoordinateTransformFactory();
+
+        // 瀹氫箟婧愬潗鏍囩郴锛圵GS 84锛�
+        String srcCRS = "EPSG:4326";
+        // 瀹氫箟鐩爣鍧愭爣绯伙紙涓浗澶у湴鍧愭爣绯伙級
+        String destCRS = "EPSG:4550";
+
+        // 鍒涘缓鍧愭爣鍙傝�冪郴缁�
+        CRSFactory crsFactory = new CRSFactory();
+        CoordinateReferenceSystem src = crsFactory.createFromName(srcCRS);
+        CoordinateReferenceSystem dest = crsFactory.createFromName(destCRS);
+
+        // 鍒涘缓鍧愭爣杞崲鍣�
+        CoordinateTransform transform = ctFactory.createTransform(src, dest);
+
+        // 瀹氫箟涓�涓簮鍧愭爣鐐癸紙缁忓害锛岀含搴︼級
+        ProjCoordinate srcgetMin = new ProjCoordinate( envelope.getMinX(),  envelope.getMinY()); // 渚嬪锛氬寳浜殑缁忕含搴�
+        ProjCoordinate srcgetMax = new ProjCoordinate( envelope.getMaxX(),  envelope.getMaxY()); // 渚嬪锛氬寳浜殑缁忕含搴�
+        // 鎵ц杞崲
+        ProjCoordinate destgetMin = new ProjCoordinate();
+        ProjCoordinate destgetMax = new ProjCoordinate();
+        transform.transform(srcgetMin, destgetMin);
+        transform.transform(srcgetMax, destgetMax);
+        String wkt =destgetMin.x+","+destgetMin.y+","+destgetMax.x+","+destgetMax.y;
+        System.out.println("杞崲鍚庣殑鍧愭爣锛歑 = " +wkt);
+        return wkt;
+
     }
 
 
diff --git a/src/main/java/com/yb/service/impl/THistoryServiceImpl.java b/src/main/java/com/yb/service/impl/THistoryServiceImpl.java
new file mode 100644
index 0000000..c53e7c3
--- /dev/null
+++ b/src/main/java/com/yb/service/impl/THistoryServiceImpl.java
@@ -0,0 +1,55 @@
+package com.yb.service.impl;
+
+import org.springframework.stereotype.Service;
+
+import java.util.HashMap;
+import java.util.Map;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.yb.config.PageUtils;
+import com.yb.config.R;
+import com.yb.config.Query;
+
+import com.yb.dao.THistoryDao;
+import com.yb.entity.THistoryEntity;
+import com.yb.service.THistoryService;
+
+
+@Service("tHistoryService")
+public class THistoryServiceImpl extends ServiceImpl<THistoryDao, THistoryEntity> implements THistoryService {
+
+    @Override
+    public PageUtils queryPage(Map<String, Object> params) {
+        IPage<THistoryEntity> page = this.page(
+                new Query<THistoryEntity>().getPage(params),
+                new QueryWrapper<THistoryEntity>()
+        );
+
+        return new PageUtils(page);
+    }
+    @Override
+    public PageUtils query(Map<String, Object> params) {
+        Map<String,Object> p = new HashMap<>();
+        QueryWrapper q = new QueryWrapper<THistoryEntity>();
+        for(String key:params.keySet()){
+
+            String value = params.get(key).toString();
+            if( key.equals("page") || key.equals("limit")) {
+                p.put(key,value);
+                continue;
+            }
+            if( key.indexOf("name") > -1 )
+                q.like(key,value);
+            else
+                q.eq(key,value);
+            System.out.println("key:"+key+" vlaue:"+value);
+        }
+        IPage<THistoryEntity> page = this.page(
+                new Query<THistoryEntity>().getPage(p),
+               q
+        );
+
+        return new PageUtils(page);
+    }
+}
\ No newline at end of file
diff --git a/src/main/resources/application-agent.yml b/src/main/resources/application-agent.yml
index 65842a8..8f7db0d 100644
--- a/src/main/resources/application-agent.yml
+++ b/src/main/resources/application-agent.yml
@@ -21,7 +21,7 @@
     layerId: c8f3f75d-8730-44ec-81b7-f8ae4c5fd742
     #   鏌ヨ鍏抽敭瀛�
     #    queryFiled: enti_name
-    queryFiled: name_2
+    queryFiled: name,name_2,name_1
     #   鏌ヨ绫诲瀷瀛楁
     typeFiled: fclass_1
     #   瀹炰綋鍏抽敭瀛楁煡璇�
@@ -40,6 +40,7 @@
   agent:
     #  璁块棶鍦板潃
     agentUrl: http://106.120.22.26:5367
+#    agentUrl: http://103.135.160.14:5637
     #  鎰忓浘鍑芥暟
     agentIntent: /intention
     #  rag鏈嶅姟
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index 3166dd6..d51a06f 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -1,8 +1,13 @@
 server:
   port: 7777               # 鏈嶅姟鍣ㄧ殑HTTP绔彛锛岄粯璁や负8080
+#    max-http-post-size: 2048M
   servlet:
     context-path: /
 spring:
+  servlet:
+    multipart:
+      max-file-size: -1
+      max-request-size: -1
   profiles:
     active: agent
   datasource:
diff --git a/src/main/resources/mapper/THistoryDao.xml b/src/main/resources/mapper/THistoryDao.xml
new file mode 100644
index 0000000..74a6fe4
--- /dev/null
+++ b/src/main/resources/mapper/THistoryDao.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+
+<mapper namespace="com.yb.dao.THistoryDao"  >
+
+	<!-- 鍙牴鎹嚜宸辩殑闇�姹傦紝鏄惁瑕佷娇鐢� -->
+    <resultMap type="com.yb.entity.THistoryEntity" id="tHistoryMap"  >
+        <result property="id" column="id"/>
+        <result property="sessionid" column="sessionid"/>
+        <result property="human" column="human"/>
+        <result property="ai" column="ai"/>
+        <result property="createTime" column="create_time"/>
+        <result property="updateTime" column="update_time"/>
+        <result property="userid" column="userid"/>
+    </resultMap>
+
+
+</mapper>
\ No newline at end of file
diff --git a/target/classes/application-agent.yml b/target/classes/application-agent.yml
index 65842a8..8f7db0d 100644
--- a/target/classes/application-agent.yml
+++ b/target/classes/application-agent.yml
@@ -21,7 +21,7 @@
     layerId: c8f3f75d-8730-44ec-81b7-f8ae4c5fd742
     #   鏌ヨ鍏抽敭瀛�
     #    queryFiled: enti_name
-    queryFiled: name_2
+    queryFiled: name,name_2,name_1
     #   鏌ヨ绫诲瀷瀛楁
     typeFiled: fclass_1
     #   瀹炰綋鍏抽敭瀛楁煡璇�
@@ -40,6 +40,7 @@
   agent:
     #  璁块棶鍦板潃
     agentUrl: http://106.120.22.26:5367
+#    agentUrl: http://103.135.160.14:5637
     #  鎰忓浘鍑芥暟
     agentIntent: /intention
     #  rag鏈嶅姟
diff --git a/target/classes/application.yml b/target/classes/application.yml
index 3166dd6..d51a06f 100644
--- a/target/classes/application.yml
+++ b/target/classes/application.yml
@@ -1,8 +1,13 @@
 server:
   port: 7777               # 鏈嶅姟鍣ㄧ殑HTTP绔彛锛岄粯璁や负8080
+#    max-http-post-size: 2048M
   servlet:
     context-path: /
 spring:
+  servlet:
+    multipart:
+      max-file-size: -1
+      max-request-size: -1
   profiles:
     active: agent
   datasource:
diff --git a/target/classes/com/yb/controller/THistoryController.class b/target/classes/com/yb/controller/THistoryController.class
new file mode 100644
index 0000000..071ef04
--- /dev/null
+++ b/target/classes/com/yb/controller/THistoryController.class
Binary files differ
diff --git a/target/classes/com/yb/controller/agentController.class b/target/classes/com/yb/controller/agentController.class
index 1acd0d4..e3a44b2 100644
--- a/target/classes/com/yb/controller/agentController.class
+++ b/target/classes/com/yb/controller/agentController.class
Binary files differ
diff --git a/target/classes/com/yb/controller/log/LoggerController.class b/target/classes/com/yb/controller/log/LoggerController.class
new file mode 100644
index 0000000..3ddb54d
--- /dev/null
+++ b/target/classes/com/yb/controller/log/LoggerController.class
Binary files differ
diff --git a/target/classes/com/yb/dao/THistoryDao.class b/target/classes/com/yb/dao/THistoryDao.class
new file mode 100644
index 0000000..864e3f2
--- /dev/null
+++ b/target/classes/com/yb/dao/THistoryDao.class
Binary files differ
diff --git a/target/classes/com/yb/entity/THistoryEntity.class b/target/classes/com/yb/entity/THistoryEntity.class
new file mode 100644
index 0000000..1744bbb
--- /dev/null
+++ b/target/classes/com/yb/entity/THistoryEntity.class
Binary files differ
diff --git a/target/classes/com/yb/service/IntentionService.class b/target/classes/com/yb/service/IntentionService.class
index 6bc9338..ee6eb43 100644
--- a/target/classes/com/yb/service/IntentionService.class
+++ b/target/classes/com/yb/service/IntentionService.class
Binary files differ
diff --git a/target/classes/com/yb/service/THistoryService.class b/target/classes/com/yb/service/THistoryService.class
new file mode 100644
index 0000000..f2c96e8
--- /dev/null
+++ b/target/classes/com/yb/service/THistoryService.class
Binary files differ
diff --git a/target/classes/com/yb/service/XzService.class b/target/classes/com/yb/service/XzService.class
index d8edebf..c614138 100644
--- a/target/classes/com/yb/service/XzService.class
+++ b/target/classes/com/yb/service/XzService.class
Binary files differ
diff --git a/target/classes/com/yb/service/impl/THistoryServiceImpl.class b/target/classes/com/yb/service/impl/THistoryServiceImpl.class
new file mode 100644
index 0000000..c163941
--- /dev/null
+++ b/target/classes/com/yb/service/impl/THistoryServiceImpl.class
Binary files differ
diff --git a/target/classes/mapper/THistoryDao.xml b/target/classes/mapper/THistoryDao.xml
new file mode 100644
index 0000000..74a6fe4
--- /dev/null
+++ b/target/classes/mapper/THistoryDao.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+
+<mapper namespace="com.yb.dao.THistoryDao"  >
+
+	<!-- 鍙牴鎹嚜宸辩殑闇�姹傦紝鏄惁瑕佷娇鐢� -->
+    <resultMap type="com.yb.entity.THistoryEntity" id="tHistoryMap"  >
+        <result property="id" column="id"/>
+        <result property="sessionid" column="sessionid"/>
+        <result property="human" column="human"/>
+        <result property="ai" column="ai"/>
+        <result property="createTime" column="create_time"/>
+        <result property="updateTime" column="update_time"/>
+        <result property="userid" column="userid"/>
+    </resultMap>
+
+
+</mapper>
\ No newline at end of file
diff --git a/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
index a95fa35..837c5ef 100644
--- a/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
+++ b/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
@@ -1,39 +1,45 @@
-com\yb\controller\WebSocketController.class
 com\yb\message\WebsocketConfiguration.class
-com\yb\config\SQLFilter.class
 com\yb\config\XzConfig.class
-com\yb\service\impl\TMetaServiceImpl.class
 com\yb\controller\GisOsmPoisFree1Controller.class
+com\yb\entity\GisOsmPoisFree1Entity.class
+com\yb\config\Constant$ScheduleStatus.class
+com\yb\config\R.class
+com\yb\message\WebSocketStompConfig.class
+com\yb\controller\TMetaController.class
+com\yb\dao\GisOsmPoisFree1Dao.class
+com\yb\service\THistoryService.class
+com\yb\entity\RelaEntity.class
+com\yb\dao\THistoryDao.class
+com\yb\service\IntentionService.class
+com\yb\util\OkHttpUtil.class
+com\yb\controller\XzController.class
+com\yb\service\TMetaService.class
+com\yb\controller\agentController.class
+com\yb\controller\WebSocketController.class
+com\yb\config\SQLFilter.class
+com\yb\service\impl\TMetaServiceImpl.class
+com\yb\service\impl\THistoryServiceImpl.class
 com\yb\config\Constant$MenuType.class
 com\yb\config\Swagger3Config.class
-com\yb\entity\GisOsmPoisFree1Entity.class
 com\yb\OllamaAiApplication.class
 com\yb\postgis\GeometrySerializer.class
 com\yb\service\impl\GisOsmPoisFree1ServiceImpl.class
 com\yb\entity\ResponseEntity.class
 com\yb\helper\RsaHelper.class
+com\yb\entity\THistoryEntity.class
 com\yb\message\WebSocketServer.class
 com\yb\postgis\AbstractGeometryTypeHandler.class
-com\yb\config\Constant$ScheduleStatus.class
-com\yb\config\R.class
-com\yb\message\WebSocketStompConfig.class
 com\yb\service\GisOsmPoisFree1Service.class
-com\yb\controller\TMetaController.class
 com\yb\service\AgentService.class
-com\yb\dao\GisOsmPoisFree1Dao.class
 com\yb\postgis\PointTypeHandler.class
 com\yb\util\EntityHttpUtil.class
 com\yb\entity\TMetaEntity.class
-com\yb\entity\RelaEntity.class
+com\yb\controller\log\LoggerController.class
 com\yb\dao\TMetaDao.class
-com\yb\service\IntentionService.class
 com\yb\service\XzService.class
 com\yb\config\Query.class
 com\yb\entity\ReqEntity.class
 com\yb\config\Constant.class
+com\yb\controller\THistoryController.class
 com\yb\postgis\GeometryDeserializer.class
-com\yb\util\OkHttpUtil.class
 com\yb\config\PageUtils.class
-com\yb\controller\XzController.class
-com\yb\service\TMetaService.class
-com\yb\controller\agentController.class
diff --git a/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
index ac7c31d..66d8265 100644
--- a/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
+++ b/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
@@ -18,16 +18,22 @@
 E:\project\AI澶фā鍨媆鏂版櫤瀵规帴\ollama_ai\src\main\java\com\yb\controller\GisOsmPoisFree1Controller.java
 E:\project\AI澶фā鍨媆鏂版櫤瀵规帴\ollama_ai\src\main\java\com\yb\entity\RelaEntity.java
 E:\project\AI澶фā鍨媆鏂版櫤瀵规帴\ollama_ai\src\main\java\com\yb\service\IntentionService.java
+E:\project\AI澶фā鍨媆鏂版櫤瀵规帴\ollama_ai\src\main\java\com\yb\controller\log\LoggerController.java
 E:\project\AI澶фā鍨媆鏂版櫤瀵规帴\ollama_ai\src\main\java\com\yb\service\impl\GisOsmPoisFree1ServiceImpl.java
+E:\project\AI澶фā鍨媆鏂版櫤瀵规帴\ollama_ai\src\main\java\com\yb\entity\THistoryEntity.java
 E:\project\AI澶фā鍨媆鏂版櫤瀵规帴\ollama_ai\src\main\java\com\yb\config\Constant.java
 E:\project\AI澶фā鍨媆鏂版櫤瀵规帴\ollama_ai\src\main\java\com\yb\controller\WebSocketController.java
+E:\project\AI澶фā鍨媆鏂版櫤瀵规帴\ollama_ai\src\main\java\com\yb\controller\THistoryController.java
+E:\project\AI澶фā鍨媆鏂版櫤瀵规帴\ollama_ai\src\main\java\com\yb\service\THistoryService.java
 E:\project\AI澶фā鍨媆鏂版櫤瀵规帴\ollama_ai\src\main\java\com\yb\dao\TMetaDao.java
 E:\project\AI澶фā鍨媆鏂版櫤瀵规帴\ollama_ai\src\main\java\com\yb\message\WebSocketStompConfig.java
 E:\project\AI澶фā鍨媆鏂版櫤瀵规帴\ollama_ai\src\main\java\com\yb\service\AgentService.java
+E:\project\AI澶фā鍨媆鏂版櫤瀵规帴\ollama_ai\src\main\java\com\yb\service\impl\THistoryServiceImpl.java
 E:\project\AI澶фā鍨媆鏂版櫤瀵规帴\ollama_ai\src\main\java\com\yb\helper\RsaHelper.java
 E:\project\AI澶фā鍨媆鏂版櫤瀵规帴\ollama_ai\src\main\java\com\yb\message\WebSocketServer.java
 E:\project\AI澶фā鍨媆鏂版櫤瀵规帴\ollama_ai\src\main\java\com\yb\config\R.java
 E:\project\AI澶фā鍨媆鏂版櫤瀵规帴\ollama_ai\src\main\java\com\yb\postgis\AbstractGeometryTypeHandler.java
+E:\project\AI澶фā鍨媆鏂版櫤瀵规帴\ollama_ai\src\main\java\com\yb\dao\THistoryDao.java
 E:\project\AI澶фā鍨媆鏂版櫤瀵规帴\ollama_ai\src\main\java\com\yb\controller\agentController.java
 E:\project\AI澶фā鍨媆鏂版櫤瀵规帴\ollama_ai\src\main\java\com\yb\postgis\GeometrySerializer.java
 E:\project\AI澶фā鍨媆鏂版櫤瀵规帴\ollama_ai\src\main\java\com\yb\config\PageUtils.java
diff --git a/target/ollama-ai-0.0.1-SNAPSHOT.jar b/target/ollama-ai-0.0.1-SNAPSHOT.jar
index b6ef3b8..5916bc5 100644
--- a/target/ollama-ai-0.0.1-SNAPSHOT.jar
+++ b/target/ollama-ai-0.0.1-SNAPSHOT.jar
Binary files differ
diff --git a/target/ollama-ai-0.0.1-SNAPSHOT.jar.original b/target/ollama-ai-0.0.1-SNAPSHOT.jar.original
index e849643..e72beee 100644
--- a/target/ollama-ai-0.0.1-SNAPSHOT.jar.original
+++ b/target/ollama-ai-0.0.1-SNAPSHOT.jar.original
Binary files differ

--
Gitblit v1.9.3