From deb219266ee85496758a0c697176e4dd2456f7ba Mon Sep 17 00:00:00 2001
From: wuww <252740454@qq.com>
Date: 星期三, 16 四月 2025 11:55:35 +0800
Subject: [PATCH] 修改RegionController

---
 src/main/java/com/se/nsl/mapper/RegionMapper.java         |    6 ++
 src/main/resources/mapper/RegionMapper.xml                |   20 ++++++
 src/main/java/com/se/nsl/controller/RegionController.java |    8 +-
 src/main/java/com/se/nsl/service/RegionService.java       |    7 +
 src/main/resources/mapper/SimuMapper.xml                  |   43 +++++++++++++-
 src/main/java/com/se/nsl/mapper/SimuMapper.java           |    6 ++
 src/main/java/com/se/nsl/domain/po/Region.java            |    6 +
 src/main/java/com/se/nsl/domain/po/Simu.java              |    6 +-
 src/main/java/com/se/nsl/service/SimuService.java         |   12 ++-
 src/main/resources/mapper/SimuPoMapper.xml                |    7 ++
 10 files changed, 102 insertions(+), 19 deletions(-)

diff --git a/src/main/java/com/se/nsl/controller/RegionController.java b/src/main/java/com/se/nsl/controller/RegionController.java
index f62c165..891d802 100644
--- a/src/main/java/com/se/nsl/controller/RegionController.java
+++ b/src/main/java/com/se/nsl/controller/RegionController.java
@@ -7,11 +7,11 @@
 import com.se.nsl.service.RegionService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
-import io.swagger.models.auth.In;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
+import java.util.List;
 
 @Api(tags = "1锛嶆帹婕斿尯鍩�")
 @Slf4j
@@ -56,7 +56,7 @@
      */
     @ApiOperation(value = "deleteByIds")
     @DeleteMapping("/deleteByIds")
