1
13693261870
2024-09-21 d031f47673fcae56668942dc8ab53e5bbac85d97
1
已修改5个文件
220 ■■■■■ 文件已修改
src/main/java/com/se/simu/controller/SimuController.java 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/se/simu/domain/po/DataPo.java 67 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/se/simu/domain/po/SimuPo.java 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/se/simu/domain/vo/CreateSimuVo.java 99 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/se/simu/service/SimuService.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/se/simu/controller/SimuController.java
@@ -10,10 +10,11 @@
import com.se.simu.service.SimuService;
import io.swagger.annotations.*;
import lombok.extern.slf4j.Slf4j;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
@@ -35,6 +36,8 @@
    @Resource
    SimuService simuService;
    private final List<String> FLOOD_TYPE = new ArrayList<>(Arrays.asList("沙袋", "防水板"));
    @ApiOperation(value = "创建")
    @PostMapping(value = "/create", produces = "application/json; charset=UTF-8")
    public R<Object> create(@RequestBody @ApiParam("创建仿真视图类") CreateSimuVo vo) {
@@ -48,12 +51,33 @@
            if (null == vo.getMinx() || null == vo.getMiny() || null == vo.getMaxx() || null == vo.getMaxy()) {
                return fail("选择范围不能为空", false);
            }
            if (null == vo.getIsFlood() || vo.getIsFlood() < 0) {
                vo.setIsFlood(0);
            }
            if (StringHelper.isEmpty(vo.getName())) {
                vo.setName(StringHelper.YMDHMS2_FORMAT.format(new Date()));
            }
            if (null == vo.getNum() || vo.getNum() < 1) {
                vo.setNum(simuService.getMaxId() + 1);
            }
            if (vo.getIsFlood() > 0) {
                vo.setIsFlood(1);
                if (null == vo.getFloodStart() || vo.getFloodStart() < 1 || vo.getFloodStart() > vo.getDuration() * 60) {
                    return fail("防汛开始时间不能为空,且取值在1~" + (vo.getDuration() * 60) + "之间");
                }
                if (null == vo.getFloodEnd() || vo.getFloodEnd() < vo.getFloodStart() || vo.getFloodEnd() > vo.getDuration() * 60) {
                    return fail("防汛结束时间不能为空,且取值在" + vo.getFloodStart() + "~" + (vo.getDuration() * 60) + "之间");
                }
                if (null == vo.getFloodHeight() || vo.getFloodHeight() < 1 || vo.getFloodHeight() > 2000) {
                    return fail("防汛高度不能为空,且取值在1~2000之间");
                }
                if (!FLOOD_TYPE.contains(vo.getFloodType())) {
                    return fail("防汛类型不能为空,且只能是沙袋和防水板");
                }
                if (null == vo.getFloodMinx() || null == vo.getFloodMiny() || null == vo.getFloodMaxx() || null == vo.getFloodMaxy()) {
                    return fail("防汛范围不能为空", false);
                }
            }
            boolean flag = simuService.create(vo);
src/main/java/com/se/simu/domain/po/DataPo.java
@@ -45,14 +45,23 @@
    @ApiModelProperty("防汛结束时间(秒)")
    private Integer floodEnd;
    @ApiModelProperty("防汛范围(minx,miny,maxx,maxy)")
    private String floodBbox;
    @ApiModelProperty("防汛高度(mm)")
    private Double floodHeight;
    @ApiModelProperty("防汛类型(沙袋,防水板)")
    private String floodType;
    @ApiModelProperty("防汛最小X")
    private Double floodMinx;
    @ApiModelProperty("防汛最小Y")
    private Double floodMiny;
    @ApiModelProperty("防汛最大X")
    private Double floodMaxx;
    @ApiModelProperty("防汛最大Y")
    private Double floodMaxy;
    public DataPo() {
    }
@@ -87,18 +96,22 @@
        return true;
    }
    public DataPo(Integer floodStart, Integer floodEnd, Double minx, Double miny, Double maxx, Double maxy, Double floodHeight, String floodType) {
    public boolean setFlood(Integer floodStart, Integer floodEnd, Double floodHeight, String floodType) {
        this.isFlood = 1;
        this.floodStart = floodStart;
        this.floodEnd = floodEnd;
        this.floodBbox = minx + "," + miny + "," + maxx + "," + maxy;
        this.floodHeight = floodHeight;
        this.floodType = floodType;
        return true;
    }
    public boolean setFloodExtent(Double minx, Double miny, Double maxx, Double maxy) {
    public boolean setFloodExtent(Double floodMinx, Double floodMiny, Double floodMaxx, Double floodMaxy) {
        this.isFlood = 1;
        this.floodBbox = minx + "," + miny + "," + maxx + "," + maxy;
        this.floodMinx = floodMinx;
        this.floodMiny = floodMiny;
        this.floodMaxx = floodMaxx;
        this.floodMaxy = floodMaxy;
        return true;
    }
@@ -199,14 +212,6 @@
        this.floodEnd = floodEnd;
    }
    public String getFloodBbox() {
        return floodBbox;
    }
    public void setFloodBbox(String floodBbox) {
        this.floodBbox = floodBbox;
    }
    public Double getFloodHeight() {
        return floodHeight;
    }
@@ -222,4 +227,36 @@
    public void setFloodType(String floodType) {
        this.floodType = floodType;
    }
    public Double getFloodMinx() {
        return floodMinx;
    }
    public void setFloodMinx(Double floodMinx) {
        this.floodMinx = floodMinx;
    }
    public Double getFloodMiny() {
        return floodMiny;
    }
    public void setFloodMiny(Double floodMiny) {
        this.floodMiny = floodMiny;
    }
    public Double getFloodMaxx() {
        return floodMaxx;
    }
    public void setFloodMaxx(Double floodMaxx) {
        this.floodMaxx = floodMaxx;
    }
    public Double getFloodMaxy() {
        return floodMaxy;
    }
    public void setFloodMaxy(Double floodMaxy) {
        this.floodMaxy = floodMaxy;
    }
}
src/main/java/com/se/simu/domain/po/SimuPo.java
@@ -33,7 +33,7 @@
    private String data;
    @ApiModelProperty("状态:0-创建仿真,1-连接GEDB库,2-下载空间数据,3-下载高程数据,4-模拟内涝仿真,5-处理仿真数据,10-完成,-10-出错")
    private Short status;
    private Integer status;
    @ApiModelProperty("结果")
    private String result;
