wuww
2025-04-16 1f646399b643c8350535be9a4b0dea10032c3031
添加区域、模拟的控制器
已重命名1个文件
已添加4个文件
已修改6个文件
414 ■■■■■ 文件已修改
data/init.sql 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/se/nsl/controller/RegionController.java 97 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/se/nsl/controller/SimuController.java 97 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/se/nsl/controller/SimuPoController.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/se/nsl/domain/po/Region.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/se/nsl/domain/po/Simu.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/se/nsl/domain/vo/SimulateVo.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/se/nsl/service/RegionService.java 85 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/se/nsl/service/SimuFilesService.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/se/nsl/service/SimuPoService.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/se/nsl/service/SimuService.java 94 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
data/init.sql
@@ -41,7 +41,9 @@
comment on column nsl.simu.bak is '备注';
comment on column nsl.simu.geom is '空间位置';
select * from nsl.simu;
-- insert into nsl.simu (name, service_name, type, area_type, status, geom) values ('预测模拟-0416', '20250416100000', 1, 1, 0, ST_GeomFromText('MULTIPOLYGON(((116.666748 39.639859,116.659403 39.626287,116.665956 39.654698,116.666748 39.639859)))'));
select *, st_astext(geom) geom from nsl.simu;
---------------------------------------------- 2.推演区域
-- drop table if exists nsl.region;
create table nsl.region (
@@ -59,7 +61,9 @@
comment on column nsl.region.type is '类别:1-行政区划,2-重点区域,3-重点沟';
comment on column nsl.region.geom is '空间位置';
select * from nsl.region;
-- insert into nsl.region (name, type, geom) values ('大兴', 1, ST_GeomFromText('MULTIPOLYGON(((116.666748 39.639859,116.659403 39.626287,116.665956 39.654698,116.666748 39.639859)))'));
select id, name, type, st_astext(geom) from nsl.region order by id;
---------------------------------------------- 3.雨量计 *
-- drop table if exists nsl.udometer;
create table nsl.udometer (
src/main/java/com/se/nsl/controller/RegionController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,97 @@
package com.se.nsl.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.se.nsl.domain.po.Region;
import com.se.nsl.domain.vo.R;
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;
@Api(tags = "1-推演区域")
@Slf4j
@RestController
@RequestMapping("/region")
@SuppressWarnings("ALL")
public class RegionController extends BaseController {
    @Resource
    RegionService regionService;
    /**
     * åˆ†é¡µæŸ¥è¯¢æŽ¨æ¼”区域
     *
     * @param pageNum  é¡µç 
     * @param pageSize æ¯é¡µæ•°é‡
     * @return åˆ†é¡µåŽçš„æŽ¨æ¼”区域
     */
    @ApiOperation(value = "selectPage")
    @GetMapping("/selectPage")
    public R<Object> selectPage(Region region, Integer pageNum, Integer pageSize) {
        try {
            if (null == pageNum || pageNum < 1) pageNum = 1;
            if (null == pageSize || pageSize < 1) pageSize = 10;
            if (pageSize > 1000) pageSize = 1000;
            IPage<Region> paged = regionService.selectPage(region, pageNum, pageSize);
            if (null == paged) {
                return success(null, 0);
            }
            return success(paged.getRecords(), paged.getTotal());
        } catch (Exception ex) {
            return fail(ex, null);
        }
    }
    /**
     * æ ¹æ®ID批量删除推演区域
     *
     * @param ids è¦åˆ é™¤çš„æŽ¨æ¼”区域ID列表
     * @return åˆ é™¤æˆåŠŸçš„è®°å½•æ•°
     */
    @ApiOperation(value = "deleteByIds")
    @DeleteMapping("/deleteByIds")
    public R<Object> deleteByIds(java.util.List<Integer> ids) {
        try {
            return success(regionService.deleteByIds(ids));
        } catch (Exception ex) {
            return fail(ex, null);
        }
    }
    /**
     * æ–°å¢žæŽ¨æ¼”区域
     *
     * @param region æŽ¨æ¼”区域对象
     * @return æ–°å¢žæˆåŠŸçš„è®°å½•æ•°
     */
    @ApiOperation(value = "insert")
    @PostMapping("/insert")
    public R<Object> insert(Region region) {
        try {
            return success(regionService.insert(region));
        } catch (Exception ex) {
            return fail(ex, null);
        }
    }
    /**
     * ä¿®æ”¹æŽ¨æ¼”区域
     *
     * @param region æŽ¨æ¼”区域对象
     * @return ä¿®æ”¹æˆåŠŸçš„è®°å½•æ•°
     */
    @ApiOperation(value = "updateById")
    @PutMapping("/updateById")
    public R<Object> updateById(Region region) {
        try {
            return success(regionService.updateById(region));
        } catch (Exception ex) {
            return fail(ex, null);
        }
    }
}
src/main/java/com/se/nsl/controller/SimuController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,97 @@
package com.se.nsl.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.se.nsl.domain.po.Simu;
import com.se.nsl.domain.vo.R;
import com.se.nsl.service.SimuService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
@Api(tags = "2-推演模拟")
@Slf4j
@RestController
@RequestMapping("/simu")
@SuppressWarnings("ALL")
public class SimuController extends BaseController {
    @Resource
    SimuService simuService;
    /**
     * åˆ†é¡µæŸ¥è¯¢æŽ¨æ¼”模拟
     *
     * @param pageNum  é¡µç 
     * @param pageSize æ¯é¡µæ•°é‡
     * @return åˆ†é¡µåŽçš„æŽ¨æ¼”模拟
     */
    @ApiOperation(value = "selectPage")
    @GetMapping("/selectPage")
    public R<Object> selectPage(Simu simu, Integer pageNum, Integer pageSize) {
        try {
            if (null == pageNum || pageNum < 1) pageNum = 1;
            if (null == pageSize || pageSize < 1) pageSize = 10;
            if (pageSize > 1000) pageSize = 1000;
            IPage<Simu> paged = simuService.selectPage(simu, pageNum, pageSize);
            if (null == paged) {
                return success(null, 0);
            }
            return success(paged.getRecords(), paged.getTotal());
        } catch (Exception ex) {
            return fail(ex, null);
        }
    }
    /**
     * æ ¹æ®ID批量删除推演模拟
     *
     * @param ids è¦åˆ é™¤çš„æŽ¨æ¼”模拟ID列表
     * @return åˆ é™¤æˆåŠŸçš„è®°å½•æ•°
     */
    @ApiOperation(value = "deleteByIds")
    @DeleteMapping("/deleteByIds")
    public R<Object> deleteByIds(java.util.List<Integer> ids) {
        try {
            return success(simuService.deleteByIds(ids));
        } catch (Exception ex) {
            return fail(ex, null);
        }
    }
    /**
     * æ–°å¢žæŽ¨æ¼”模拟
     *
     * @param simu æŽ¨æ¼”模拟对象
     * @return æ–°å¢žæˆåŠŸçš„è®°å½•æ•°
     */
    @ApiOperation(value = "insert")
    @PostMapping("/insert")
    public R<Object> insert(Simu simu) {
        try {
            return success(simuService.insert(simu));
        } catch (Exception ex) {
            return fail(ex, null);
        }
    }
    /**
     * ä¿®æ”¹æŽ¨æ¼”模拟
     *
     * @param simu æŽ¨æ¼”模拟对象
     * @return ä¿®æ”¹æˆåŠŸçš„è®°å½•æ•°
     */
    @ApiOperation(value = "updateById")
    @PutMapping("/updateById")
    public R<Object> updateById(Simu simu) {
        try {
            return success(simuService.updateById(simu));
        } catch (Exception ex) {
            return fail(ex, null);
        }
    }
}
src/main/java/com/se/nsl/controller/SimuPoController.java
@@ -155,10 +155,10 @@
    @ApiOperation(value = "获取")
    @GetMapping("/get")
    public R<Object> get(@ApiParam("仿真视图类") SimuVo vo) {
    public R<Object> get(@ApiParam("仿真视图类") SimulateVo vo) {
        try {
            if (null == vo) {
                vo = new SimuVo();
                vo = new SimulateVo();
            }
            if (null == vo.getPageSize() || vo.getPageSize() < 1) {
                vo.setPageSize(10);
src/main/java/com/se/nsl/domain/po/Region.java
@@ -3,6 +3,7 @@
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.netty.util.internal.StringUtil;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
@@ -63,4 +64,8 @@
    public void setGeom(String geom) {
        this.geom = geom;
    }
    public void setGeomWkt(String wkt) {
        this.geom = StringUtil.isNullOrEmpty(wkt) ? "null" : String.format("ST_GeomFromText('%s')", wkt.trim());
    }
}
src/main/java/com/se/nsl/domain/po/Simu.java
@@ -1,8 +1,11 @@
package com.se.nsl.domain.po;
import com.alibaba.fastjson.annotation.JSONField;
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;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
@@ -37,12 +40,14 @@
    @ApiModelProperty("结果(JSON)")
    private String result;
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("创建时间")
    private Timestamp createTime;
    @ApiModelProperty("创建人")
    private Timestamp createUser;
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("更新时间")
    private Timestamp updateTime;
@@ -52,6 +57,7 @@
    @ApiModelProperty("备注")
    private String bak;
    @TableField(select = false)
    @ApiModelProperty("空间位置")
    private String geom;
@@ -179,4 +185,8 @@
    public void setGeom(String geom) {
        this.geom = geom;
    }
    public void setGeomWkt(String wkt) {
        this.geom = StringUtil.isNullOrEmpty(wkt) ? "null" : String.format("ST_GeomFromText('%s')", wkt.trim());
    }
}
src/main/java/com/se/nsl/domain/vo/SimulateVo.java
ÎļþÃû´Ó src/main/java/com/se/nsl/domain/vo/SimuVo.java ÐÞ¸Ä
@@ -7,7 +7,7 @@
@TableName("bs.simu")
@SuppressWarnings("ALL")
public class SimuVo {
public class SimulateVo {
    @ApiModelProperty("ID")
    private Long id;
src/main/java/com/se/nsl/service/RegionService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,85 @@
package com.se.nsl.service;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.metadata.OrderItem;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.se.nsl.domain.po.Region;
import com.se.nsl.helper.StringHelper;
import com.se.nsl.mapper.RegionMapper;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
@Slf4j
@Service
@SuppressWarnings("ALL")
public class RegionService {
    @Resource
    RegionMapper regionMapper;
    /**
     * åˆ†é¡µæŸ¥è¯¢æŽ¨æ¼”区域
     *
     * @param pageNum  é¡µç 
     * @param pageSize æ¯é¡µæ•°é‡
     * @return åˆ†é¡µåŽçš„æŽ¨æ¼”区域
     */
    public IPage<Region> selectPage(Region vo, int pageNum, int pageSize) {
        QueryWrapper<Region> wrapper = getPageWrapper(vo, pageNum, pageSize);
        Page<Region> page = new Page<>(pageNum, pageSize);
        page.addOrder(OrderItem.desc("id"));
        IPage<Region> paged = regionMapper.selectPage(page, wrapper);
        return paged;
    }
    private QueryWrapper<Region> getPageWrapper(Region vo, int pageNum, int pageSize) {
        QueryWrapper<Region> wrapper = new QueryWrapper<>();
        if (null != vo.getId()) {
            wrapper.eq("id", vo.getId());
        }
        if (!StringHelper.isEmpty(vo.getName())) {
            wrapper.like("lower(name)", vo.getName().trim().toLowerCase());
        }
        if (null != vo.getType()) {
            wrapper.eq("type", vo.getType());
        }
        return wrapper;
    }
    /**
     * æ ¹æ®ID批量删除推演区域
     *
     * @param ids è¦åˆ é™¤çš„区域ID列表
     * @return åˆ é™¤æˆåŠŸçš„è®°å½•æ•°
     */
    public int deleteByIds(List<Integer> ids) {
        return regionMapper.deleteByIds(ids);
    }
    /**
     * æ–°å¢žæŽ¨æ¼”区域
     *
     * @param region æŽ¨æ¼”区域对象
     * @return æ–°å¢žæˆåŠŸçš„è®°å½•æ•°
     */
    public int insert(Region region) {
        return regionMapper.insert(region);
    }
    /**
     * ä¿®æ”¹æŽ¨æ¼”区域
     *
     * @param region æŽ¨æ¼”区域对象
     * @return ä¿®æ”¹æˆåŠŸçš„è®°å½•æ•°
     */
    public int updateById(Region region) {
        return regionMapper.updateById(region);
    }
}
src/main/java/com/se/nsl/service/SimuFilesService.java
@@ -13,7 +13,7 @@
import com.se.nsl.domain.po.DataPo;
import com.se.nsl.domain.po.SimuPo;
import com.se.nsl.domain.vo.CreateFilesSimuVo;
import com.se.nsl.domain.vo.SimuVo;
import com.se.nsl.domain.vo.SimulateVo;
import com.se.nsl.helper.StringHelper;
import com.se.nsl.helper.WebHelper;
import com.se.nsl.mapper.SimuPoMapper;
@@ -54,7 +54,7 @@
    @Resource
    ResultService resultService;
    public IPage<SimuPo> get(SimuVo vo) {
    public IPage<SimuPo> get(SimulateVo vo) {
        QueryWrapper<SimuPo> wrapper = getPageWrapper(vo);
        Page<SimuPo> page = new Page<>(vo.getPageIndex(), vo.getPageSize());
@@ -65,7 +65,7 @@
        return paged;
    }
    private QueryWrapper<SimuPo> getPageWrapper(SimuVo vo) {
    private QueryWrapper<SimuPo> getPageWrapper(SimulateVo vo) {
        QueryWrapper<SimuPo> wrapper = new QueryWrapper<>();
        if (null != vo.getId()) {
            wrapper.eq("id", vo.getId());
src/main/java/com/se/nsl/service/SimuPoService.java
@@ -13,7 +13,7 @@
import com.se.nsl.domain.po.DataPo;
import com.se.nsl.domain.po.SimuPo;
import com.se.nsl.domain.vo.CreateSimuVo;
import com.se.nsl.domain.vo.SimuVo;
import com.se.nsl.domain.vo.SimulateVo;
import com.se.nsl.helper.StringHelper;
import com.se.nsl.helper.WebHelper;
import com.se.nsl.mapper.SimuPoMapper;
@@ -48,7 +48,7 @@
    @Resource
    ResultService resultService;
    public IPage<SimuPo> get(SimuVo vo) {
    public IPage<SimuPo> get(SimulateVo vo) {
        QueryWrapper<SimuPo> wrapper = getPageWrapper(vo);
        Page<SimuPo> page = new Page<>(vo.getPageIndex(), vo.getPageSize());
@@ -59,7 +59,7 @@
        return paged;
    }
    private QueryWrapper<SimuPo> getPageWrapper(SimuVo vo) {
    private QueryWrapper<SimuPo> getPageWrapper(SimulateVo vo) {
        QueryWrapper<SimuPo> wrapper = new QueryWrapper<>();
        if (null != vo.getId()) {
            wrapper.eq("id", vo.getId());
src/main/java/com/se/nsl/service/SimuService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,94 @@
package com.se.nsl.service;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.metadata.OrderItem;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.se.nsl.domain.po.Simu;
import com.se.nsl.helper.StringHelper;
import com.se.nsl.mapper.SimuMapper;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
@Slf4j
@Service
@SuppressWarnings("ALL")
public class SimuService {
    @Resource
    SimuMapper simuMapper;
    /**
     * åˆ†é¡µæŸ¥è¯¢æŽ¨æ¼”模拟
     *
     * @param pageNum  é¡µç 
     * @param pageSize æ¯é¡µæ•°é‡
     * @return åˆ†é¡µåŽçš„æŽ¨æ¼”模拟
     */
    public IPage<Simu> selectPage(Simu vo, int pageNum, int pageSize) {
        QueryWrapper<Simu> wrapper = getPageWrapper(vo, pageNum, pageSize);
        Page<Simu> page = new Page<>(pageNum, pageSize);
        page.addOrder(OrderItem.desc("id"));
        IPage<Simu> paged = simuMapper.selectPage(page, wrapper);
        return paged;
    }
    private QueryWrapper<Simu> getPageWrapper(Simu vo, int pageNum, int pageSize) {
        QueryWrapper<Simu> wrapper = new QueryWrapper<>();
        if (null != vo.getId()) {
            wrapper.eq("id", vo.getId());
        }
        if (!StringHelper.isEmpty(vo.getName())) {
            wrapper.like("lower(name)", vo.getName().trim().toLowerCase());
        }
        if (!StringHelper.isEmpty(vo.getServiceName())) {
            wrapper.like("service_name", vo.getServiceName().trim());
        }
        if (null != vo.getType()) {
            wrapper.eq("type", vo.getType());
        }
        if (null != vo.getAreaType()) {
            wrapper.eq("area_type", vo.getAreaType());
        }
        if (null != vo.getStatus()) {
            wrapper.eq("status", vo.getStatus());
        }
        return wrapper;
    }
    /**
     * æ ¹æ®ID批量删除推演模拟
     *
     * @param ids è¦åˆ é™¤çš„区域ID列表
     * @return åˆ é™¤æˆåŠŸçš„è®°å½•æ•°
     */
    public int deleteByIds(List<Integer> ids) {
        return simuMapper.deleteByIds(ids);
    }
    /**
     * æ–°å¢žæŽ¨æ¼”模拟
     *
     * @param Simu æŽ¨æ¼”模拟对象
     * @return æ–°å¢žæˆåŠŸçš„è®°å½•æ•°
     */
    public int insert(Simu Simu) {
        return simuMapper.insert(Simu);
    }
    /**
     * ä¿®æ”¹æŽ¨æ¼”模拟
     *
     * @param Simu æŽ¨æ¼”模拟对象
     * @return ä¿®æ”¹æˆåŠŸçš„è®°å½•æ•°
     */
    public int updateById(Simu Simu) {
        return simuMapper.updateById(Simu);
    }
}