suerprisePlus
2024-09-04 85af9acfccf2e944a97557d3e46d143b0e99e2f1
swagger 配置异常
已添加44个文件
已修改9个文件
已删除1个文件
1971 ■■■■ 文件已修改
pom.xml 49 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/yb/OllamaAiApplication.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/yb/config/Constant.java 106 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/yb/config/PageUtils.java 110 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/yb/config/Query.java 81 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/yb/config/SQLFilter.java 49 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/yb/config/Swagger3Config.java 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/yb/controller/GisOsmPoisFree1Controller.java 130 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/yb/controller/TMetaController.java 133 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/yb/controller/XzController2.java 309 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/yb/dao/GisOsmPoisFree1Dao.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/yb/dao/TMetaDao.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/yb/entity/GisOsmPoisFree1Entity.java 70 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/yb/entity/TMetaEntity.java 215 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/yb/postgis/AbstractGeometryTypeHandler.java 83 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/yb/postgis/GeometryDeserializer.java 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/yb/postgis/GeometrySerializer.java 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/yb/postgis/PointTypeHandler.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/yb/service/GisOsmPoisFree1Service.java 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/yb/service/TMetaService.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/yb/service/impl/GisOsmPoisFree1ServiceImpl.java 54 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/yb/service/impl/TMetaServiceImpl.java 54 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/application.yml 78 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/GisOsmPoisFree1Dao.xml 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/TMetaDao.xml 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
target/classes/application.yml 78 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
target/classes/com/yb/OllamaAiApplication.class 补丁 | 查看 | 原始文档 | blame | 历史
target/classes/com/yb/config/Constant$MenuType.class 补丁 | 查看 | 原始文档 | blame | 历史
target/classes/com/yb/config/Constant$ScheduleStatus.class 补丁 | 查看 | 原始文档 | blame | 历史
target/classes/com/yb/config/Constant.class 补丁 | 查看 | 原始文档 | blame | 历史
target/classes/com/yb/config/PageUtils.class 补丁 | 查看 | 原始文档 | blame | 历史
target/classes/com/yb/config/Query.class 补丁 | 查看 | 原始文档 | blame | 历史
target/classes/com/yb/config/SQLFilter.class 补丁 | 查看 | 原始文档 | blame | 历史
target/classes/com/yb/config/Swagger3Config.class 补丁 | 查看 | 原始文档 | blame | 历史
target/classes/com/yb/controller/GisOsmPoisFree1Controller.class 补丁 | 查看 | 原始文档 | blame | 历史
target/classes/com/yb/controller/TMetaController.class 补丁 | 查看 | 原始文档 | blame | 历史
target/classes/com/yb/dao/GisOsmPoisFree1Dao.class 补丁 | 查看 | 原始文档 | blame | 历史
target/classes/com/yb/dao/TMetaDao.class 补丁 | 查看 | 原始文档 | blame | 历史
target/classes/com/yb/entity/GisOsmPoisFree1Entity.class 补丁 | 查看 | 原始文档 | blame | 历史
target/classes/com/yb/entity/TMetaEntity.class 补丁 | 查看 | 原始文档 | blame | 历史
target/classes/com/yb/postgis/AbstractGeometryTypeHandler.class 补丁 | 查看 | 原始文档 | blame | 历史
target/classes/com/yb/postgis/GeometryDeserializer.class 补丁 | 查看 | 原始文档 | blame | 历史
target/classes/com/yb/postgis/GeometrySerializer.class 补丁 | 查看 | 原始文档 | blame | 历史
target/classes/com/yb/postgis/PointTypeHandler.class 补丁 | 查看 | 原始文档 | blame | 历史
target/classes/com/yb/service/GisOsmPoisFree1Service.class 补丁 | 查看 | 原始文档 | blame | 历史
target/classes/com/yb/service/TMetaService.class 补丁 | 查看 | 原始文档 | blame | 历史
target/classes/com/yb/service/impl/GisOsmPoisFree1ServiceImpl.class 补丁 | 查看 | 原始文档 | blame | 历史
target/classes/com/yb/service/impl/TMetaServiceImpl.class 补丁 | 查看 | 原始文档 | blame | 历史
target/classes/mapper/GisOsmPoisFree1Dao.xml 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
target/classes/mapper/TMetaDao.xml 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst 31 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst 33 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
target/ollama-ai-0.0.1-SNAPSHOT.jar 补丁 | 查看 | 原始文档 | blame | 历史
target/ollama-ai-0.0.1-SNAPSHOT.jar.original 补丁 | 查看 | 原始文档 | blame | 历史
pom.xml
@@ -89,6 +89,55 @@
            <artifactId>jts-core</artifactId>
            <version>1.18.2</version>
        </dependency>
        <dependency>
            <groupId>net.postgis</groupId>
            <artifactId>postgis-jdbc</artifactId>
            <version>2.5.0</version>
        </dependency>
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid-spring-boot-starter</artifactId>
            <version>1.1.13</version>
        </dependency>
        <dependency>
            <groupId>org.locationtech.jts</groupId>
            <artifactId>jts-core</artifactId>
            <version>1.18.1</version> <!-- è¯·ä½¿ç”¨æœ€æ–°çš„版本号 -->
        </dependency>
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.3.1</version>
            <exclusions>
                <exclusion>
                    <groupId>com.baomidou</groupId>
                    <artifactId>mybatis-plus-generator</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <!-- Spring Boot Starter Web -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </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>com.github.xiaoymin</groupId>
            <artifactId>swagger-bootstrap-ui</artifactId>
            <version>1.9.6</version>
        </dependency>
    </dependencies>
    <dependencyManagement>
        <dependencies>
