From 85af9acfccf2e944a97557d3e46d143b0e99e2f1 Mon Sep 17 00:00:00 2001
From: suerprisePlus <15810472099@163.com>
Date: 星期三, 04 九月 2024 16:29:57 +0800
Subject: [PATCH] swagger 配置异常

---
 target/classes/com/yb/controller/TMetaController.class                             |    0 
 src/main/java/com/yb/config/Swagger3Config.java                                    |   26 
 target/classes/com/yb/config/SQLFilter.class                                       |    0 
 src/main/java/com/yb/postgis/GeometryDeserializer.java                             |   40 +
 target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst |   31 
 src/main/java/com/yb/controller/GisOsmPoisFree1Controller.java                     |  130 +++
 src/main/resources/mapper/TMetaDao.xml                                             |   42 +
 target/classes/com/yb/controller/GisOsmPoisFree1Controller.class                   |    0 
 target/classes/com/yb/service/TMetaService.class                                   |    0 
 target/classes/com/yb/entity/TMetaEntity.class                                     |    0 
 target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst   |   33 
 target/classes/com/yb/config/PageUtils.class                                       |    0 
 target/classes/com/yb/postgis/GeometrySerializer.class                             |    0 
 target/classes/com/yb/config/Swagger3Config.class                                  |    0 
 target/classes/com/yb/service/GisOsmPoisFree1Service.class                         |    0 
 src/main/java/com/yb/postgis/AbstractGeometryTypeHandler.java                      |   83 ++
 target/classes/com/yb/entity/GisOsmPoisFree1Entity.class                           |    0 
 target/classes/com/yb/postgis/GeometryDeserializer.class                           |    0 
 src/main/java/com/yb/config/PageUtils.java                                         |  110 +++
 src/main/resources/mapper/GisOsmPoisFree1Dao.xml                                   |   17 
 target/classes/mapper/TMetaDao.xml                                                 |   42 +
 src/main/java/com/yb/dao/TMetaDao.java                                             |   17 
 src/main/java/com/yb/service/impl/TMetaServiceImpl.java                            |   54 +
 src/main/java/com/yb/entity/GisOsmPoisFree1Entity.java                             |   70 ++
 target/classes/com/yb/service/impl/TMetaServiceImpl.class                          |    0 
 target/classes/com/yb/postgis/AbstractGeometryTypeHandler.class                    |    0 
 target/classes/com/yb/dao/TMetaDao.class                                           |    0 
 src/main/java/com/yb/OllamaAiApplication.java                                      |    2 
 src/main/java/com/yb/postgis/PointTypeHandler.java                                 |   16 
 target/classes/com/yb/dao/GisOsmPoisFree1Dao.class                                 |    0 
 pom.xml                                                                            |   49 +
 target/classes/com/yb/config/Constant$MenuType.class                               |    0 
 target/classes/com/yb/config/Query.class                                           |    0 
 src/main/java/com/yb/config/Constant.java                                          |  106 +++
 src/main/java/com/yb/controller/TMetaController.java                               |  133 ++++
 target/classes/mapper/GisOsmPoisFree1Dao.xml                                       |   17 
 src/main/java/com/yb/service/TMetaService.java                                     |   22 
 target/classes/com/yb/postgis/PointTypeHandler.class                               |    0 
 target/ollama-ai-0.0.1-SNAPSHOT.jar.original                                       |    0 
 src/main/java/com/yb/entity/TMetaEntity.java                                       |  215 ++++++
 src/main/java/com/yb/config/Query.java                                             |   81 ++
 src/main/java/com/yb/service/GisOsmPoisFree1Service.java                           |   24 
 target/ollama-ai-0.0.1-SNAPSHOT.jar                                                |    0 
 target/classes/com/yb/service/impl/GisOsmPoisFree1ServiceImpl.class                |    0 
 src/main/java/com/yb/config/SQLFilter.java                                         |   49 +
 target/classes/com/yb/config/Constant$ScheduleStatus.class                         |    0 
 target/classes/com/yb/config/Constant.class                                        |    0 
 /dev/null                                                                          |  309 ---------
 src/main/java/com/yb/postgis/GeometrySerializer.java                               |   25 
 target/classes/application.yml                                                     |   78 +
 src/main/java/com/yb/dao/GisOsmPoisFree1Dao.java                                   |   18 
 src/main/java/com/yb/service/impl/GisOsmPoisFree1ServiceImpl.java                  |   54 +
 target/classes/com/yb/OllamaAiApplication.class                                    |    0 
 src/main/resources/application.yml                                                 |   78 +
 54 files changed, 1,611 insertions(+), 360 deletions(-)

