docker/init/init.sql | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/se/simu/controller/SimuController.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/domain/vo/SimuVo.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/se/simu/domain/vo/TaskVo.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/se/simu/mapper/SimuMapper.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/se/simu/service/SimuService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/resources/mapper/SimuMapper.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
docker/init/init.sql
@@ -30,5 +30,4 @@ comment on column bs.simu.bak is '夿³¨'; -- insert into bs.simu (pid, num, name, data, status, result, bak) values (0, 1, '仿ç01', null, 0, '', null); select * from bs.simu; -- select * from bs.simu; src/main/java/com/se/simu/controller/SimuController.java
@@ -1,13 +1,20 @@ package com.se.simu.controller; import com.baomidou.mybatisplus.core.metadata.IPage; import com.se.simu.domain.po.SimuPo; import com.se.simu.domain.vo.CreateSimuVo; import com.se.simu.domain.vo.R; import com.se.simu.domain.vo.SimuVo; import com.se.simu.helper.StringHelper; import com.se.simu.service.GedbService; 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.Date; import java.util.List; /** @@ -25,16 +32,32 @@ @Resource GedbService gedbService; @Resource SimuService simuService; @ApiOperation(value = "å建") @PostMapping(value = "/create", produces = "application/json; charset=UTF-8") public R<Object> create(@RequestBody @ApiParam("å建仿çè§å¾ç±»") CreateSimuVo vo) { try { // 469538.6536261877,4416744.922022615,469853.14714664617,4417049.378602433 String bbox = "116.64388473935195,39.884315914604464,116.64754729082588,39.887069143903496"; String taskName = "20240913"; Object rs = gedbService.test(bbox, taskName); if (null == vo.getTotal() || vo.getTotal() < 1 || vo.getTotal() > 1000) { return fail("éé¨éä¸è½ä¸ºç©ºï¼ä¸åå¼å¨1~1000ä¹é´"); } if (null == vo.getDuration() || vo.getDuration() < 1 || vo.getDuration() > 120) { return fail("ä»¿çæ¶é¿ä¸è½ä¸ºç©ºï¼ä¸åå¼å¨1~120ä¹é´"); } if (null == vo.getMinx() || null == vo.getMiny() || null == vo.getMaxx() || null == vo.getMaxy()) { return fail("éæ©èå´ä¸è½ä¸ºç©º", false); } 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); } return success(rs); boolean flag = simuService.create(vo); return success(flag, flag ? "æå" : "失败"); } catch (Exception ex) { return fail(ex, null); } @@ -42,14 +65,18 @@ @ApiOperation(value = "å é¤") @ApiImplicitParams({ @ApiImplicitParam(name = "ids", value = "ä»»å¡ID", dataType = "Integer", paramType = "query", allowMultiple = true, example = "2") @ApiImplicitParam(name = "ids", value = "ID", dataType = "Integer", paramType = "query", allowMultiple = true, example = "0") }) @GetMapping(value = "/del") public R<Object> del(@RequestParam List<Integer> ids) { try { // if (ids == null || ids.isEmpty()) { return fail("æ¥å¿IDä¸è½ä¸ºç©º", null); } return success(0); int count = simuService.del(ids); return success(count); } catch (Exception ex) { return fail(ex, null); } @@ -57,11 +84,39 @@ @ApiOperation(value = "è·å") @GetMapping("/get") public R<Object> get(@ApiParam("ä»»å¡è§å¾ç±»") Object vo) { public R<Object> get(@ApiParam("仿çè§å¾ç±»") SimuVo vo) { try { // if (null == vo) { vo = new SimuVo(); } if (null == vo.getPageSize() || vo.getPageSize() < 1) { vo.setPageSize(10); } if (null == vo.getPageIndex() || vo.getPageIndex() < 1) { vo.setPageIndex(1); } return success(null, 0); IPage<SimuPo> paged = simuService.get(vo); if (null == paged) { return success(null, 0); } return success(paged.getRecords(), paged.getTotal()); } catch (Exception ex) { return fail(ex, null); } } @ApiOperation(value = "* Test *") @GetMapping("/test") public R<Object> test(@ApiParam("仿çè§å¾ç±»") SimuVo vo) { try { // 469538.6536261877,4416744.922022615,469853.14714664617,4417049.378602433 String bbox = "116.64388473935195,39.884315914604464,116.64754729082588,39.887069143903496"; String taskName = "20240913"; Object rs = gedbService.test(bbox, taskName); return success(rs); } catch (Exception ex) { return fail(ex, null); } src/main/java/com/se/simu/domain/po/SimuPo.java
@@ -46,4 +46,84 @@ @ApiModelProperty("夿³¨") private String bak; public Long getId() { return id; } public void setId(Long id) { this.id = id; } public Integer getPid() { return pid; } public void setPid(Integer pid) { this.pid = pid; } public Integer getNum() { return num; } public void setNum(Integer num) { this.num = num; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getData() { return data; } public void setData(String data) { this.data = data; } public Short getStatus() { return status; } public void setStatus(Short status) { this.status = status; } public String getResult() { return result; } public void setResult(String result) { this.result = result; } public Timestamp getCreateTime() { return createTime; } public void setCreateTime(Timestamp createTime) { this.createTime = createTime; } public Timestamp getUpdateTime() { return updateTime; } public void setUpdateTime(Timestamp updateTime) { this.updateTime = updateTime; } public String getBak() { return bak; } public void setBak(String bak) { this.bak = bak; } } src/main/java/com/se/simu/domain/vo/CreateSimuVo.java
@@ -12,7 +12,6 @@ * @author WWW * @date 2024-09-18 */ @Data @ToString @SuppressWarnings("ALL") @ApiModel(value = "å建仿çè§å¾ç±»") @@ -44,4 +43,76 @@ @ApiModelProperty("仿ç夿³¨") private String bak; public Double getMinx() { return minx; } public void setMinx(Double minx) { this.minx = minx; } public Double getMiny() { return miny; } public void setMiny(Double miny) { this.miny = miny; } public Double getMaxx() { return maxx; } public void setMaxx(Double maxx) { this.maxx = maxx; } public Double getMaxy() { return maxy; } public void setMaxy(Double maxy) { this.maxy = maxy; } public Integer getNum() { return num; } public void setNum(Integer num) { this.num = num; } public Double getTotal() { return total; } public void setTotal(Double total) { this.total = total; } public Integer getDuration() { return duration; } public void setDuration(Integer duration) { this.duration = duration; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getBak() { return bak; } public void setBak(String bak) { this.bak = bak; } } src/main/java/com/se/simu/domain/vo/SimuVo.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,93 @@ package com.se.simu.domain.vo; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.annotations.ApiModelProperty; import java.util.List; /** * 仿çè§å¾ç±» * * @author WWW * @date 2024-09-18 */ @TableName("bs.simu") @SuppressWarnings("ALL") public class SimuVo { @ApiModelProperty("ID") private Long id; @ApiModelProperty("ç¶ID") private Integer pid; @ApiModelProperty("åºå·") private Integer num; @ApiModelProperty("åç§°") private String name; @ApiModelProperty("ç¶æï¼0-å建仿çï¼1-è¿æ¥GEDBåºï¼2-ä¸è½½ç©ºé´æ°æ®ï¼3-ä¸è½½é«ç¨æ°æ®ï¼4-模æå æ¶ä»¿çï¼5-å¤çä»¿çæ°æ®ï¼10-宿ï¼-10-åºé") private List<Short> status; @ApiModelProperty("å页大å°") private Integer pageSize; @ApiModelProperty("å½å页ç ") private Integer pageIndex; public Long getId() { return id; } public void setId(Long id) { this.id = id; } public Integer getPid() { return pid; } public void setPid(Integer pid) { this.pid = pid; } public Integer getNum() { return num; } public void setNum(Integer num) { this.num = num; } public String getName() { return name; } public void setName(String name) { this.name = name; } public List<Short> getStatus() { return status; } public void setStatus(List<Short> status) { this.status = status; } public Integer getPageSize() { return pageSize; } public void setPageSize(Integer pageSize) { this.pageSize = pageSize; } public Integer getPageIndex() { return pageIndex; } public void setPageIndex(Integer pageIndex) { this.pageIndex = pageIndex; } } src/main/java/com/se/simu/domain/vo/TaskVo.java
ÎļþÒÑɾ³ý src/main/java/com/se/simu/mapper/SimuMapper.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,23 @@ package com.se.simu.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.se.simu.domain.po.SimuPo; import org.apache.ibatis.annotations.Mapper; import org.springframework.stereotype.Repository; /** * 仿çMapper * * @author WWW * @date 2024-09-18 */ @Mapper @Repository public interface SimuMapper extends BaseMapper<SimuPo> { /** * æ¥è¯¢æå¤§ID * * @return æå¤§ID */ Integer selectMaxId(); } src/main/java/com/se/simu/service/SimuService.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,113 @@ package com.se.simu.service; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.io.FileUtil; import cn.hutool.json.JSONUtil; 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.simu.domain.po.DataPo; import com.se.simu.domain.po.SimuPo; import com.se.simu.domain.vo.CreateSimuVo; import com.se.simu.domain.vo.SimuVo; import com.se.simu.helper.StringHelper; import com.se.simu.mapper.SimuMapper; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import org.springframework.util.StringUtils; import javax.annotation.Resource; import java.io.File; import java.util.List; /** * 仿çæå¡ç±» * * @author WWW * @date 2024-09-18 */ @Slf4j @Service @SuppressWarnings("ALL") public class SimuService { @Value("${sys.path.in}") String inPath; @Value("${sys.path.out}") String outPath; @Resource SimuMapper simuMapper; public Integer getMaxId() { return simuMapper.selectMaxId(); } public boolean create(CreateSimuVo vo) { return true; } public int del(List<Integer> ids) { List<SimuPo> list = simuMapper.selectBatchIds(ids); if (null != list && list.size() > 0) { for (SimuPo po : list) { try { if (StringHelper.isEmpty(po.getData())) continue; DataPo dp = JSONUtil.toBean(po.getData(), DataPo.class); if (null == dp) continue; delDir(inPath + File.separator + dp.getInPath()); delDir(outPath + File.separator + dp.getOutPath()); } catch (Exception ex) { log.error(ex.getMessage(), ex); } } } return simuMapper.deleteBatchIds(ids); } private boolean delDir(String dir) { File file = new File(dir); if (!file.exists() || !file.isDirectory()) { return false; } return FileUtil.del(dir); } public IPage<SimuPo> get(SimuVo vo) { QueryWrapper<SimuPo> wrapper = getPageWrapper(vo); Page<SimuPo> page = new Page<>(vo.getPageIndex(), vo.getPageSize()); page.addOrder(OrderItem.desc("id")); IPage<SimuPo> paged = simuMapper.selectPage(page, wrapper); return paged; } private QueryWrapper<SimuPo> getPageWrapper(SimuVo vo) { QueryWrapper<SimuPo> wrapper = new QueryWrapper<>(); if (null != vo.getId()) { wrapper.eq("id", vo.getId()); } if (null != vo.getPid()) { wrapper.eq("pid", vo.getPid()); } if (null != vo.getNum()) { wrapper.eq("num", vo.getNum()); } if (!StringUtils.isEmpty(vo.getName())) { wrapper.like("lower(name)", vo.getName().trim().toLowerCase()); } if (!CollUtil.isEmpty(vo.getStatus())) { wrapper.in("status", vo.getStatus()); } return wrapper; } } src/main/resources/mapper/SimuMapper.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.simu.mapper.SimuMapper"> <select id="selectMaxId" resultType="java.lang.Integer"> select coalesce(max(id), 0) from bs.simu; </select> </mapper>