From d031f47673fcae56668942dc8ab53e5bbac85d97 Mon Sep 17 00:00:00 2001
From: 13693261870 <252740454@qq.com>
Date: 星期六, 21 九月 2024 09:03:03 +0800
Subject: [PATCH] 1

---
 src/main/java/com/se/simu/domain/po/SimuPo.java          |   17 +++
 src/main/java/com/se/simu/service/SimuService.java       |   11 ++
 src/main/java/com/se/simu/domain/po/DataPo.java          |   67 +++++++++++++---
 src/main/java/com/se/simu/domain/vo/CreateSimuVo.java    |   99 ++++++++++++++++++++++++
 src/main/java/com/se/simu/controller/SimuController.java |   26 ++++++
 5 files changed, 201 insertions(+), 19 deletions(-)

diff --git a/src/main/java/com/se/simu/controller/SimuController.java b/src/main/java/com/se/simu/controller/SimuController.java
index 2b113d3..a5fa545 100644
--- a/src/main/java/com/se/simu/controller/SimuController.java
+++ b/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);
 
diff --git a/src/main/java/com/se/simu/domain/po/DataPo.java b/src/main/java/com/se/simu/domain/po/DataPo.java
index 06316b6..256eb90 100644
--- a/src/main/java/com/se/simu/domain/po/DataPo.java
+++ b/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("闃叉睕鏈�灏廥")
+    private Double floodMinx;
+
+    @ApiModelProperty("闃叉睕鏈�灏廦")
+    private Double floodMiny;
+
+    @ApiModelProperty("闃叉睕鏈�澶")
+    private Double floodMaxx;
+
+    @ApiModelProperty("闃叉睕鏈�澶")
+    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;
+    }
 }
diff --git a/src/main/java/com/se/simu/domain/po/SimuPo.java b/src/main/java/com/se/simu/domain/po/SimuPo.java
index 22336af..697dbfd 100644
--- a/src/main/java/com/se/simu/domain/po/SimuPo.java
+++ b/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;
     }
 
diff --git a/src/main/java/com/se/simu/domain/vo/CreateSimuVo.java b/src/main/java/com/se/simu/domain/vo/CreateSimuVo.java
index e56310b..34298bb 100644
--- a/src/main/java/com/se/simu/domain/vo/CreateSimuVo.java
+++ b/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("闃叉睕鏈�灏廥")
+    private Double floodMinx;
+
+    @ApiModelProperty("闃叉睕鏈�灏廦")
+    private Double floodMiny;
+
+    @ApiModelProperty("闃叉睕鏈�澶")
+    private Double floodMaxx;
+
+    @ApiModelProperty("闃叉睕鏈�澶")
+    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;
+    }
 }
diff --git a/src/main/java/com/se/simu/service/SimuService.java b/src/main/java/com/se/simu/service/SimuService.java
index 3ea9084..5ae433c 100644
--- a/src/main/java/com/se/simu/service/SimuService.java
+++ b/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);
 

--
Gitblit v1.9.3