From cf0f1f174cd26eb0bba66d5684ccd3b591337e46 Mon Sep 17 00:00:00 2001
From: wuww <252740454@qq.com>
Date: 星期三, 16 四月 2025 14:22:31 +0800
Subject: [PATCH] 修改更新和插入方法

---
 src/main/java/com/se/nsl/controller/SimuController.java   |    4 ++--
 src/main/resources/mapper/RegionMapper.xml                |   22 ++++++++++++++++++++--
 src/main/java/com/se/nsl/controller/RegionController.java |    4 ++--
 src/main/java/com/se/nsl/service/RegionService.java       |    2 --
 src/main/resources/mapper/SimuMapper.xml                  |   18 ++++++++++++++++--
 src/main/java/com/se/nsl/service/SimuService.java         |    2 --
 6 files changed, 40 insertions(+), 12 deletions(-)

diff --git a/src/main/java/com/se/nsl/controller/RegionController.java b/src/main/java/com/se/nsl/controller/RegionController.java
index 891d802..34fea98 100644
--- a/src/main/java/com/se/nsl/controller/RegionController.java
+++ b/src/main/java/com/se/nsl/controller/RegionController.java
@@ -71,8 +71,8 @@
      * @return 鏂板鎴愬姛鐨勮褰曟暟
      */
     @ApiOperation(value = "insert")
-    @PostMapping("/insert")
-    public R<Object> insert(Region region) {
+    @PostMapping(value = "/insert", produces = "application/json; charset=UTF-8")
+    public R<Object> insert(@RequestBody Region region) {
         try {
             return success(regionService.insert(region));
         } catch (Exception ex) {
diff --git a/src/main/java/com/se/nsl/controller/SimuController.java b/src/main/java/com/se/nsl/controller/SimuController.java
index b3c72f8..4a4a662 100644
--- a/src/main/java/com/se/nsl/controller/SimuController.java
+++ b/src/main/java/com/se/nsl/controller/SimuController.java
@@ -71,8 +71,8 @@
      * @return 鏂板鎴愬姛鐨勮褰曟暟
      */
     @ApiOperation(value = "insert")
-    @PostMapping("/insert")
-    public R<Object> insert(Simu simu) {
+    @PostMapping(value = "/insert", produces = "application/json; charset=UTF-8")
+    public R<Object> insert(@RequestBody Simu simu) {
         try {
             return success(simuService.insert(simu));
         } catch (Exception ex) {
diff --git a/src/main/java/com/se/nsl/service/RegionService.java b/src/main/java/com/se/nsl/service/RegionService.java
index 71c8be6..e7161f0 100644
--- a/src/main/java/com/se/nsl/service/RegionService.java
+++ b/src/main/java/com/se/nsl/service/RegionService.java
@@ -72,7 +72,6 @@
      * @return 鏂板鎴愬姛鐨勮褰曟暟
      */
     public int insert(Region region) {
-        region.setGeomText();
         return regionMapper.inserts(Arrays.asList(region));
     }
 
@@ -83,7 +82,6 @@
      * @return 淇敼鎴愬姛鐨勮褰曟暟
      */
     public int updateById(Region region) {
-        region.setGeomText();
         return regionMapper.updates(Arrays.asList(region));
     }
 }
diff --git a/src/main/java/com/se/nsl/service/SimuService.java b/src/main/java/com/se/nsl/service/SimuService.java
index 1c4ee8a..eb12f7e 100644
--- a/src/main/java/com/se/nsl/service/SimuService.java
+++ b/src/main/java/com/se/nsl/service/SimuService.java
@@ -82,7 +82,6 @@
      * @return 鏂板鎴愬姛鐨勮褰曟暟
      */
     public int insert(Simu simu) {
-        simu.setGeomText();
         return simuMapper.inserts(Collections.singletonList(simu));
     }
 
@@ -93,7 +92,6 @@
      * @return 淇敼鎴愬姛鐨勮褰曟暟
      */
     public int updateById(Simu simu) {
-        simu.setGeomText();
         return simuMapper.updates(Arrays.asList(simu));
     }
 }
diff --git a/src/main/resources/mapper/RegionMapper.xml b/src/main/resources/mapper/RegionMapper.xml
index 5aa8a47..51bc8ad 100644
--- a/src/main/resources/mapper/RegionMapper.xml
+++ b/src/main/resources/mapper/RegionMapper.xml
@@ -4,7 +4,18 @@
     <insert id="inserts" parameterType="com.se.nsl.domain.po.Region">
         insert into nsl.region(name, type, geom) values
         <foreach collection="list" item="item" index="index" separator=",">
-            (#{item.name}, #{item.type}, ${item.geom})
+        (
+            #{item.name},
+            #{item.type},
+            <choose>
+                <when test="item.geom != null and item.geom != ''">
+                    ST_GeomFromText('${item.geom}')
+                </when>
+                <otherwise>
+                    null
+                </otherwise>
+            </choose>
+        )
         </foreach>
     </insert>
 
@@ -13,7 +24,14 @@
             update nsl.region
             set name = #{item.name},
                 type = #{item.type},
-                geom = ${item.geom}
+                <choose>
+                    <when test="item.geom != null and item.geom != ''">
+                        geom = ST_GeomFromText('${item.geom}')
+                    </when>
+                    <otherwise>
+                        geom = null
+                    </otherwise>
+                </choose>
             where id = #{item.id}
         </foreach>
     </update>
diff --git a/src/main/resources/mapper/SimuMapper.xml b/src/main/resources/mapper/SimuMapper.xml
index f640144..bdf2487 100644
--- a/src/main/resources/mapper/SimuMapper.xml
+++ b/src/main/resources/mapper/SimuMapper.xml
@@ -17,7 +17,14 @@
             now(),
             #{item.createUser},
             #{item.bak},
-            ${item.geom}
+            <choose>
+                <when test="item.geom != null and item.geom != ''">
+                    ST_GeomFromText('${item.geom}')
+                </when>
+                <otherwise>
+                    null
+                </otherwise>
+            </choose>
         )
         </foreach>
     </insert>
@@ -35,7 +42,14 @@
                 update_time=now(),
                 update_user=#{item.updateUser},
                 bak=#{item.bak},
-                geom=${item.geom}
+                <choose>
+                    <when test="item.geom != null and item.geom != ''">
+                        geom = ST_GeomFromText('${item.geom}')
+                    </when>
+                    <otherwise>
+                        geom = null
+                    </otherwise>
+                </choose>
             where id = #{item.id}
         </foreach>
     </update>

--
Gitblit v1.9.3