src/main/java/com/se/simu/controller/SimuController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/se/simu/domain/po/DataPo.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/se/simu/domain/po/SimuPo.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/se/simu/domain/vo/CreateSimuVo.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/se/simu/service/SimuService.java | ●●●●● 补丁 | 查看 | 原始文档 | 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);