diff --git a/pom.xml b/pom.xml
index 006e919..0cfae27 100644
--- a/pom.xml
+++ b/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>
diff --git a/src/main/java/com/yb/OllamaAiApplication.java b/src/main/java/com/yb/OllamaAiApplication.java
index 5dceb92..bdba8c7 100644
--- a/src/main/java/com/yb/OllamaAiApplication.java
+++ b/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) {
diff --git a/src/main/java/com/yb/config/Constant.java b/src/main/java/com/yb/config/Constant.java
new file mode 100644
index 0000000..1c3d4fb
--- /dev/null
+++ b/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 {
+    /**
+     * 瓒呯骇绠$悊鍛業D
+     */
+    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 {
+        /**
+         * 姝e父
+         */
+        NORMAL(0),
+        /**
+         * 鏆傚仠
+         */
+        PAUSE(1);
+
+        private int value;
+
+        ScheduleStatus(int value) {
+            this.value = value;
+        }
+
+        public int getValue() {
+            return value;
+        }
+    }
+
+
+
+
+}
diff --git a/src/main/java/com/yb/config/PageUtils.java b/src/main/java/com/yb/config/PageUtils.java
new file mode 100644
index 0000000..1cf0b5f
--- /dev/null
+++ b/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;
+	}
+
+}
diff --git a/src/main/java/com/yb/config/Query.java b/src/main/java/com/yb/config/Query.java
new file mode 100644
index 0000000..4dc45a1
--- /dev/null
+++ b/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娉ㄥ叆锛堝洜涓簊idx銆乷rder鏄�氳繃鎷兼帴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;
+    }
+}
diff --git a/src/main/java/com/yb/config/SQLFilter.java b/src/main/java/com/yb/config/SQLFilter.java
new file mode 100644
index 0000000..c59441e
--- /dev/null
+++ b/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;
+    }
+}
diff --git a/src/main/java/com/yb/config/Swagger3Config.java b/src/main/java/com/yb/config/Swagger3Config.java
new file mode 100644
index 0000000..f54150f
--- /dev/null
+++ b/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();
+	}
+
+
+}
diff --git a/src/main/java/com/yb/controller/GisOsmPoisFree1Controller.java b/src/main/java/com/yb/controller/GisOsmPoisFree1Controller.java
new file mode 100644
index 0000000..62e26e8
--- /dev/null
+++ b/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);
+    }
+}
diff --git a/src/main/java/com/yb/controller/TMetaController.java b/src/main/java/com/yb/controller/TMetaController.java
new file mode 100644
index 0000000..11f065b
--- /dev/null
+++ b/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);
+    }
+}
diff --git a/src/main/java/com/yb/controller/XzController2.java b/src/main/java/com/yb/controller/XzController2.java
deleted file mode 100644
index dd20acf..0000000
--- a/src/main/java/com/yb/controller/XzController2.java
+++ /dev/null
@@ -1,309 +0,0 @@
-//package com.yb.controller;
-//
-//import com.alibaba.fastjson.JSON;
-//import com.alibaba.fastjson.JSONArray;
-//import com.alibaba.fastjson.JSONObject;
-//import com.yb.config.R;
-//import com.yb.entity.ReqEntity;
-//import com.yb.helper.RsaHelper;
-//import com.yb.util.EntityHttpUtil;
-//import io.swagger.v3.oas.annotations.Operation;
-//import io.swagger.v3.oas.annotations.Parameter;
-//import io.swagger.v3.oas.annotations.tags.Tag;
-//import org.locationtech.jts.geom.*;
-//import org.locationtech.jts.operation.buffer.BufferOp;
-//import org.springframework.beans.factory.annotation.Autowired;
-//import org.springframework.beans.factory.annotation.Value;
-//import org.springframework.web.bind.annotation.*;
-//
-//import java.util.*;
-//
-//
-//@Tag(name = "鏂版櫤鎺ュ彛")
-//@RestController
-//@RequestMapping("/api/v1")
-//public class XzController2 {
-//    @Autowired
-//    WebSocketController webSocketController;
-//    @Autowired
-//    private EntityHttpUtil entityHttpUtil;
-//    @Value("${spring.geographical.canview}")
-//    String canview;
-//    @Value("${spring.geographical.entityName}")
-//    String entityName;
-//    @Value("${spring.geographical.dbid}")
-//    String dbid;
-//    @Value("${spring.geographical.layerId}")
-//    String layerId;
-//    @Value("${spring.geographical.queryEntity}")
-//    String queryEntity;
-//    @Value("${spring.geographical.publickey}")
-//    String publickey;
-//    @Value("${spring.geographical.token}")
-//    String token;
-//
-//
-//    @PostMapping("/poiMap")
-//    @Operation(summary = "鏄剧ず鍦扮偣")
-//    public R poiMap(@RequestParam Map<String, String> allParams) throws Exception {
-//        String place = allParams.get("place");
-//        String mid = allParams.get("mid");
-//        System.out.println("rec poiMap:" + place + "  mid:" + mid);
-//        if (place == null || mid == null) {
-//            return R.error("鏁版嵁浼犻�掗敊璇�");
-//        }
-//        HashMap<String, Object> hash = new HashMap<>();
-//        hash.put("func", "poiMap");
-//        hash.put("mid", mid);
-//        ReqEntity reqEntity = new ReqEntity();
-//        String item = getQueryFiled(place);
-//        JSONObject obj = JSONObject.parseObject(item);
-//        reqEntity.setX(obj.getString("lon"));
-//        reqEntity.setY(obj.getString("lat"));
-//        reqEntity.setPlace(obj.getString("enti_name"));
-//        System.out.println("rec poiMap:" + reqEntity);
-//        hash.put("poi", reqEntity);
-//        String message = JSON.toJSONString(hash);
-//        webSocketController.sendAllMessage(message);
-//        return R.ok(hash);
-//    }
-//
-//    @PostMapping("/aroundPoi")
-//    @Operation(summary = "鍛ㄨ竟灞炴�ф煡璇�")
-//    public R aroundPoi(@RequestParam Map<String, String> allParams) throws Exception {
-//        System.out.println("rec aroundPoi:" + allParams);
-//        String place = allParams.get("place");
-//        String mid = allParams.get("mid");
-//        String type = allParams.get("type");
-//        String dis = allParams.get("radius");
-//        int radius= 0;
-//        if(dis != null){
-//            radius= Integer.parseInt(dis);
-//        }
-////        int radius = Integer.parseInt();
-//        System.out.println("rec aroundPoi:" + place + "  mid:" + mid + "  type:" + type + "  radius:" + radius);
-//        if (type == null || place == null || mid == null) {
-//            return R.error("鏁版嵁浼犻�掗敊璇�");
-//        }
-//        HashMap<String, Object> hash = new HashMap<>();
-//        hash.put("func", "aroundPoi");
-//        hash.put("mid", mid);
-//        System.out.println("rec aroundPoi:" + place + "  mid:" + mid + "  type:" + type + "  radius:" + radius);
-//        String item = getQueryFiled(place);
-//        JSONObject obj = JSONObject.parseObject(item);
-//        Double lon = Double.parseDouble(obj.getString("lon"));
-//        Double lat = Double.parseDouble(obj.getString("lat"));
-//        String wkt = getWKt(lon, lat, radius);
-//        String itemList = getQueryAround(type, wkt);
-////        System.out.print("ces: "+itemList);
-//        JSONArray dataArray = JSONArray.parseArray(itemList);
-//        ArrayList<ReqEntity> arrayList = new ArrayList<>();
-//        for (int i = 0; i < dataArray.size(); i++) {
-//            Object element = dataArray.get(i);
-//            if (element instanceof JSONObject) {
-//                JSONObject jsonObject = (JSONObject) element;
-//                ReqEntity reqEntity = new ReqEntity();
-//                reqEntity.setX(jsonObject.getString("lon"));
-//                reqEntity.setY(jsonObject.getString("lat"));
-//                reqEntity.setPlace(jsonObject.getString("enti_name"));
-//                arrayList.add(reqEntity);
-//            }
-//        }
-//        System.out.println("rec aroundPoi:" + arrayList);
-//        hash.put("poi", arrayList);
-//        String message = JSON.toJSONString(hash);
-//        webSocketController.sendAllMessage(message);
-//        return R.ok(hash);
-//    }
-//
-//    @PostMapping("/queryMeta")
-//    @Operation(summary = "鍏冧俊鎭煡璇�")
-//    public R queryMeta(@RequestParam Map<String, String> allParams) {
-//        String mid = allParams.get("mid");
-//        System.out.println("rec queryMeta:" +"  mid:" + mid);
-//        if (mid == null) {
-//            return R.error("鏁版嵁浼犻�掗敊璇�");
-//        }
-//        HashMap<String, Object> hash = new HashMap<>();
-//        hash.put("func", "queryMeta");
-//        hash.put("mid", mid);
-////        缁熻鏌ヨ鎺ュ彛鎷兼帴
-//        JSONArray jsonArray = new JSONArray();
-//        HashMap<String, Object> staticField = new HashMap<>();
-//        String filed = "sjnr";
-//        staticField.put("type", "count");
-//        staticField.put("field", "sjnr");
-//        staticField.put("outfield", "count_" + filed);
-//        jsonArray.add(staticField);
-//        HashMap<String, String> formData = getHashMap();
-//        formData.put("statistics", jsonArray.toString());
-//        formData.put("groupby", filed);
-//        String filedString = entityHttpUtil.getPostMessage(queryEntity, formData);
-//        System.out.println("rec queryMeta:" + filedString);
-//        JSONObject jsonObject = JSON.parseObject(filedString);
-//        JSONArray dataArray = jsonObject.getJSONArray("data");
-//        HashMap<String, Object> markMap = new HashMap<>();
-//        JSONArray markArray = new JSONArray();
-//        String markDown = "| 鏁版嵁绫诲瀷 | 鏁版嵁閲� |\\n|------|------|\\n";
-//        for (int i = 0; i < dataArray.size(); i++) {
-//            JSONObject dataObj = dataArray.getJSONObject(i);
-//            System.out.println("rec queryMeta:" + dataObj);
-//            String[] filedValue = new String[2];
-//
-//            for (String key : dataObj.keySet()) {
-//                if (key == filed) {
-//                    filedValue[0] = dataObj.getString(key);
-//                } else {
-//                    filedValue[1] = dataObj.getString(key);
-//                }
-//            }
-//            markDown += "| " + filedValue[0] + " | " + filedValue[1] + " |\n";
-//        }
-//
-//        markMap.put("markdown", markDown);
-//        markArray.add(markMap);
-//        hash.put("markdown", markArray);
-//        hash.put("content", "鍦扮悊瀹炰綋鏁版嵁搴�");
-//        System.out.println("rec queryMeta:" + hash);
-//        String message = JSON.toJSONString(hash);
-//        webSocketController.sendAllMessage(message);
-//        return R.ok(hash);
-//    }
-//
-//    public HashMap getHashMap() {
-//        HashMap<String, String> hashMap = new HashMap<>();
-//        hashMap.put("token", token);
-//        hashMap.put("containCount", "true");
-//        hashMap.put("layerid", layerId);
-//        hashMap.put("dbid", dbid);
-//        return hashMap;
-//    }
-//
-//    public String getWKt(double lon, double lat, int radius) {
-//        // 鍒涘缓涓�涓潗鏍囩偣
-//        Coordinate coord = new Coordinate(lon, lat);
-//        // 鍒涘缓GeometryFactory瀹炰緥锛屽苟鎸囧畾鍧愭爣鍙傝�冪郴缁熶负WGS84
-//        GeometryFactory geometryFactory = new GeometryFactory(new PrecisionModel(), 4326);
-//        // 浣跨敤鍧愭爣鍒涘缓涓�涓偣
-//        Point point = geometryFactory.createPoint(coord);
-//        // 鍒涘缓BufferOp瀹炰緥锛岀敤浜庣敓鎴愮紦鍐插尯
-//        BufferOp bufferOp = new BufferOp(point);
-//        int dis = 500;
-//        if (radius != 0) {
-//            dis = radius;
-//        }
-//        // 璁剧疆缂撳啿鍖鸿窛绂讳负500绫�
-//        Geometry bufferedGeometry = bufferOp.getResultGeometry(dis);
-//        // 鍒涘缓WKTWriter瀹炰緥锛岀敤浜庡皢Geometry杞崲涓篧KT鏍煎紡
-////        WKTWriter wktWriter = new WKTWriter();
-//
-//        // 灏嗙紦鍐插尯Geometry杞崲涓篧KT鏍煎紡
-////        String wkt = wktWriter.write(bufferedGeometry);
-//        // 杈撳嚭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;
-//    }
-//
-//    public String getQueryAround(String type, String wkt) throws Exception {
-//        String query = "sjnr  like '%" + type + "%'" + "";
-//        String key = getPublickey();
-//        String encrypt = RsaHelper.encrypt(key, query);
-//        HashMap formData = getHashMap();
-//        formData.put("start", "1");
-//        formData.put("count", "0");
-//        formData.put("where", encrypt);
-//        formData.put("box", wkt);
-//        String jsonString = entityHttpUtil.getPostMessage(queryEntity, formData);
-//        JSONObject jsonObject = JSON.parseObject(jsonString);
-//        JSONObject dataObjject = jsonObject.getJSONObject("data");
-//        JSONArray dataArray = dataObjject.getJSONArray("items");
-//        return dataArray.toString();
-//    }
-//
-//    //鍏抽敭瀛楁煡璇�
-//    public String getQueryFiled(String place) throws Exception {
-//        String query = "enti_name like '%" + place + "%'" + "";
-//        String key = getPublickey();
-//        String encrypt = RsaHelper.encrypt(key, query);
-//        HashMap formData = getHashMap();
-//        formData.put("start", "1");
-//        formData.put("count", "0");
-//        formData.put("where", encrypt);
-//        String jsonString = entityHttpUtil.getPostMessage(queryEntity, formData);
-//        JSONObject jsonObject = JSON.parseObject(jsonString);
-//        JSONObject dataObjject = jsonObject.getJSONObject("data");
-//        JSONArray dataArray = dataObjject.getJSONArray("items");
-//        return dataArray.getJSONObject(0).toString();
-//    }
-//
-//    //鑾峰彇绉橀挜鎺ュ彛
-//    public String getPublickey() {
-//        HashMap<String, String> map = new HashMap<>();
-//        map.put("token", token);
-//        String jsonString = entityHttpUtil.getPostMessage(publickey, map);
-//        JSONObject jsonObject = JSON.parseObject(jsonString);
-//        return jsonObject.getString("data");
-//    }
-//
-//
-//    @PostMapping("/aroundPoi2")
-//    @Operation(summary = "鍛ㄨ竟鏌ヨ")
-//    public R aroundPoi2(@RequestBody ReqEntity reqEntity) {
-//        System.out.println("rec message:" + reqEntity);
-//        HashMap<String, Object> hash = new HashMap<>();
-//        hash.put("func", "aroundPoi");
-//        hash.put("mid", "mid");
-//        List<ReqEntity> list = new ArrayList<>();
-////        reqEntity.setX("120.9671");
-////        reqEntity.setY("13.5748");
-//        list.add(reqEntity);
-//        list.add(reqEntity);
-//        hash.put("poi", list);
-//
-//        String message = JSON.toJSONString(hash);
-//        webSocketController.sendAllMessage(message);
-//
-//        return R.ok(hash);
-//    }
-//
-//
-//    /*@GetMapping("/queryPath/{start_point}/{end_point}")
-//    @Operation(summary = "璺嚎鏌ヨ")
-//    public R queryPath(@PathVariable("start_point")String start_point,@PathVariable("end_point")String end_point){
-//        System.out.println("rec start_point: "+start_point+"  end_point: "+end_point);
-//        HashMap<String,Object> hash = new HashMap<>();
-//
-//        hash.put("func","searchPath");
-//        List<ReqEntity> list = new ArrayList<>();
-//
-//        hash.put("path",list);
-//
-//        String message = JSON.toJSONString(hash);
-//        webSocketController.sendAllMessage(message);
-//
-//        return R.ok(hash);
-//    }
-//*/
-//    @PostMapping("/queryMeta2")
-//    @Operation(summary = "鍏冧俊鎭煡璇�")
-//    public R queryMeta2(@Parameter String mid) {
-//        System.out.println("queryMeta ");
-//        HashMap<String, Object> hash = new HashMap<>();
-//        hash.put("func", "queryMeta");
-//        hash.put("mid", mid);
-//        List<ReqEntity> list = new ArrayList<>();
-//        hash.put("meta", list);
-//        String message = JSON.toJSONString(hash);
-//        webSocketController.sendAllMessage(message);
-//
-//        return R.ok(hash);
-//    }
-//}
diff --git a/src/main/java/com/yb/dao/GisOsmPoisFree1Dao.java b/src/main/java/com/yb/dao/GisOsmPoisFree1Dao.java
new file mode 100644
index 0000000..c2be13a
--- /dev/null
+++ b/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> {
+	
+}
diff --git a/src/main/java/com/yb/dao/TMetaDao.java b/src/main/java/com/yb/dao/TMetaDao.java
new file mode 100644
index 0000000..1ffc186
--- /dev/null
+++ b/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> {
+	
+}
diff --git a/src/main/java/com/yb/entity/GisOsmPoisFree1Entity.java b/src/main/java/com/yb/entity/GisOsmPoisFree1Entity.java
new file mode 100644
index 0000000..28d0b2f
--- /dev/null
+++ b/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;
+
+
+}
diff --git a/src/main/java/com/yb/entity/TMetaEntity.java b/src/main/java/com/yb/entity/TMetaEntity.java
new file mode 100644
index 0000000..bf8012b
--- /dev/null
+++ b/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;
+
+
+}
diff --git a/src/main/java/com/yb/postgis/AbstractGeometryTypeHandler.java b/src/main/java/com/yb/postgis/AbstractGeometryTypeHandler.java
new file mode 100644
index 0000000..c351ba0
--- /dev/null
+++ b/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瀛楁鍜孧yBatis绫诲瀷杞崲鍣�
+ *
+ * @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("瑙f瀽wkt澶辫触锛�" + wkt, e);
+        }
+    }
+}
diff --git a/src/main/java/com/yb/postgis/GeometryDeserializer.java b/src/main/java/com/yb/postgis/GeometryDeserializer.java
new file mode 100644
index 0000000..65c77c5
--- /dev/null
+++ b/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);
+        }
+    }
+}
diff --git a/src/main/java/com/yb/postgis/GeometrySerializer.java b/src/main/java/com/yb/postgis/GeometrySerializer.java
new file mode 100644
index 0000000..2014b38
--- /dev/null
+++ b/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());
+    }
+}
diff --git a/src/main/java/com/yb/postgis/PointTypeHandler.java b/src/main/java/com/yb/postgis/PointTypeHandler.java
new file mode 100644
index 0000000..e0afa96
--- /dev/null
+++ b/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> {
+}
diff --git a/src/main/java/com/yb/service/GisOsmPoisFree1Service.java b/src/main/java/com/yb/service/GisOsmPoisFree1Service.java
new file mode 100644
index 0000000..7e7f2ce
--- /dev/null
+++ b/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);
+}
+
diff --git a/src/main/java/com/yb/service/TMetaService.java b/src/main/java/com/yb/service/TMetaService.java
new file mode 100644
index 0000000..9460bf5
--- /dev/null
+++ b/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);
+}
+
diff --git a/src/main/java/com/yb/service/impl/GisOsmPoisFree1ServiceImpl.java b/src/main/java/com/yb/service/impl/GisOsmPoisFree1ServiceImpl.java
new file mode 100644
index 0000000..4dfc0f7
--- /dev/null
+++ b/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);
+    }
+}
\ No newline at end of file
diff --git a/src/main/java/com/yb/service/impl/TMetaServiceImpl.java b/src/main/java/com/yb/service/impl/TMetaServiceImpl.java
new file mode 100644
index 0000000..2cc98e5
--- /dev/null
+++ b/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);
+    }
+}
\ No newline at end of file
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index e911789..0fe942e 100644
--- a/src/main/resources/application.yml
+++ b/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: 澶фā鍨嬫祴璇曞簱
+    #    瀹炰綋搴揹bid
+    dbid: 3dce04bbab1540b5ae3d147e8503ab9d
+    #    瀹炰綋搴揹bid
+    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: 澶фā鍨嬫祴璇曞簱
-#    瀹炰綋搴揹bid
-    dbid: 3dce04bbab1540b5ae3d147e8503ab9d
-#    瀹炰綋搴揹bid
-    layerId: a61f2f8f-0bf9-422f-86fe-b7b0a30ebad9
 