src/main/java/com/yb/OllamaAiApplication.java
@@ -2,9 +2,11 @@
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
@SpringBootApplication
//@EnableSwagger2
public class OllamaAiApplication {
    public static void main(String[] args) {
src/main/java/com/yb/config/Constant.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,106 @@
/**
 * Copyright (c) 2016-2019 äººäººå¼€æº All rights reserved.
 * <p>
 * https://www.renren.io
 * <p>
 * ç‰ˆæƒæ‰€æœ‰ï¼Œä¾µæƒå¿…究!
 */
package com.yb.config;
/**
 * å¸¸é‡
 *
 * @author Mark sunlightcs@gmail.com
 */
public class Constant {
    /**
     * è¶…级管理员ID
     */
    public static final int SUPER_ADMIN = 1;
    /**
     * å½“前页码
     */
    public static final String PAGE = "page";
    /**
     * æ¯é¡µæ˜¾ç¤ºè®°å½•æ•°
     */
    public static final String LIMIT = "limit";
    /**
     * æŽ’序字段
     */
    public static final String ORDER_FIELD = "sidx";
    /**
     * æŽ’序方式
     */
    public static final String ORDER = "order";
    /**
     * å‡åº
     */
    public static final String ASC = "asc";
    /**
     * èœå•类型
     *
     * @author chenshun
     * @email sunlightcs@gmail.com
     * @date 2016å¹´11月15日 ä¸‹åˆ1:24:29
     */
    public enum MenuType {
        /**
         * ç›®å½•
         */
        CATALOG(0),
        /**
         * èœå•
         */
        MENU(1),
        /**
         * æŒ‰é’®
         */
        BUTTON(2);
        private int value;
        MenuType(int value) {
            this.value = value;
        }
        public int getValue() {
            return value;
        }
    }
    /**
     * å®šæ—¶ä»»åŠ¡çŠ¶æ€
     *
     * @author chenshun
     * @email sunlightcs@gmail.com
     * @date 2016å¹´12月3日 ä¸Šåˆ12:07:22
     */
    public enum ScheduleStatus {
        /**
         * æ­£å¸¸
         */
        NORMAL(0),
        /**
         * æš‚停
         */
        PAUSE(1);
        private int value;
        ScheduleStatus(int value) {
            this.value = value;
        }
        public int getValue() {
            return value;
        }
    }
}
src/main/java/com/yb/config/PageUtils.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,110 @@
/**
 * Copyright (c) 2016-2019 äººäººå¼€æº All rights reserved.
 *
 * https://www.renren.io
 *
 * ç‰ˆæƒæ‰€æœ‰ï¼Œä¾µæƒå¿…究!
 */
package com.yb.config;
import com.baomidou.mybatisplus.core.metadata.IPage;
import java.io.Serializable;
import java.util.List;
/**
 * åˆ†é¡µå·¥å…·ç±»
 *
 * @author Mark sunlightcs@gmail.com
 */
public class PageUtils implements Serializable {
    private static final long serialVersionUID = 1L;
    /**
     * æ€»è®°å½•æ•°
     */
    private int totalCount;
    /**
     * æ¯é¡µè®°å½•æ•°
     */
    private int pageSize;
    /**
     * æ€»é¡µæ•°
     */
    private int totalPage;
    /**
     * å½“前页数
     */
    private int currPage;
    /**
     * åˆ—表数据
     */
    private List<?> list;
    /**
     * åˆ†é¡µ
     * @param list        åˆ—表数据
     * @param totalCount  æ€»è®°å½•æ•°
     * @param pageSize    æ¯é¡µè®°å½•æ•°
     * @param currPage    å½“前页数
     */
    public PageUtils(List<?> list, int totalCount, int pageSize, int currPage) {
        this.list = list;
        this.totalCount = totalCount;
        this.pageSize = pageSize;
        this.currPage = currPage;
        this.totalPage = (int) Math.ceil((double)totalCount/pageSize);
    }
    /**
     * åˆ†é¡µ
     */
    public PageUtils(IPage<?> page) {
        this.list = page.getRecords();
        this.totalCount = (int)page.getTotal();
        this.pageSize = (int)page.getSize();
        this.currPage = (int)page.getCurrent();
        this.totalPage = (int)page.getPages();
    }
    public int getTotalCount() {
        return totalCount;
    }
    public void setTotalCount(int totalCount) {
        this.totalCount = totalCount;
    }
    public int getPageSize() {
        return pageSize;
    }
    public void setPageSize(int pageSize) {
        this.pageSize = pageSize;
    }
    public int getTotalPage() {
        return totalPage;
    }
    public void setTotalPage(int totalPage) {
        this.totalPage = totalPage;
    }
    public int getCurrPage() {
        return currPage;
    }
    public void setCurrPage(int currPage) {
        this.currPage = currPage;
    }
    public List<?> getList() {
        return list;
    }
    public void setList(List<?> list) {
        this.list = list;
    }
}
src/main/java/com/yb/config/Query.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,81 @@
/**
 * Copyright (c) 2016-2019 äººäººå¼€æº All rights reserved.
 *
 * https://www.renren.io
 *
 * ç‰ˆæƒæ‰€æœ‰ï¼Œä¾µæƒå¿…究!
 */
package com.yb.config;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.metadata.OrderItem;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.commons.lang.StringUtils;
import java.util.Map;
/**
 * æŸ¥è¯¢å‚æ•°
 *
 * @author Mark sunlightcs@gmail.com
 */
public class Query<T> {
    public IPage<T> getPage(Map<String, Object> params) {
        return this.getPage(params, null, false);
    }
    public IPage<T> getPage(Map<String, Object> params, String defaultOrderField, boolean isAsc)  {
        //分页参数
        long curPage = 1;
        long limit = 10;
        if(params.get(Constant.PAGE) != null){
            curPage = Long.parseLong((String)params.get(Constant.PAGE));
        }
        if(params.get(Constant.LIMIT) != null){
            limit = Long.parseLong((String)params.get(Constant.LIMIT));
        }
        //分页对象
        Page<T> page = new Page<>(curPage, limit);
        //分页参数
        params.put(Constant.PAGE, page);
        //排序字段
        //防止SQL注入(因为sidx、order是通过拼接SQL实现排序的,会有SQL注入风险)
        String orderField = null;
        try {
            orderField = SQLFilter.sqlInject((String)params.get(Constant.ORDER_FIELD));
        } catch (Exception e) {
            e.printStackTrace();
        }
        String order = (String)params.get(Constant.ORDER);
        //前端字段排序
        if(StringUtils.isNotEmpty(orderField) && StringUtils.isNotEmpty(order)){
            if(Constant.ASC.equalsIgnoreCase(order)) {
                return  page.addOrder(OrderItem.asc(orderField));
            }else {
                return page.addOrder(OrderItem.desc(orderField));
            }
        }
        //没有排序字段,则不排序
        if(StringUtils.isBlank(defaultOrderField)){
            return page;
        }
        //默认排序
        if(isAsc) {
            page.addOrder(OrderItem.asc(defaultOrderField));
        }else {
            page.addOrder(OrderItem.desc(defaultOrderField));
        }
        return page;
    }
}
src/main/java/com/yb/config/SQLFilter.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,49 @@
/**
 * Copyright (c) 2016-2019 äººäººå¼€æº All rights reserved.
 *
 * https://www.renren.io
 *
 * ç‰ˆæƒæ‰€æœ‰ï¼Œä¾µæƒå¿…究!
 */
package com.yb.config;
import org.apache.commons.lang.StringUtils;
/**
 * SQL过滤
 *
 * @author Mark sunlightcs@gmail.com
 */
public class SQLFilter {
    /**
     * SQL注入过滤
     * @param str  å¾…验证的字符串
     */
    public static String sqlInject(String str) throws Exception {
        if(StringUtils.isBlank(str)){
            return null;
        }
        //去掉'|"|;|\字符
        str = StringUtils.replace(str, "'", "");
        str = StringUtils.replace(str, "\"", "");
        str = StringUtils.replace(str, ";", "");
        str = StringUtils.replace(str, "\\", "");
        //转换成小写
        str = str.toLowerCase();
        //非法字符
        String[] keywords = {"master", "truncate", "insert", "select", "delete", "update", "declare", "alter", "drop"};
        //判断是否包含非法字符
        for(String keyword : keywords){
            if(str.indexOf(keyword) != -1){
                throw new Exception("包含非法字符");
            }
        }
        return str;
    }
}
src/main/java/com/yb/config/Swagger3Config.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,26 @@
package com.yb.config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
@Configuration
@EnableSwagger2
public class Swagger3Config {
    @Bean
    public Docket api() {
        return new Docket(DocumentationType.SWAGGER_2)
                .select()
                .apis(RequestHandlerSelectors.any())
                .paths(PathSelectors.any())
                .build();
    }
}
src/main/java/com/yb/controller/GisOsmPoisFree1Controller.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,130 @@
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.yb.config.PageUtils;
import com.yb.config.R;
import com.yb.entity.GisOsmPoisFree1Entity;
import com.yb.service.GisOsmPoisFree1Service;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
/**
 * ${comments}
 *
 * @author yw
 * @email leutu@qq.com
 * @date 2024-09-03 17:26:02
 */
@RestController
@RequestMapping("malan/gisosmpoisfree1")
public class GisOsmPoisFree1Controller {
    @Autowired
    private GisOsmPoisFree1Service gisOsmPoisFree1Service;
    /**
     * åˆ—表
     */
    @GetMapping("/list")
    @ApiOperation(value = "list", notes = "参数 ï¼š page,limit")
    public R list(@RequestParam Map<String, Object> params){
        PageUtils page = gisOsmPoisFree1Service.queryPage(params);
        return R.ok().put("page", page);
    }
    /**
     * åˆ—表
     */
    @GetMapping("/query")
    @ApiOperation(value = "query", notes = "")
    public R query(@RequestParam Map<String, Object> params){
        PageUtils page = gisOsmPoisFree1Service.query(params);
        return R.ok().put("page", page);
    }
    /**
        * åˆ—表
        */
    @PostMapping("/listAll")
    @ApiOperation(value = "listAll", notes = "")
    public R listAll(){
        PageUtils page = gisOsmPoisFree1Service.queryPage(new HashMap<String,Object>());
        return R.ok().put("page", page);
    }
    /**
     * ä¿¡æ¯
     */
    @PostMapping("/info/{gid}")
    @ApiOperation(value = "info", notes = "")
    public R info(@PathVariable("gid") Integer gid){
        GisOsmPoisFree1Entity gisOsmPoisFree1 = gisOsmPoisFree1Service.getById(gid);
        return R.ok().put("gisOsmPoisFree1", gisOsmPoisFree1);
    }
    /**
     * ä¿å­˜
     */
    @PostMapping("/save")
    @ApiOperation(value = "save", notes = "")
    public R save(@RequestBody GisOsmPoisFree1Entity gisOsmPoisFree1){
        gisOsmPoisFree1Service.save(gisOsmPoisFree1);
        return R.ok();
    }
    /**
     * ä¿®æ”¹
     */
    @PostMapping("/update")
    @ApiOperation(value = "update", notes = "")
    public R update(@RequestBody GisOsmPoisFree1Entity gisOsmPoisFree1){
        gisOsmPoisFree1Service.updateById(gisOsmPoisFree1);
        return R.ok();
    }
    /**
     * åˆ é™¤
     */
    @PostMapping("/delete")
    @ApiOperation(value = "delete", notes = "")
    public R delete(@RequestBody Integer[] gids){
        gisOsmPoisFree1Service.removeByIds(Arrays.asList(gids));
        return R.ok();
    }
    /**
    * ä¿®æ”¹
    */
    @PostMapping("/getTableMeta")
    @ApiOperation(value = "getTableMeta", notes = "")
    public R getTableMeta() {
        ArrayList<Map<String,String>> list  = new ArrayList<Map<String,String>>();
        Field[] fields =GisOsmPoisFree1Entity.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/TMetaController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,133 @@
package com.yb.controller;
import java.lang.reflect.Field;
import java.util.*;
import com.yb.config.PageUtils;
import com.yb.config.R;
import com.yb.entity.TMetaEntity;
import com.yb.service.TMetaService;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
/**
 * ${comments}
 *
 * @author yw
 * @email leutu@qq.com
 * @date 2024-09-04 11:00:45
 */
@RestController
@RequestMapping("malan/tmeta")
public class TMetaController {
    @Autowired
    private TMetaService tMetaService;
    /**
     * åˆ—表
     */
    @GetMapping("/list")
    @ApiOperation(value = "list", notes = "参数 ï¼š page,limit")
    public R list(@RequestParam Map<String, Object> params){
        PageUtils page = tMetaService.queryPage(params);
        return R.ok().put("page", page);
    }
    /**
     * åˆ—表
     */
    @GetMapping("/query")
    @ApiOperation(value = "query", notes = "")
    public R query(@RequestParam Map<String, Object> params){
        PageUtils page = tMetaService.query(params);
        return R.ok().put("page", page);
    }
    /**
        * åˆ—表
        */
    @PostMapping("/listAll")
    @ApiOperation(value = "listAll", notes = "")
    public R listAll(){
        PageUtils page = tMetaService.queryPage(new HashMap<String,Object>());
        return R.ok().put("page", page);
    }
    /**
     * ä¿¡æ¯
     */
    @PostMapping("/info/{defaultvisilibity}")
    @ApiOperation(value = "info", notes = "")
    public R info(@PathVariable("defaultvisilibity") Boolean defaultvisilibity){
        TMetaEntity tMeta = tMetaService.getById(defaultvisilibity);
        return R.ok().put("tMeta", tMeta);
    }
    /**
     * ä¿å­˜
     */
    @PostMapping("/save")
    @ApiOperation(value = "save", notes = "")
    public R save(@RequestBody TMetaEntity tMeta){
        tMetaService.save(tMeta);
        return R.ok();
    }
    @PostMapping("/saveList")
    @ApiOperation(value = "saveList", notes = "")
    public R saveList(@RequestBody List<TMetaEntity> tMeta){
        tMetaService.saveBatch(tMeta);
        return R.ok();
    }
    /**
     * ä¿®æ”¹
     */
    @PostMapping("/update")
    @ApiOperation(value = "update", notes = "")
    public R update(@RequestBody TMetaEntity tMeta){
        tMetaService.updateById(tMeta);
        return R.ok();
    }
    /**
     * åˆ é™¤
     */
    @PostMapping("/delete")
    @ApiOperation(value = "delete", notes = "")
    public R delete(@RequestBody Boolean[] defaultvisilibitys){
        tMetaService.removeByIds(Arrays.asList(defaultvisilibitys));
        return R.ok();
    }
    /**
    * ä¿®æ”¹
    */
    @PostMapping("/getTableMeta")
    @ApiOperation(value = "getTableMeta", notes = "")
    public R getTableMeta() {
        ArrayList<Map<String,String>> list  = new ArrayList<Map<String,String>>();
        Field[] fields =TMetaEntity.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/XzController2.java
ÎļþÒÑɾ³ý
src/main/java/com/yb/dao/GisOsmPoisFree1Dao.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,18 @@
package com.yb.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yb.entity.GisOsmPoisFree1Entity;
import org.apache.ibatis.annotations.Mapper;
/**
 * ${comments}
 *
 * @author yw
 * @email leutu@qq.com
 * @date 2024-09-03 17:26:02
 */
@Mapper
public interface GisOsmPoisFree1Dao extends BaseMapper<GisOsmPoisFree1Entity> {
}
src/main/java/com/yb/dao/TMetaDao.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,17 @@
package com.yb.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yb.entity.TMetaEntity;
import org.apache.ibatis.annotations.Mapper;
/**
 * ${comments}
 *
 * @author yw
 * @email leutu@qq.com
 * @date 2024-09-04 11:00:45
 */
@Mapper
public interface TMetaDao extends BaseMapper<TMetaEntity> {
}
src/main/java/com/yb/entity/GisOsmPoisFree1Entity.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,70 @@
package com.yb.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.yb.postgis.GeometryDeserializer;
import com.yb.postgis.GeometrySerializer;
import com.yb.postgis.PointTypeHandler;
import lombok.Data;
import org.locationtech.jts.geom.Point;
/**
 * ${comments}
 *
 * @author yw
 * @email leutu@qq.com
 * @date 2024-09-03 17:26:02
 */
@Data
@TableName(value = "gis_osm_pois_free_1", autoResultMap = true)
public class GisOsmPoisFree1Entity implements Serializable {
    private static final long serialVersionUID = 1L;
    /**
     * $column.comments
     */
    private Integer gid;
    /**
     * $column.comments
     */
    private String osm_id;
    /**
     * $column.comments
     */
    private Integer code;
    /**
     * $column.comments
     */
    private String fclass;
    /**
     * $column.comments
     */
    private String name;
    /**
     * $column.comments
     */
    @JsonDeserialize(using = GeometryDeserializer.class)
    @JsonSerialize(using = GeometrySerializer.class)
    @TableField(typeHandler = PointTypeHandler.class)
    private Point geom;
}
src/main/java/com/yb/entity/TMetaEntity.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,215 @@
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 java.util.HashMap;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
/**
 * ${comments}
 *
 * @author yw
 * @email leutu@qq.com
 * @date 2024-09-04 11:00:45
 */
@Data
@TableName(value = "t_meta", autoResultMap = true)
public class TMetaEntity implements Serializable {
    private static final long serialVersionUID = 1L;
    /**
     * $column.comments
     */
    private Boolean defaultvisilibity;
    /**
     * $column.comments
     */
    private String arearender;
    /**
     * $column.comments
     */
    private String description;
    /**
     * $column.comments
     */
    private String parentid;
    /**
     * $column.comments
     */
    private String businessfield;
    /**
     * $column.comments
     */
    private String displayscale;
    /**
     * $column.comments
     */
    private String lablefield;
    /**
     * $column.comments
     */
    private String defaultlod;
    /**
     * $column.comments
     */
    private String servicename;
    /**
     * $column.comments
     */
    @TableId(value = "id", type = IdType.INPUT)
    private String id;
    /**
     * $column.comments
     */
    private String tablename;
    /**
     * $column.comments
     */
    private String displayfield;
    /**
     * $column.comments
     */
    private String childlayerid;
    /**
     * $column.comments
     */
    private String lods;
    /**
     * $column.comments
     */
    private String dataformat;
    /**
     * $column.comments
     */
    private String versionfield;
    /**
     * $column.comments
     */
    private String linerender;
    /**
     * $column.comments
     */
    private Integer _data_type;
    /**
     * $column.comments
     */
    private Integer displayorder;
    /**
     * $column.comments
     */
    private String lableinfo;
    /**
     * $column.comments
     */
    private String pointrender;
    /**
     * $column.comments
     */
    private Boolean expand;
    /**
     * $column.comments
     */
    private String relfield;
    /**
     * $column.comments
     */
    private String polygonlod;
    /**
     * $column.comments
     */
    private String name;
    /**
     * $column.comments
     */
    private String pointlod;
    /**
     * $column.comments
     */
    private Boolean isfolder;
    /**
     * $column.comments
     */
    private String polylinelod;
    /**
     * $column.comments
     */
    private String logitudefield;
    /**
     * $column.comments
     */
    private String latitudefield;
    /**
     * $column.comments
     */
    private String heightfield;
}
src/main/java/com/yb/postgis/AbstractGeometryTypeHandler.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,83 @@
package com.yb.postgis;
import org.locationtech.jts.geom.Geometry;
import org.locationtech.jts.io.WKTReader;
import org.locationtech.jts.io.WKTWriter;
import lombok.SneakyThrows;
import org.apache.ibatis.type.BaseTypeHandler;
import org.apache.ibatis.type.JdbcType;
import org.postgis.PGgeometry;
import java.sql.CallableStatement;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
/**
 * Geometry字段和MyBatis类型转换器
 *
 * @param <T> å…·ä½“的几何类型
 * @author wangrubin
 * @date 2022-08-06
 */
public abstract class AbstractGeometryTypeHandler<T extends Geometry> extends BaseTypeHandler<T> {
    /**
     * WKTReader非线程安全
     */
    private static final ThreadLocal<WKTReader> READER_POOL = ThreadLocal.withInitial(WKTReader::new);
    /**
     * WKTWriter非线程安全
     */
    private static final ThreadLocal<WKTWriter> WRITER_POOL = ThreadLocal.withInitial(WKTWriter::new);
    /**
     * ä¸Žæ•°æ®åº“中几何列的空间坐标系保持一致,要不然写入会报错
     */
    private static final int SRID_IN_DB = 4326;
    @Override
    public void setNonNullParameter(PreparedStatement ps, int i, T parameter, JdbcType jdbcType) throws SQLException {
        PGgeometry pGgeometry = new PGgeometry(WRITER_POOL.get().write(parameter));
        org.postgis.Geometry geometry = pGgeometry.getGeometry();
        geometry.setSrid(SRID_IN_DB);
        ps.setObject(i, pGgeometry);
    }
    @SneakyThrows
    @Override
    public T getNullableResult(ResultSet rs, String columnName) throws SQLException {
        PGgeometry pgGeometry = (PGgeometry) rs.getObject(columnName);
        return getResult(pgGeometry);
    }
    @SneakyThrows
    @Override
    public T getNullableResult(ResultSet rs, int columnIndex) throws SQLException {
        PGgeometry pgGeometry = (PGgeometry) rs.getObject(columnIndex);
        return getResult(pgGeometry);
    }
    @SneakyThrows
    @Override
    public T getNullableResult(CallableStatement cs, int columnIndex) throws SQLException {
        PGgeometry string = (PGgeometry) cs.getObject(columnIndex);
        return getResult(string);
    }
    private T getResult(PGgeometry pGgeometry) {
        if (pGgeometry == null) {
            return null;
        }
        String pgWkt = pGgeometry.toString();
        String target = String.format("SRID=%s;", SRID_IN_DB);
        String wkt = pgWkt.replace(target, "");
        try {
            return (T) READER_POOL.get().read(wkt);
        } catch (Exception e) {
            throw new RuntimeException("解析wkt失败:" + wkt, e);
        }
    }
}
src/main/java/com/yb/postgis/GeometryDeserializer.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,40 @@
package com.yb.postgis;
import java.io.IOException;
import com.fasterxml.jackson.core.JsonParser;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.DeserializationContext;
import com.fasterxml.jackson.databind.JsonDeserializer;
import com.google.common.base.Strings;
//import jdk.internal.joptsimple.internal.Strings;
import org.locationtech.jts.geom.Geometry;
import org.locationtech.jts.io.ParseException;
import org.locationtech.jts.io.WKTReader;
/**
 * Deserialize WKT property as Geometry Object with Jackson<br>
 *
 * @param <T>
 * @author guyadong
 */
public class GeometryDeserializer<T extends Geometry> extends JsonDeserializer<T> {
    @SuppressWarnings("unchecked")
    @Override
    public T deserialize(JsonParser jp, DeserializationContext ctxt)
            throws IOException, JsonProcessingException {
        try {
            String text = jp.getValueAsString();
            if (Strings.isNullOrEmpty(text)) {
                return null;
            }
            WKTReader reader = new WKTReader();
            return (T) reader.read(text);
        } catch (ParseException e) {
            throw new IOException(e);
        }
    }
}
src/main/java/com/yb/postgis/GeometrySerializer.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,25 @@
package com.yb.postgis;
import java.io.IOException;
import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.JsonSerializer;
import com.fasterxml.jackson.databind.SerializerProvider;
import org.locationtech.jts.geom.Geometry;
/**
 * Serializing Geometry property as WKT String with Jackson<br>
 *
 * @param <T>
 * @author guyadong
 */
public class GeometrySerializer<T extends Geometry> extends JsonSerializer<T> {
    @Override
    public void serialize(T value, JsonGenerator gen, SerializerProvider serializers)
            throws IOException, JsonProcessingException {
        gen.writeString(value.toText());
    }
}
src/main/java/com/yb/postgis/PointTypeHandler.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,16 @@
package com.yb.postgis;
import org.locationtech.jts.geom.Point;
import org.apache.ibatis.type.MappedTypes;
/**
 * Point的类型转换器
 *
 * @author wangrubin1
 * @date 2022-08-19
 */
@MappedTypes({Point.class})
public class PointTypeHandler extends AbstractGeometryTypeHandler<Point> {
}
src/main/java/com/yb/service/GisOsmPoisFree1Service.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,24 @@
package com.yb.service;
import com.yb.config.PageUtils;
import com.yb.entity.GisOsmPoisFree1Entity;
import com.baomidou.mybatisplus.extension.service.IService;
import org.springframework.stereotype.Service;
import java.util.Map;
/**
 * ${comments}
 *
 * @author yw
 * @email leutu@qq.com
 * @date 2024-09-03 17:26:02
 */
public interface GisOsmPoisFree1Service extends IService<GisOsmPoisFree1Entity> {
    PageUtils queryPage(Map<String, Object> params);
    PageUtils query(Map<String, Object> params);
}
src/main/java/com/yb/service/TMetaService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,22 @@
package com.yb.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yb.config.PageUtils;
import com.yb.entity.TMetaEntity;
import java.util.Map;
/**
 * ${comments}
 *
 * @author yw
 * @email leutu@qq.com
 * @date 2024-09-04 11:00:45
 */
public interface TMetaService extends IService<TMetaEntity> {
    PageUtils queryPage(Map<String, Object> params);
    PageUtils query(Map<String, Object> params);
}
src/main/java/com/yb/service/impl/GisOsmPoisFree1ServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,54 @@
package com.yb.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yb.config.PageUtils;
import com.yb.config.Query;
import com.yb.dao.GisOsmPoisFree1Dao;
import com.yb.entity.GisOsmPoisFree1Entity;
import com.yb.service.GisOsmPoisFree1Service;
import org.springframework.stereotype.Service;
import java.util.HashMap;
import java.util.Map;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@Service("gisOsmPoisFree1Service")
public class GisOsmPoisFree1ServiceImpl extends ServiceImpl<GisOsmPoisFree1Dao, GisOsmPoisFree1Entity> implements GisOsmPoisFree1Service {
    @Override
    public PageUtils queryPage(Map<String, Object> params) {
        IPage<GisOsmPoisFree1Entity> page = this.page(
                new Query<GisOsmPoisFree1Entity>().getPage(params),
                new QueryWrapper<GisOsmPoisFree1Entity>()
        );
        return new PageUtils(page);
    }
    @Override
    public PageUtils query(Map<String, Object> params) {
        Map<String,Object> p = new HashMap<>();
        QueryWrapper q = new QueryWrapper<GisOsmPoisFree1Entity>();
        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<GisOsmPoisFree1Entity> page = this.page(
                new Query<GisOsmPoisFree1Entity>().getPage(p),
               q
        );
        return new PageUtils(page);
    }
}
src/main/java/com/yb/service/impl/TMetaServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,54 @@
package com.yb.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yb.config.PageUtils;
import com.yb.config.Query;
import com.yb.dao.TMetaDao;
import com.yb.entity.TMetaEntity;
import com.yb.service.TMetaService;
import org.springframework.stereotype.Service;
import java.util.HashMap;
import java.util.Map;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@Service("tMetaService")
public class TMetaServiceImpl extends ServiceImpl<TMetaDao, TMetaEntity> implements TMetaService {
    @Override
    public PageUtils queryPage(Map<String, Object> params) {
        IPage<TMetaEntity> page = this.page(
                new Query<TMetaEntity>().getPage(params),
                new QueryWrapper<TMetaEntity>()
        );
        return new PageUtils(page);
    }
    @Override
    public PageUtils query(Map<String, Object> params) {
        Map<String,Object> p = new HashMap<>();
        QueryWrapper q = new QueryWrapper<TMetaEntity>();
        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<TMetaEntity> page = this.page(
                new Query<TMetaEntity>().getPage(p),
               q
        );
        return new PageUtils(page);
    }
}
src/main/resources/application.yml
@@ -3,13 +3,41 @@
  servlet:
    context-path: /
spring:
  datasource:
    type: com.alibaba.druid.pool.DruidDataSource
    driverClassName: org.postgresql.Driver
    url: jdbc:postgresql://192.168.11.95:5433/llmdb
    username: postgres
    password: postgres
  jackson:
    time-zone: GMT+8
    date-format: yyyy-MM-dd HH:mm:ss
    #  åœ°ç†å®žä½“库
  geographical:
    #    Token地址
    token: 9ce350f238ba44fda10ddfe8b80f8967
    #    è¯·æ±‚地址
    url: http://106.120.22.26:8013/geo-service/
    #    èŽ·å–å®žä½“åº“åˆ—è¡¨
    canview: /entitydb/list/canview
    #    æŸ¥è¯¢å›¾å±‚数据(或数量)
    queryEntity: /entitydbdata/query/entity
    #    èŽ·å–key唯一标识
    publickey: /setting/publickey
    #   å®žä½“库名称
    entityName: å¤§æ¨¡åž‹æµ‹è¯•库
    #    å®žä½“库dbid
    dbid: 3dce04bbab1540b5ae3d147e8503ab9d
    #    å®žä½“库dbid
    layerId: a61f2f8f-0bf9-422f-86fe-b7b0a30ebad9
  application:
    name: ollama-ai
  ai:
    ollama:
      base-url: http://127.0.0.1:11434
      chat:
#        model: yi:9b-chat-v1.5-q4_0
        #        model: yi:9b-chat-v1.5-q4_0
        model: qwen2:1.5b
  intent: http://106.120.22.26:5368/intention?message
  fastgpt:
@@ -19,25 +47,37 @@
    kc: http://192.168.11.28/api/core/dataset/create
    kl: http://192.168.11.28/api/core/dataset/list
    kd: http://192.168.11.28/api/core/dataset/detail
#  åœ°ç†å®žä½“库
  geographical:
#    Token地址
    token: 9ce350f238ba44fda10ddfe8b80f8967
#    è¯·æ±‚地址
    url: http://106.120.22.26:8013/geo-service/
#    èŽ·å–å®žä½“åº“åˆ—è¡¨
    canview: /entitydb/list/canview
#    æŸ¥è¯¢å›¾å±‚数据(或数量)
    queryEntity: /entitydbdata/query/entity
#    èŽ·å–key唯一标识
    publickey: /setting/publickey
#   å®žä½“库名称
    entityName: å¤§æ¨¡åž‹æµ‹è¯•库
#    å®žä½“库dbid
    dbid: 3dce04bbab1540b5ae3d147e8503ab9d
#    å®žä½“库dbid
    layerId: a61f2f8f-0bf9-422f-86fe-b7b0a30ebad9
mybatis-plus:
  mapper-locations: classpath*:/mapper/**/*.xml
  #实体扫描,多个package用逗号或者分号分隔
  typeAliasesPackage: com.terra.*.entity
  #type-handlers-package: com.terra.peiwang.postgis
  global-config:
    #数据库相关配置
    db-config:
      #主键类型  AUTO:"数据库ID自增", INPUT:"用户输入ID", ID_WORKER:"全局唯一ID (数字类型唯一ID)", UUID:"全局唯一ID UUID";
      id-type: AUTO
      logic-delete-value: -1
      logic-not-delete-value: 0
    banner: false
  #原生配置
  configuration:
    map-underscore-to-camel-case: false
    cache-enabled: false
    jdbc-type-for-null: 'null'
    # è¿™ä¸ªé…ç½®ä¼šå°†æ‰§è¡Œçš„sql打印出来,在开发或测试的时候可以用
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
    # è¿”回类型为Map,显示null对应的字段
    call-setters-on-nulls: true
pagehelper:
  reasonable: true
  supportMethodsArguments: true
  params: count=countSql
src/main/resources/mapper/GisOsmPoisFree1Dao.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,17 @@
<?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.GisOsmPoisFree1Dao">
    <!-- å¯æ ¹æ®è‡ªå·±çš„需求,是否要使用 -->
    <resultMap type="com.yb.entity.GisOsmPoisFree1Entity" id="gisOsmPoisFree1Map">
        <result property="gid" column="gid"/>
        <result property="osmId" column="osm_id"/>
        <result property="code" column="code"/>
        <result property="fclass" column="fclass"/>
        <result property="name" column="name"/>
        <result property="Geometry" column="geom"/>
    </resultMap>
</mapper>
src/main/resources/mapper/TMetaDao.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,42 @@
<?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.TMetaDao">
    <!-- å¯æ ¹æ®è‡ªå·±çš„需求,是否要使用 -->
    <resultMap type="com.yb.entity.TMetaEntity" id="tMetaMap">
        <result property="defaultvisilibity" column="defaultvisilibity"/>
        <result property="arearender" column="arearender"/>
        <result property="description" column="description"/>
        <result property="parentid" column="parentid"/>
        <result property="businessfield" column="businessfield"/>
        <result property="displayscale" column="displayscale"/>
        <result property="lablefield" column="lablefield"/>
        <result property="defaultlod" column="defaultlod"/>
        <result property="servicename" column="servicename"/>
        <result property="id" column="id"/>
        <result property="tablename" column="tablename"/>
        <result property="displayfield" column="displayfield"/>
        <result property="childlayerid" column="childlayerid"/>
        <result property="lods" column="lods"/>
        <result property="dataformat" column="dataformat"/>
        <result property="versionfield" column="versionfield"/>
        <result property="linerender" column="linerender"/>
        <result property="dataType" column="_data_type"/>
        <result property="displayorder" column="displayorder"/>
        <result property="lableinfo" column="lableinfo"/>
        <result property="pointrender" column="pointrender"/>
        <result property="expand" column="expand"/>
        <result property="relfield" column="relfield"/>
        <result property="polygonlod" column="polygonlod"/>
        <result property="name" column="name"/>
        <result property="pointlod" column="pointlod"/>
        <result property="isfolder" column="isfolder"/>
        <result property="polylinelod" column="polylinelod"/>
        <result property="logitudefield" column="logitudefield"/>
        <result property="latitudefield" column="latitudefield"/>
        <result property="heightfield" column="heightfield"/>
    </resultMap>
</mapper>
target/classes/application.yml
@@ -3,13 +3,41 @@
  servlet:
    context-path: /
spring:
  datasource:
    type: com.alibaba.druid.pool.DruidDataSource
    driverClassName: org.postgresql.Driver
    url: jdbc:postgresql://192.168.11.95:5433/llmdb
    username: postgres
    password: postgres
  jackson:
    time-zone: GMT+8
    date-format: yyyy-MM-dd HH:mm:ss
    #  åœ°ç†å®žä½“库
  geographical:
    #    Token地址
    token: 9ce350f238ba44fda10ddfe8b80f8967
    #    è¯·æ±‚地址
    url: http://106.120.22.26:8013/geo-service/
    #    èŽ·å–å®žä½“åº“åˆ—è¡¨
    canview: /entitydb/list/canview
    #    æŸ¥è¯¢å›¾å±‚数据(或数量)
    queryEntity: /entitydbdata/query/entity
    #    èŽ·å–key唯一标识
    publickey: /setting/publickey
    #   å®žä½“库名称
    entityName: å¤§æ¨¡åž‹æµ‹è¯•库
    #    å®žä½“库dbid
    dbid: 3dce04bbab1540b5ae3d147e8503ab9d
    #    å®žä½“库dbid
    layerId: a61f2f8f-0bf9-422f-86fe-b7b0a30ebad9
  application:
    name: ollama-ai
  ai:
    ollama:
      base-url: http://127.0.0.1:11434
      chat:
#        model: yi:9b-chat-v1.5-q4_0
        #        model: yi:9b-chat-v1.5-q4_0
        model: qwen2:1.5b
  intent: http://106.120.22.26:5368/intention?message
  fastgpt:
@@ -19,25 +47,37 @@
    kc: http://192.168.11.28/api/core/dataset/create
    kl: http://192.168.11.28/api/core/dataset/list
    kd: http://192.168.11.28/api/core/dataset/detail
#  åœ°ç†å®žä½“库
  geographical:
#    Token地址
    token: 9ce350f238ba44fda10ddfe8b80f8967
#    è¯·æ±‚地址
    url: http://106.120.22.26:8013/geo-service/
#    èŽ·å–å®žä½“åº“åˆ—è¡¨
    canview: /entitydb/list/canview
#    æŸ¥è¯¢å›¾å±‚数据(或数量)
    queryEntity: /entitydbdata/query/entity
#    èŽ·å–key唯一标识
    publickey: /setting/publickey
#   å®žä½“库名称
    entityName: å¤§æ¨¡åž‹æµ‹è¯•库
#    å®žä½“库dbid
    dbid: 3dce04bbab1540b5ae3d147e8503ab9d
#    å®žä½“库dbid
    layerId: a61f2f8f-0bf9-422f-86fe-b7b0a30ebad9
mybatis-plus:
  mapper-locations: classpath*:/mapper/**/*.xml
  #实体扫描,多个package用逗号或者分号分隔
  typeAliasesPackage: com.terra.*.entity
  #type-handlers-package: com.terra.peiwang.postgis
  global-config:
    #数据库相关配置
    db-config:
      #主键类型  AUTO:"数据库ID自增", INPUT:"用户输入ID", ID_WORKER:"全局唯一ID (数字类型唯一ID)", UUID:"全局唯一ID UUID";
      id-type: AUTO
      logic-delete-value: -1
      logic-not-delete-value: 0
    banner: false
  #原生配置
  configuration:
    map-underscore-to-camel-case: false
    cache-enabled: false
    jdbc-type-for-null: 'null'
    # è¿™ä¸ªé…ç½®ä¼šå°†æ‰§è¡Œçš„sql打印出来,在开发或测试的时候可以用
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
    # è¿”回类型为Map,显示null对应的字段
    call-setters-on-nulls: true
pagehelper:
  reasonable: true
  supportMethodsArguments: true
  params: count=countSql
target/classes/com/yb/OllamaAiApplication.class
Binary files differ
target/classes/com/yb/config/Constant$MenuType.class
Binary files differ
target/classes/com/yb/config/Constant$ScheduleStatus.class
Binary files differ
target/classes/com/yb/config/Constant.class
Binary files differ
target/classes/com/yb/config/PageUtils.class
Binary files differ
target/classes/com/yb/config/Query.class
Binary files differ
target/classes/com/yb/config/SQLFilter.class
Binary files differ
target/classes/com/yb/config/Swagger3Config.class
Binary files differ
target/classes/com/yb/controller/GisOsmPoisFree1Controller.class
Binary files differ
target/classes/com/yb/controller/TMetaController.class
Binary files differ
target/classes/com/yb/dao/GisOsmPoisFree1Dao.class
Binary files differ
target/classes/com/yb/dao/TMetaDao.class
Binary files differ
target/classes/com/yb/entity/GisOsmPoisFree1Entity.class
Binary files differ
target/classes/com/yb/entity/TMetaEntity.class
Binary files differ
target/classes/com/yb/postgis/AbstractGeometryTypeHandler.class
Binary files differ
target/classes/com/yb/postgis/GeometryDeserializer.class
Binary files differ
target/classes/com/yb/postgis/GeometrySerializer.class
Binary files differ
target/classes/com/yb/postgis/PointTypeHandler.class
Binary files differ
target/classes/com/yb/service/GisOsmPoisFree1Service.class
Binary files differ
target/classes/com/yb/service/TMetaService.class
Binary files differ
target/classes/com/yb/service/impl/GisOsmPoisFree1ServiceImpl.class
Binary files differ
target/classes/com/yb/service/impl/TMetaServiceImpl.class
Binary files differ
target/classes/mapper/GisOsmPoisFree1Dao.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,17 @@
<?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.GisOsmPoisFree1Dao">
    <!-- å¯æ ¹æ®è‡ªå·±çš„需求,是否要使用 -->
    <resultMap type="com.yb.entity.GisOsmPoisFree1Entity" id="gisOsmPoisFree1Map">
        <result property="gid" column="gid"/>
        <result property="osmId" column="osm_id"/>
        <result property="code" column="code"/>
        <result property="fclass" column="fclass"/>
        <result property="name" column="name"/>
        <result property="Geometry" column="geom"/>
    </resultMap>
</mapper>
target/classes/mapper/TMetaDao.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,42 @@
<?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.TMetaDao">
    <!-- å¯æ ¹æ®è‡ªå·±çš„需求,是否要使用 -->
    <resultMap type="com.yb.entity.TMetaEntity" id="tMetaMap">
        <result property="defaultvisilibity" column="defaultvisilibity"/>
        <result property="arearender" column="arearender"/>
        <result property="description" column="description"/>
        <result property="parentid" column="parentid"/>
        <result property="businessfield" column="businessfield"/>
        <result property="displayscale" column="displayscale"/>
        <result property="lablefield" column="lablefield"/>
        <result property="defaultlod" column="defaultlod"/>
        <result property="servicename" column="servicename"/>
        <result property="id" column="id"/>
        <result property="tablename" column="tablename"/>
        <result property="displayfield" column="displayfield"/>
        <result property="childlayerid" column="childlayerid"/>
        <result property="lods" column="lods"/>
        <result property="dataformat" column="dataformat"/>
        <result property="versionfield" column="versionfield"/>
        <result property="linerender" column="linerender"/>
        <result property="dataType" column="_data_type"/>
        <result property="displayorder" column="displayorder"/>
        <result property="lableinfo" column="lableinfo"/>
        <result property="pointrender" column="pointrender"/>
        <result property="expand" column="expand"/>
        <result property="relfield" column="relfield"/>
        <result property="polygonlod" column="polygonlod"/>
        <result property="name" column="name"/>
        <result property="pointlod" column="pointlod"/>
        <result property="isfolder" column="isfolder"/>
        <result property="polylinelod" column="polylinelod"/>
        <result property="logitudefield" column="logitudefield"/>
        <result property="latitudefield" column="latitudefield"/>
        <result property="heightfield" column="heightfield"/>
    </resultMap>
</mapper>
target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
@@ -1,14 +1,35 @@
com\yb\controller\WebSocketController.class
com\yb\message\WebsocketConfiguration.class
com\yb\config\SQLFilter.class
com\yb\config\XzConfig.class
com\yb\util\EntityHttpUtil.class
com\yb\service\impl\TMetaServiceImpl.class
com\yb\controller\GisOsmPoisFree1Controller.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\service\XzService.class
com\yb\entity\ReqEntity.class
com\yb\helper\RsaHelper.class
com\yb\util\OkHttpUtil.class
com\yb\message\WebSocketServer.class
com\yb\postgis\AbstractGeometryTypeHandler.class
com\yb\config\Constant$ScheduleStatus.class
com\yb\config\R.class
com\yb\controller\XzController.class
com\yb\message\WebSocketStompConfig.class
com\yb\service\GisOsmPoisFree1Service.class
com\yb\controller\TMetaController.class
com\yb\dao\GisOsmPoisFree1Dao.class
com\yb\postgis\PointTypeHandler.class
com\yb\util\EntityHttpUtil.class
com\yb\entity\TMetaEntity.class
com\yb\dao\TMetaDao.class
com\yb\service\XzService.class
com\yb\config\Query.class
com\yb\entity\ReqEntity.class
com\yb\config\Constant.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
target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
@@ -1,15 +1,32 @@
E:\project\AI大模型\新智对接\ollama_ai\src\main\java\com\yb\controller\WebSocketController.java
E:\project\AI大模型\新智对接\ollama_ai\src\main\java\com\yb\service\XzService.java
E:\project\AI大模型\新智对接\ollama_ai\src\main\java\com\yb\message\WebSocketStompConfig.java
E:\project\AI大模型\新智对接\ollama_ai\src\main\java\com\yb\config\SQLFilter.java
E:\project\AI大模型\新智对接\ollama_ai\src\main\java\com\yb\config\XzConfig.java
E:\project\AI大模型\新智对接\ollama_ai\src\main\java\com\yb\util\OkHttpUtil.java
E:\project\AI大模型\新智对接\ollama_ai\src\main\java\com\yb\postgis\PointTypeHandler.java
E:\project\AI大模型\新智对接\ollama_ai\src\main\java\com\yb\controller\TMetaController.java
E:\project\AI大模型\新智对接\ollama_ai\src\main\java\com\yb\entity\ResponseEntity.java
E:\project\AI大模型\新智对接\ollama_ai\src\main\java\com\yb\dao\GisOsmPoisFree1Dao.java
E:\project\AI大模型\新智对接\ollama_ai\src\main\java\com\yb\message\WebsocketConfiguration.java
E:\project\AI大模型\新智对接\ollama_ai\src\main\java\com\yb\service\impl\TMetaServiceImpl.java
E:\project\AI大模型\新智对接\ollama_ai\src\main\java\com\yb\config\Query.java
E:\project\AI大模型\新智对接\ollama_ai\src\main\java\com\yb\entity\GisOsmPoisFree1Entity.java
E:\project\AI大模型\新智对接\ollama_ai\src\main\java\com\yb\entity\ReqEntity.java
E:\project\AI大模型\新智对接\ollama_ai\src\main\java\com\yb\util\EntityHttpUtil.java
E:\project\AI大模型\新智对接\ollama_ai\src\main\java\com\yb\service\GisOsmPoisFree1Service.java
E:\project\AI大模型\新智对接\ollama_ai\src\main\java\com\yb\OllamaAiApplication.java
E:\project\AI大模型\新智对接\ollama_ai\src\main\java\com\yb\controller\GisOsmPoisFree1Controller.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\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\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\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\entity\ResponseEntity.java
E:\project\AI大模型\新智对接\ollama_ai\src\main\java\com\yb\message\WebsocketConfiguration.java
E:\project\AI大模型\新智对接\ollama_ai\src\main\java\com\yb\entity\ReqEntity.java
E:\project\AI大模型\新智对接\ollama_ai\src\main\java\com\yb\util\EntityHttpUtil.java
E:\project\AI大模型\新智对接\ollama_ai\src\main\java\com\yb\controller\XzController2.java
E:\project\AI大模型\新智对接\ollama_ai\src\main\java\com\yb\OllamaAiApplication.java
E:\project\AI大模型\新智对接\ollama_ai\src\main\java\com\yb\postgis\AbstractGeometryTypeHandler.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
E:\project\AI大模型\新智对接\ollama_ai\src\main\java\com\yb\service\TMetaService.java
E:\project\AI大模型\新智对接\ollama_ai\src\main\java\com\yb\controller\XzController.java
E:\project\AI大模型\新智对接\ollama_ai\src\main\java\com\yb\entity\TMetaEntity.java
E:\project\AI大模型\新智对接\ollama_ai\src\main\java\com\yb\postgis\GeometryDeserializer.java
target/ollama-ai-0.0.1-SNAPSHOT.jar
Binary files differ
target/ollama-ai-0.0.1-SNAPSHOT.jar.original
Binary files differ