Pārlūkot izejas kodu

添加 GeoChina 和更新 GeoPolygon model

reghao 1 gadu atpakaļ
vecāks
revīzija
1e40f6b287

+ 13 - 0
content/content-service/src/main/java/cn/reghao/tnb/content/app/geo/db/mapper/GeoChinaMapper.java

@@ -0,0 +1,13 @@
+package cn.reghao.tnb.content.app.geo.db.mapper;
+
+import cn.reghao.jutil.jdk.db.BaseMapper;
+import cn.reghao.tnb.content.app.geo.model.po.GeoChina;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * @author reghao
+ * @date 2025-03-17 17:14:34
+ */
+@Mapper
+public interface GeoChinaMapper extends BaseMapper<GeoChina> {
+}

+ 1 - 0
content/content-service/src/main/java/cn/reghao/tnb/content/app/geo/db/mapper/GeoPolygonMapper.java

@@ -14,4 +14,5 @@ import java.util.List;
 @Mapper
 public interface GeoPolygonMapper extends BaseMapper<GeoPolygon> {
     List<Integer> findByPoint(MapPoint mapPoint);
+    GeoPolygon findById(int id);
 }

+ 26 - 0
content/content-service/src/main/java/cn/reghao/tnb/content/app/geo/model/po/GeoChina.java

@@ -0,0 +1,26 @@
+package cn.reghao.tnb.content.app.geo.model.po;
+
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+import lombok.NoArgsConstructor;
+import lombok.Setter;
+
+import java.math.BigDecimal;
+
+/**
+ * @author reghao
+ * @date 2025-03-17 17:14:22
+ */
+@NoArgsConstructor
+@AllArgsConstructor
+@Getter
+@Setter
+public class GeoChina {
+    private Integer id;
+    private Integer pid;
+    private Integer deep;
+    private String name;
+    private String extName;
+    private BigDecimal longitude;
+    private BigDecimal latitude;
+}

+ 13 - 0
content/content-service/src/main/java/cn/reghao/tnb/content/app/geo/model/po/GeoPoint.java

@@ -1,5 +1,6 @@
 package cn.reghao.tnb.content.app.geo.model.po;
 
+import cn.reghao.jutil.jdk.converter.DateTimeConverter;
 import cn.reghao.jutil.jdk.db.BaseObject;
 import cn.reghao.tnb.common.auth.UserContext;
 import cn.reghao.tnb.content.app.geo.model.vo.MapPoint;
@@ -7,6 +8,7 @@ import lombok.Getter;
 import lombok.NoArgsConstructor;
 
 import java.math.BigDecimal;
+import java.time.LocalDateTime;
 
 /**
  * @author reghao
@@ -19,11 +21,22 @@ public class GeoPoint extends BaseObject<Integer> {
     private BigDecimal longitude;
     // 纬度
     private BigDecimal latitude;
+    private String title;
     private Long createBy;
+    private LocalDateTime createAt;
 
     public GeoPoint(MapPoint mapPoint) {
         this.longitude = BigDecimal.valueOf(mapPoint.getLng());
         this.latitude = BigDecimal.valueOf(mapPoint.getLat());
         this.createBy = UserContext.getUser();
+        this.createAt = DateTimeConverter.localDateTime(System.currentTimeMillis());
+    }
+
+    public GeoPoint(MapPoint mapPoint, String title) {
+        this.longitude = BigDecimal.valueOf(mapPoint.getLng());
+        this.latitude = BigDecimal.valueOf(mapPoint.getLat());
+        this.title = title;
+        this.createBy = UserContext.getUser();
+        this.createAt = DateTimeConverter.localDateTime(System.currentTimeMillis());
     }
 }

+ 0 - 8
content/content-service/src/main/java/cn/reghao/tnb/content/app/geo/model/po/GeoPolygon.java

@@ -5,8 +5,6 @@ import lombok.Getter;
 import lombok.NoArgsConstructor;
 import lombok.Setter;
 
-import java.math.BigDecimal;
-
 /**
  * @author reghao
  * @date 2023-09-12 15:19:41
@@ -17,11 +15,5 @@ import java.math.BigDecimal;
 @Getter
 public class GeoPolygon {
     private Integer id;
-    private Integer pid;
-    private Integer deep;
-    private String name;
-    private String extName;
-    private BigDecimal longitude;
-    private BigDecimal latitude;
     private String polygon;
 }

+ 17 - 0
content/content-service/src/main/java/cn/reghao/tnb/content/app/geo/model/vo/GeoData.java

@@ -0,0 +1,17 @@
+package cn.reghao.tnb.content.app.geo.model.vo;
+
+import cn.reghao.tnb.content.app.geo.model.po.GeoChina;
+import cn.reghao.tnb.content.app.geo.model.po.GeoPolygon;
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+
+/**
+ * @author reghao
+ * @date 2025-03-17 18:00:20
+ */
+@AllArgsConstructor
+@Getter
+public class GeoData {
+    private GeoChina geoChina;
+    private GeoPolygon geoPolygon;
+}

+ 5 - 13
content/content-service/src/main/java/cn/reghao/tnb/content/app/geo/model/vo/MapPoint.java