-    public R<Object> deleteByIds(java.util.List<Integer> ids) {
+    public R<Object> deleteByIds(@RequestParam List<Integer> ids) {
         try {
             return success(regionService.deleteByIds(ids));
         } catch (Exception ex) {
@@ -87,8 +87,8 @@
      * @return 淇敼鎴愬姛鐨勮褰曟暟
      */
     @ApiOperation(value = "updateById")
-    @PutMapping("/updateById")
-    public R<Object> updateById(Region region) {
+    @PutMapping(value = "/updateById", produces = "application/json; charset=UTF-8")
+    public R<Object> updateById(@RequestBody Region region) {
         try {
             return success(regionService.updateById(region));
         } catch (Exception ex) {
diff --git a/src/main/java/com/se/nsl/domain/po/Region.java b/src/main/java/com/se/nsl/domain/po/Region.java
index 57a33c2..dce31cf 100644
--- a/src/main/java/com/se/nsl/domain/po/Region.java
+++ b/src/main/java/com/se/nsl/domain/po/Region.java
@@ -1,6 +1,7 @@
 package com.se.nsl.domain.po;
 
 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 io.netty.util.internal.StringUtil;
@@ -22,6 +23,7 @@
     private Short type;
 
     @ApiModelProperty("绌洪棿浣嶇疆")
+    @TableField(value = "st_astext(geom)", select = true)
     private String geom;
 
     public Region() {
@@ -65,7 +67,7 @@
         this.geom = geom;
     }
 
-    public void setGeomWkt(String wkt) {
-        this.geom = StringUtil.isNullOrEmpty(wkt) ? "null" : String.format("ST_GeomFromText('%s')", wkt.trim());
+    public void setGeomText() {
+        this.geom = StringUtil.isNullOrEmpty(this.geom) ? "null" : String.format("ST_GeomFromText('%s')", this.geom.trim());
     }
 }
diff --git a/src/main/java/com/se/nsl/domain/po/Simu.java b/src/main/java/com/se/nsl/domain/po/Simu.java
index 1ba64ee..5a23188 100644
--- a/src/main/java/com/se/nsl/domain/po/Simu.java
+++ b/src/main/java/com/se/nsl/domain/po/Simu.java
@@ -57,8 +57,8 @@
     @ApiModelProperty("澶囨敞")
     private String bak;
 
-    @TableField(select = false)
     @ApiModelProperty("绌洪棿浣嶇疆")
+    @TableField(value = "st_astext(geom)", select = true)
     private String geom;
 
     public Simu() {
@@ -186,7 +186,7 @@
         this.geom = geom;
     }
 
-    public void setGeomWkt(String wkt) {
-        this.geom = StringUtil.isNullOrEmpty(wkt) ? "null" : String.format("ST_GeomFromText('%s')", wkt.trim());
+    public void setGeomText() {
+        this.geom = StringUtil.isNullOrEmpty(this.geom) ? "null" : String.format("ST_GeomFromText('%s')", this.geom.trim());
     }
 }
diff --git a/src/main/java/com/se/nsl/mapper/RegionMapper.java b/src/main/java/com/se/nsl/mapper/RegionMapper.java
index 6eab633..cc3ade1 100644
--- a/src/main/java/com/se/nsl/mapper/RegionMapper.java
+++ b/src/main/java/com/se/nsl/mapper/RegionMapper.java
@@ -3,10 +3,16 @@
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.se.nsl.domain.po.Region;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
 import org.springframework.stereotype.Repository;
+
+import java.util.List;
 
 @Mapper
 @Repository
 @SuppressWarnings("ALL")
 public interface RegionMapper extends BaseMapper<Region> {
+    int inserts(@Param("list") List<Region> list);
+
+    int updates(@Param("list") List<Region> list);
 }
diff --git a/src/main/java/com/se/nsl/mapper/SimuMapper.java b/src/main/java/com/se/nsl/mapper/SimuMapper.java
index 761b0ad..67c19b4 100644
--- a/src/main/java/com/se/nsl/mapper/SimuMapper.java
+++ b/src/main/java/com/se/nsl/mapper/SimuMapper.java
@@ -4,10 +4,16 @@
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.se.nsl.domain.po.Simu;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
 import org.springframework.stereotype.Repository;
+
+import java.util.List;
 
 @Mapper
 @Repository
 @SuppressWarnings("ALL")
 public interface SimuMapper extends BaseMapper<Simu> {
+    int inserts(@Param("list") List<Simu> list);
+
+    int updates(@Param("list") List<Simu> list);
 }
diff --git a/src/main/java/com/se/nsl/service/RegionService.java b/src/main/java/com/se/nsl/service/RegionService.java
index 5a684d6..71c8be6 100644
--- a/src/main/java/com/se/nsl/service/RegionService.java
+++ b/src/main/java/com/se/nsl/service/RegionService.java
@@ -12,6 +12,7 @@
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
+import java.util.Arrays;
 import java.util.List;
 
 @Slf4j
@@ -71,7 +72,8 @@
      * @return 鏂板鎴愬姛鐨勮褰曟暟
      */
     public int insert(Region region) {
-        return regionMapper.insert(region);
+        region.setGeomText();
+        return regionMapper.inserts(Arrays.asList(region));
     }
 
     /**
@@ -81,6 +83,7 @@
      * @return 淇敼鎴愬姛鐨勮褰曟暟
      */
     public int updateById(Region region) {
-        return regionMapper.updateById(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 430b427..1c4ee8a 100644
--- a/src/main/java/com/se/nsl/service/SimuService.java
+++ b/src/main/java/com/se/nsl/service/SimuService.java
@@ -12,6 +12,8 @@
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
+import java.util.Arrays;
+import java.util.Collections;
 import java.util.List;
 
 @Slf4j
@@ -79,8 +81,9 @@
      * @param Simu 鎺ㄦ紨妯℃嫙瀵硅薄
      * @return 鏂板鎴愬姛鐨勮褰曟暟
      */
-    public int insert(Simu Simu) {
-        return simuMapper.insert(Simu);
+    public int insert(Simu simu) {
+        simu.setGeomText();
+        return simuMapper.inserts(Collections.singletonList(simu));
     }
 
     /**
@@ -89,7 +92,8 @@
      * @param Simu 鎺ㄦ紨妯℃嫙瀵硅薄
      * @return 淇敼鎴愬姛鐨勮褰曟暟
      */
-    public int updateById(Simu Simu) {
-        return simuMapper.updateById(Simu);
+    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
new file mode 100644
index 0000000..5aa8a47
--- /dev/null
+++ b/src/main/resources/mapper/RegionMapper.xml
@@ -0,0 +1,20 @@
+<?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.se.nsl.mapper.RegionMapper">
+    <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})
+        </foreach>
+    </insert>
+
+    <update id="updates" parameterType="com.se.nsl.domain.po.Region">
+        <foreach collection="list" item="item" separator=";">
+            update nsl.region
+            set name = #{item.name},
+                type = #{item.type},
+                geom = ${item.geom}
+            where id = #{item.id}
+        </foreach>
+    </update>
+</mapper>
\ No newline at end of file
diff --git a/src/main/resources/mapper/SimuMapper.xml b/src/main/resources/mapper/SimuMapper.xml
index e931584..f640144 100644
--- a/src/main/resources/mapper/SimuMapper.xml
+++ b/src/main/resources/mapper/SimuMapper.xml
@@ -1,7 +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.se.nsl.mapper.SimuPoMapper">
-    <select id="selectMaxId" resultType="java.lang.Integer">
-        select coalesce(max(id), 0) from bs.simu;
-    </select>
+<mapper namespace="com.se.nsl.mapper.SimuMapper">
+    <insert id="inserts" parameterType="com.se.nsl.domain.po.Simu">
+        insert into nsl.simu (
+            name, service_name, type, area_type, data, status, result, create_time, create_user, bak, geom)
+        values
+        <foreach collection="list" item="item" separator=",">
+        (
+            #{item.name},
+            #{item.serviceName},
+            #{item.type},
+            #{item.areaType},
+            #{item.data},
+            #{item.status},
+            #{item.result},
+            now(),
+            #{item.createUser},
+            #{item.bak},
+            ${item.geom}
+        )
+        </foreach>
+    </insert>
+
+    <update id="updates" parameterType="com.se.nsl.domain.po.Simu">
+        <foreach collection="list" item="item" separator=";">
+            update nsl.simu
+            set name=#{item.name},
+                service_name=#{item.serviceName},
+                type=#{item.type},
+                area_type=#{item.areaType},
+                data=#{item.data},
+                status=#{item.status},
+                result=#{item.result},
+                update_time=now(),
+                update_user=#{item.updateUser},
+                bak=#{item.bak},
+                geom=${item.geom}
+            where id = #{item.id}
+        </foreach>
+    </update>
 </mapper>
\ No newline at end of file
diff --git a/src/main/resources/mapper/SimuPoMapper.xml b/src/main/resources/mapper/SimuPoMapper.xml
new file mode 100644
index 0000000..e931584
--- /dev/null
+++ b/src/main/resources/mapper/SimuPoMapper.xml
@@ -0,0 +1,7 @@
+<?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.se.nsl.mapper.SimuPoMapper">
+    <select id="selectMaxId" resultType="java.lang.Integer">
+        select coalesce(max(id), 0) from bs.simu;
+    </select>
+</mapper>
\ No newline at end of file

--
Gitblit v1.9.3