suerprisePlus
2024-09-23 e7c3276f2f5091fe8626af61ba5d7b41b2a1f2df
添加历史记录接口,坐标转换,功能优化
已添加14个文件
已修改15个文件
656 ■■■■ 文件已修改
pom.xml 39 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/yb/controller/THistoryController.java 133 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/yb/controller/agentController.java 37 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/yb/controller/log/LoggerController.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/yb/dao/THistoryDao.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/yb/entity/THistoryEntity.java 75 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/yb/service/IntentionService.java 46 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/yb/service/THistoryService.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/yb/service/XzService.java 114 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/yb/service/impl/THistoryServiceImpl.java 55 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/application-agent.yml 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/application.yml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/THistoryDao.xml 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
target/classes/application-agent.yml 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
target/classes/application.yml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
target/classes/com/yb/controller/THistoryController.class 补丁 | 查看 | 原始文档 | blame | 历史
target/classes/com/yb/controller/agentController.class 补丁 | 查看 | 原始文档 | blame | 历史
target/classes/com/yb/controller/log/LoggerController.class 补丁 | 查看 | 原始文档 | blame | 历史
target/classes/com/yb/dao/THistoryDao.class 补丁 | 查看 | 原始文档 | blame | 历史
target/classes/com/yb/entity/THistoryEntity.class 补丁 | 查看 | 原始文档 | blame | 历史
target/classes/com/yb/service/IntentionService.class 补丁 | 查看 | 原始文档 | blame | 历史
target/classes/com/yb/service/THistoryService.class 补丁 | 查看 | 原始文档 | blame | 历史
target/classes/com/yb/service/XzService.class 补丁 | 查看 | 原始文档 | blame | 历史
target/classes/com/yb/service/impl/THistoryServiceImpl.class 补丁 | 查看 | 原始文档 | blame | 历史
target/classes/mapper/THistoryDao.xml 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
target/ollama-ai-0.0.1-SNAPSHOT.jar 补丁 | 查看 | 原始文档 | blame | 历史
target/ollama-ai-0.0.1-SNAPSHOT.jar.original 补丁 | 查看 | 原始文档 | blame | 历史
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>
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);
    }
}
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);
    }
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";
    }
}
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> {
}
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;
}
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);
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);
}
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转换为WKT格式
@@ -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();
        // å®šä¹‰æºåæ ‡ç³»ï¼ˆWGS 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("转换后的坐标:X = " +wkt);
        return wkt;
    }
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);
    }
}
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服务
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:
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>
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服务
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:
target/classes/com/yb/controller/THistoryController.class
Binary files differ
target/classes/com/yb/controller/agentController.class
Binary files differ
target/classes/com/yb/controller/log/LoggerController.class
Binary files differ
target/classes/com/yb/dao/THistoryDao.class
Binary files differ
target/classes/com/yb/entity/THistoryEntity.class
Binary files differ
target/classes/com/yb/service/IntentionService.class
Binary files differ
target/classes/com/yb/service/THistoryService.class
Binary files differ
target/classes/com/yb/service/XzService.class
Binary files differ
target/classes/com/yb/service/impl/THistoryServiceImpl.class
Binary files differ
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>
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
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
target/ollama-ai-0.0.1-SNAPSHOT.jar
Binary files differ
target/ollama-ai-0.0.1-SNAPSHOT.jar.original
Binary files differ