+mybatis-plus:
+  mapper-locations: classpath*:/mapper/**/*.xml
+  #瀹炰綋鎵弿锛屽涓猵ackage鐢ㄩ�楀彿鎴栬�呭垎鍙峰垎闅�
+  typeAliasesPackage: com.terra.*.entity
+  #type-handlers-package: com.terra.peiwang.postgis
+  global-config:
+    #鏁版嵁搴撶浉鍏抽厤缃�
+    db-config:
+      #涓婚敭绫诲瀷  AUTO:"鏁版嵁搴揑D鑷", 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'
+
+    # 杩欎釜閰嶇疆浼氬皢鎵ц鐨剆ql鎵撳嵃鍑烘潵锛屽湪寮�鍙戞垨娴嬭瘯鐨勬椂鍊欏彲浠ョ敤
+
+    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
+    # 杩斿洖绫诲瀷涓篗ap,鏄剧ずnull瀵瑰簲鐨勫瓧娈�
+    call-setters-on-nulls: true
+
+pagehelper:
+  reasonable: true
+  supportMethodsArguments: true
+  params: count=countSql
 
 
 
diff --git a/src/main/resources/mapper/GisOsmPoisFree1Dao.xml b/src/main/resources/mapper/GisOsmPoisFree1Dao.xml
new file mode 100644
index 0000000..c5a98c6
--- /dev/null
+++ b/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>
diff --git a/src/main/resources/mapper/TMetaDao.xml b/src/main/resources/mapper/TMetaDao.xml
new file mode 100644
index 0000000..7163a75
--- /dev/null
+++ b/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>
\ No newline at end of file
diff --git a/target/classes/application.yml b/target/classes/application.yml
index e911789..0fe942e 100644
--- a/target/classes/application.yml
+++ b/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: 澶фā鍨嬫祴璇曞簱
+    #    瀹炰綋搴揹bid
+    dbid: 3dce04bbab1540b5ae3d147e8503ab9d
+    #    瀹炰綋搴揹bid
+    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: 澶фā鍨嬫祴璇曞簱
-#    瀹炰綋搴揹bid
-    dbid: 3dce04bbab1540b5ae3d147e8503ab9d
-#    瀹炰綋搴揹bid
-    layerId: a61f2f8f-0bf9-422f-86fe-b7b0a30ebad9
 