@@ -6,7 +6,6 @@ import lombok.NoArgsConstructor;
 import lombok.Setter;
 
 import javax.validation.constraints.NotNull;
-import java.math.BigDecimal;
 
 /**
  * @author reghao
@@ -18,22 +17,15 @@ import java.math.BigDecimal;
 @Getter
 public class MapPoint {
     // 经度
-    private BigDecimal lng1;
-    // 纬度
-    private BigDecimal lat1;
     @NotNull
     private Double lng;
+    // 纬度
     @NotNull
     private Double lat;
     private Long timestamp;
 
-    /*public GeoPoint(String lng, String lat) {
-        this.lng = new BigDecimal(lng);
-        this.lat = new BigDecimal(lat);
-    }*/
-
-    /*@Override
-    public String toString() {
-        return "{"+lng+","+lat+"}";
-    }*/
+    public MapPoint(String lng, String lat) {
+        this.lng = Double.parseDouble(lng);
+        this.lat = Double.parseDouble(lat);
+    }
 }

+ 25 - 0
content/content-service/src/main/resources/mapper/geo/GeoChinaMapper.xml

@@ -0,0 +1,25 @@
+<?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="cn.reghao.tnb.content.app.geo.db.mapper.GeoChinaMapper">
+    <insert id="save" useGeneratedKeys="true" keyProperty="id">
+        insert into geo_china
+        (`id`,`pid`,`deep`,`name`,`ext_name`,`geo`)
+        values
+        (#{id},#{pid},#{deep},#{name},#{extName},point(#{longitude},#{latitude}))
+    </insert>
+    <insert id="saveAll" useGeneratedKeys="true" keyProperty="id">
+        insert ignore into geo_china
+        (`id`,`pid`,`deep`,`name`,`ext_name`,`geo`)
+        values
+        <foreach collection="list" item="item" index="index" separator=",">
+        (#{item.id},#{item.pid},#{item.deep},#{item.name},#{item.extName},point(#{item.longitude},#{item.latitude}))
+        </foreach>
+    </insert>
+
+    <select id="findById" resultType="cn.reghao.tnb.content.app.geo.model.po.GeoChina">
+        select *
+        from geo_china
+        where id=#{id}
+    </select>
+</mapper>

+ 5 - 5
content/content-service/src/main/resources/mapper/geo/GeoPointMapper.xml

@@ -4,21 +4,21 @@
 <mapper namespace="cn.reghao.tnb.content.app.geo.db.mapper.GeoPointMapper">
     <insert id="save" useGeneratedKeys="true" keyProperty="id">
         insert into geo_point
-        (`geo`,`create_by`)
+        (`geo`,`title`,`create_by`,`create_at`)
         values 
-        (point(#{longitude},#{latitude}), #{createBy})
+        (point(#{longitude},#{latitude}),#{title},#{createBy},#{createAt})
     </insert>
     <insert id="saveAll" useGeneratedKeys="true" keyProperty="id">
         insert ignore into geo_point
-        (`geo`,`create_by`)
+        (`geo`,`title`,`create_by`,`create_at`)
         values
         <foreach collection="list" item="item" index="index" separator=",">
-            (point(#{item.longitude},#{item.latitude}), #{item.createBy})
+            (point(#{item.longitude},#{item.latitude}),#{item.title},#{item.createBy},#{item.createAt})
         </foreach>
     </insert>
 
     <select id="findAll" resultType="cn.reghao.tnb.content.app.geo.model.po.GeoPoint">
-        select id,create_time,x(geo) as longitude,y(geo) as latitude,create_by
+        select id,create_time,x(geo) as longitude,y(geo) as latitude,title,create_by,create_at
         from geo_point
         order by id asc
         limit 20

+ 4 - 4
content/content-service/src/main/resources/mapper/geo/GeoPolygonMapper.xml

@@ -4,16 +4,16 @@
 <mapper namespace="cn.reghao.tnb.content.app.geo.db.mapper.GeoPolygonMapper">
     <insert id="save" useGeneratedKeys="true" keyProperty="id">
         insert into geo_polygon
-        (`id`,`pid`,`deep`,`name`,`ext_name`,`geo`,`polygon`)
+        (`id`,`polygon`)
         values
-        (#{id},#{pid},#{deep},#{name},#{extName},point(#{longitude},#{latitude}),GeomFromText('POLYGON((${polygon}))'))
+        (#{id},GeomFromText('POLYGON((${polygon}))'))
     </insert>
     <insert id="saveAll" useGeneratedKeys="true" keyProperty="id">
         insert ignore into geo_polygon
-        (`id`,`pid`,`deep`,`name`,`ext_name`,`geo`,`polygon`)
+        (`id`,`polygon`)
         values
         <foreach collection="list" item="item" index="index" separator=",">
-        (#{item.id},#{item.pid},#{item.deep},#{item.name},#{item.extName},point(#{item.longitude},#{item.latitude}),GeomFromText('POLYGON((${item.polygon}))'))
+        (#{item.id},GeomFromText('POLYGON((${item.polygon}))'))
         </foreach>
     </insert>