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