+mybatis-plus:
+  mapper-locations: classpath*:/mapper/**/*.xml
+  #瀹炰綋鎵弿锛屽涓猵ackage鐢ㄩ�楀彿鎴栬�呭垎鍙峰垎闅�
+  typeAliasesPackage: com.terra.*.entity
+  #type-handlers-package: com.terra.peiwang.postgis
+  global-config:
+    #鏁版嵁搴撶浉鍏抽厤缃�
+    db-config:
+      #涓婚敭绫诲瀷  AUTO:"鏁版嵁搴揑D鑷", 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'
+
+    # 杩欎釜閰嶇疆浼氬皢鎵ц鐨剆ql鎵撳嵃鍑烘潵锛屽湪寮�鍙戞垨娴嬭瘯鐨勬椂鍊欏彲浠ョ敤
+
+    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
+    # 杩斿洖绫诲瀷涓篗ap,鏄剧ずnull瀵瑰簲鐨勫瓧娈�
+    call-setters-on-nulls: true
+
+pagehelper:
+  reasonable: true
+  supportMethodsArguments: true
+  params: count=countSql
 
 
 
diff --git a/target/classes/com/yb/OllamaAiApplication.class b/target/classes/com/yb/OllamaAiApplication.class
index d492894..1bb8347 100644
--- a/target/classes/com/yb/OllamaAiApplication.class
+++ b/target/classes/com/yb/OllamaAiApplication.class
Binary files differ
diff --git a/target/classes/com/yb/config/Constant$MenuType.class b/target/classes/com/yb/config/Constant$MenuType.class
new file mode 100644
index 0000000..f8c5397
--- /dev/null
+++ b/target/classes/com/yb/config/Constant$MenuType.class
Binary files differ
diff --git a/target/classes/com/yb/config/Constant$ScheduleStatus.class b/target/classes/com/yb/config/Constant$ScheduleStatus.class
new file mode 100644
index 0000000..3df97cf
--- /dev/null
+++ b/target/classes/com/yb/config/Constant$ScheduleStatus.class
Binary files differ
diff --git a/target/classes/com/yb/config/Constant.class b/target/classes/com/yb/config/Constant.class
new file mode 100644
index 0000000..abadc61
--- /dev/null
+++ b/target/classes/com/yb/config/Constant.class
Binary files differ
diff --git a/target/classes/com/yb/config/PageUtils.class b/target/classes/com/yb/config/PageUtils.class
new file mode 100644
index 0000000..09384a5
--- /dev/null
+++ b/target/classes/com/yb/config/PageUtils.class
Binary files differ
diff --git a/target/classes/com/yb/config/Query.class b/target/classes/com/yb/config/Query.class
new file mode 100644
index 0000000..a43b3aa
--- /dev/null
+++ b/target/classes/com/yb/config/Query.class
Binary files differ
diff --git a/target/classes/com/yb/config/SQLFilter.class b/target/classes/com/yb/config/SQLFilter.class
new file mode 100644
index 0000000..b99cf6a
--- /dev/null
+++ b/target/classes/com/yb/config/SQLFilter.class
Binary files differ
diff --git a/target/classes/com/yb/config/Swagger3Config.class b/target/classes/com/yb/config/Swagger3Config.class
new file mode 100644
index 0000000..9e1cb29
--- /dev/null
+++ b/target/classes/com/yb/config/Swagger3Config.class
Binary files differ
diff --git a/target/classes/com/yb/controller/GisOsmPoisFree1Controller.class b/target/classes/com/yb/controller/GisOsmPoisFree1Controller.class
new file mode 100644
index 0000000..e054193
--- /dev/null
+++ b/target/classes/com/yb/controller/GisOsmPoisFree1Controller.class
Binary files differ
diff --git a/target/classes/com/yb/controller/TMetaController.class b/target/classes/com/yb/controller/TMetaController.class
new file mode 100644
index 0000000..f8b6163
--- /dev/null
+++ b/target/classes/com/yb/controller/TMetaController.class
Binary files differ
diff --git a/target/classes/com/yb/dao/GisOsmPoisFree1Dao.class b/target/classes/com/yb/dao/GisOsmPoisFree1Dao.class
new file mode 100644
index 0000000..3fe5092
--- /dev/null
+++ b/target/classes/com/yb/dao/GisOsmPoisFree1Dao.class
Binary files differ
diff --git a/target/classes/com/yb/dao/TMetaDao.class b/target/classes/com/yb/dao/TMetaDao.class
new file mode 100644
index 0000000..39b42ed
--- /dev/null
+++ b/target/classes/com/yb/dao/TMetaDao.class
Binary files differ
diff --git a/target/classes/com/yb/entity/GisOsmPoisFree1Entity.class b/target/classes/com/yb/entity/GisOsmPoisFree1Entity.class
new file mode 100644
index 0000000..0d9f6c8
--- /dev/null
+++ b/target/classes/com/yb/entity/GisOsmPoisFree1Entity.class
Binary files differ
diff --git a/target/classes/com/yb/entity/TMetaEntity.class b/target/classes/com/yb/entity/TMetaEntity.class
new file mode 100644
index 0000000..ec84beb
--- /dev/null
+++ b/target/classes/com/yb/entity/TMetaEntity.class
Binary files differ
diff --git a/target/classes/com/yb/postgis/AbstractGeometryTypeHandler.class b/target/classes/com/yb/postgis/AbstractGeometryTypeHandler.class
new file mode 100644
index 0000000..1d17e17
--- /dev/null
+++ b/target/classes/com/yb/postgis/AbstractGeometryTypeHandler.class
Binary files differ
diff --git a/target/classes/com/yb/postgis/GeometryDeserializer.class b/target/classes/com/yb/postgis/GeometryDeserializer.class
new file mode 100644
index 0000000..224af35
--- /dev/null
+++ b/target/classes/com/yb/postgis/GeometryDeserializer.class
Binary files differ
diff --git a/target/classes/com/yb/postgis/GeometrySerializer.class b/target/classes/com/yb/postgis/GeometrySerializer.class
new file mode 100644
index 0000000..67739ad
--- /dev/null
+++ b/target/classes/com/yb/postgis/GeometrySerializer.class
Binary files differ
diff --git a/target/classes/com/yb/postgis/PointTypeHandler.class b/target/classes/com/yb/postgis/PointTypeHandler.class
new file mode 100644
index 0000000..1964f23
--- /dev/null
+++ b/target/classes/com/yb/postgis/PointTypeHandler.class
Binary files differ
diff --git a/target/classes/com/yb/service/GisOsmPoisFree1Service.class b/target/classes/com/yb/service/GisOsmPoisFree1Service.class
new file mode 100644
index 0000000..7710b27
--- /dev/null
+++ b/target/classes/com/yb/service/GisOsmPoisFree1Service.class
Binary files differ
diff --git a/target/classes/com/yb/service/TMetaService.class b/target/classes/com/yb/service/TMetaService.class
new file mode 100644
index 0000000..e8c5238
--- /dev/null
+++ b/target/classes/com/yb/service/TMetaService.class
Binary files differ
diff --git a/target/classes/com/yb/service/impl/GisOsmPoisFree1ServiceImpl.class b/target/classes/com/yb/service/impl/GisOsmPoisFree1ServiceImpl.class
new file mode 100644
index 0000000..97b2949
--- /dev/null
+++ b/target/classes/com/yb/service/impl/GisOsmPoisFree1ServiceImpl.class
Binary files differ
diff --git a/target/classes/com/yb/service/impl/TMetaServiceImpl.class b/target/classes/com/yb/service/impl/TMetaServiceImpl.class
new file mode 100644
index 0000000..8375e5e
--- /dev/null
+++ b/target/classes/com/yb/service/impl/TMetaServiceImpl.class
Binary files differ
diff --git a/target/classes/mapper/GisOsmPoisFree1Dao.xml b/target/classes/mapper/GisOsmPoisFree1Dao.xml
new file mode 100644
index 0000000..c5a98c6
--- /dev/null
+++ b/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>
diff --git a/target/classes/mapper/TMetaDao.xml b/target/classes/mapper/TMetaDao.xml
new file mode 100644
index 0000000..7163a75
--- /dev/null
+++ b/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>
\ 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 28b9e11..b9c52e4 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,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
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 cb91be1..3ee5bff 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
@@ -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
diff --git a/target/ollama-ai-0.0.1-SNAPSHOT.jar b/target/ollama-ai-0.0.1-SNAPSHOT.jar
index bd4924a..f96b818 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 139e7bf..71fd231 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