@@ -46,6 +46,17 @@
    @ApiModelProperty("备注")
    private String bak;
    public SimuPo() {
    }
    public SimuPo(Integer num, String name, String data, Integer status, String bak) {
        this.num = num;
        this.name = name;
        this.data = data;
        this.status = status;
        this.bak = bak;
    }
    public Long getId() {
        return id;
@@ -87,11 +98,11 @@
        this.data = data;
    }
    public Short getStatus() {
    public Integer getStatus() {
        return status;
    }
    public void setStatus(Short status) {
    public void setStatus(Integer status) {
        this.status = status;
    }
src/main/java/com/se/simu/domain/vo/CreateSimuVo.java
@@ -44,6 +44,33 @@
    @ApiModelProperty("仿真备注")
    private String bak;
    @ApiModelProperty("是否为防汛(0-否,1-是)")
    private Integer isFlood;
    @ApiModelProperty("防汛开始时间(秒)")
    private Integer floodStart;
    @ApiModelProperty("防汛结束时间(秒)")
    private Integer floodEnd;
    @ApiModelProperty("防汛高度(mm)")
    private Double floodHeight;
    @ApiModelProperty("防汛类型(沙袋,防水板)")
    private String floodType;
    @ApiModelProperty("防汛最小X")
    private Double floodMinx;
    @ApiModelProperty("防汛最小Y")
    private Double floodMiny;
    @ApiModelProperty("防汛最大X")
    private Double floodMaxx;
    @ApiModelProperty("防汛最大Y")
    private Double floodMaxy;
    public Double getMinx() {
        return minx;
    }
@@ -115,4 +142,76 @@
    public void setBak(String bak) {
        this.bak = bak;
    }
    public Integer getIsFlood() {
        return isFlood;
    }
    public void setIsFlood(Integer isFlood) {
        this.isFlood = isFlood;
    }
    public Integer getFloodStart() {
        return floodStart;
    }
    public void setFloodStart(Integer floodStart) {
        this.floodStart = floodStart;
    }
    public Integer getFloodEnd() {
        return floodEnd;
    }
    public void setFloodEnd(Integer floodEnd) {
        this.floodEnd = floodEnd;
    }
    public Double getFloodHeight() {
        return floodHeight;
    }
    public void setFloodHeight(Double floodHeight) {
        this.floodHeight = floodHeight;
    }
    public String getFloodType() {
        return floodType;
    }
    public void setFloodType(String floodType) {
        this.floodType = floodType;
    }
    public Double getFloodMinx() {
        return floodMinx;
    }
    public void setFloodMinx(Double floodMinx) {
        this.floodMinx = floodMinx;
    }
    public Double getFloodMiny() {
        return floodMiny;
    }
    public void setFloodMiny(Double floodMiny) {
        this.floodMiny = floodMiny;
    }
    public Double getFloodMaxx() {
        return floodMaxx;
    }
    public void setFloodMaxx(Double floodMaxx) {
        this.floodMaxx = floodMaxx;
    }
    public Double getFloodMaxy() {
        return floodMaxy;
    }
    public void setFloodMaxy(Double floodMaxy) {
        this.floodMaxy = floodMaxy;
    }
}
src/main/java/com/se/simu/service/SimuService.java
@@ -1,5 +1,6 @@
package com.se.simu.service;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.io.FileUtil;
import cn.hutool.json.JSONUtil;
@@ -46,9 +47,16 @@
    }
    public boolean create(CreateSimuVo vo) {
        DataPo data = BeanUtil.copyProperties(vo, DataPo.class);
        SimuPo simu = new SimuPo(vo.getNum(), vo.getName(), JSONUtil.toJsonStr(data), 0, vo.getBak());
        //
        return true;
    }
    /**
     * 删除
     */
    public int del(List<Integer> ids) {
        List<SimuPo> list = simuMapper.selectBatchIds(ids);
        if (null != list && list.size() > 0) {
@@ -79,6 +87,9 @@
        return FileUtil.del(dir);
    }
    /**
     * 获取
     */
    public IPage<SimuPo> get(SimuVo vo) {
        QueryWrapper<SimuPo> wrapper = getPageWrapper(vo);