diff --git a/src/main/java/com/gunshi/project/xyt/controller/StFlowRController.java b/src/main/java/com/gunshi/project/xyt/controller/StFlowRController.java new file mode 100644 index 0000000..9c71af4 --- /dev/null +++ b/src/main/java/com/gunshi/project/xyt/controller/StFlowRController.java @@ -0,0 +1,60 @@ +package com.gunshi.project.xyt.controller; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.gunshi.core.result.R; +import com.gunshi.project.xyt.model.StFlowR; +import com.gunshi.project.xyt.model.StFlowRAutoDao; +import com.gunshi.project.xyt.model.StStbprpB; +import com.gunshi.project.xyt.model.StStbprpBAutoMapper; +import com.gunshi.project.xyt.so.RtuDataSo; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.ArrayList; +import java.util.List; + +/** + * 流量数据接口 + * + * @author lyf + * @version 1.0.0 + * @since 2024-01-26 + */ +@RestController +@RequestMapping("/rcv/flowr") +@Tag(name = "统一接收-流量数据") +public class StFlowRController { + + @Autowired + private StFlowRAutoDao dao; + + @Autowired + private StStbprpBAutoMapper stbprpDao; + + @Schema(description = "分页查询") + @PostMapping("/page/{chid}") + public R> page(@RequestBody RtuDataSo so, @PathVariable("chid") String chid) { + List stcds = new ArrayList<>(); + if (StringUtils.isNotEmpty(so.getStcd())) { + stcds.add(so.getStcd()); + } else if (StringUtils.isNotEmpty(so.getStnm())) { + stcds.addAll(stbprpDao.selectList( + new LambdaQueryWrapper().like(StStbprpB::getStnm, so.getStnm()) + ).stream().map(StStbprpB::getStcd).toList()); + } + + Page page; + if (!stcds.isEmpty()) { + LambdaQueryWrapper query = new LambdaQueryWrapper().in(StFlowR::getStcd, stcds).eq(StFlowR::getChid, chid); + page = dao.page(so.getPageSo().toPage(), query); + } else { + page = dao.page(so.getPageSo().toPage()); + } + + return R.ok(page); + } +} diff --git a/src/main/java/com/gunshi/project/xyt/controller/StImgRController.java b/src/main/java/com/gunshi/project/xyt/controller/StImgRController.java new file mode 100644 index 0000000..38db4d6 --- /dev/null +++ b/src/main/java/com/gunshi/project/xyt/controller/StImgRController.java @@ -0,0 +1,60 @@ +package com.gunshi.project.xyt.controller; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.gunshi.core.result.R; +import com.gunshi.project.xyt.model.StImgR; +import com.gunshi.project.xyt.model.StImgRAutoDao; +import com.gunshi.project.xyt.model.StStbprpB; +import com.gunshi.project.xyt.model.StStbprpBAutoMapper; +import com.gunshi.project.xyt.so.RtuDataSo; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.ArrayList; +import java.util.List; + +/** + * 图像数据接口 + * + * @author lyf + * @version 1.0.0 + * @since 2024-01-26 + */ +@RestController +@RequestMapping("/rcv/imgr") +@Tag(name = "统一接收-图像数据") +public class StImgRController { + + @Autowired + private StImgRAutoDao dao; + + @Autowired + private StStbprpBAutoMapper stbprpDao; + + @Schema(description = "分页查询") + @PostMapping("/page/{chid}") + public R> page(@RequestBody RtuDataSo so, @PathVariable("chid") String chid) { + List stcds = new ArrayList<>(); + if (StringUtils.isNotEmpty(so.getStcd())) { + stcds.add(so.getStcd()); + } else if (StringUtils.isNotEmpty(so.getStnm())) { + stcds.addAll(stbprpDao.selectList( + new LambdaQueryWrapper().like(StStbprpB::getStnm, so.getStnm()) + ).stream().map(StStbprpB::getStcd).toList()); + } + + Page page; + if (!stcds.isEmpty()) { + LambdaQueryWrapper query = new LambdaQueryWrapper().in(StImgR::getStcd, stcds).eq(StImgR::getChid, chid); + page = dao.page(so.getPageSo().toPage(), query); + } else { + page = dao.page(so.getPageSo().toPage()); + } + + return R.ok(page); + } +} diff --git a/src/main/java/com/gunshi/project/xyt/controller/StPptnRController.java b/src/main/java/com/gunshi/project/xyt/controller/StPptnRController.java new file mode 100644 index 0000000..6263ee3 --- /dev/null +++ b/src/main/java/com/gunshi/project/xyt/controller/StPptnRController.java @@ -0,0 +1,63 @@ +package com.gunshi.project.xyt.controller; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.gunshi.core.result.R; +import com.gunshi.project.xyt.model.StPptnR; +import com.gunshi.project.xyt.model.StPptnRAutoDao; +import com.gunshi.project.xyt.model.StStbprpB; +import com.gunshi.project.xyt.model.StStbprpBAutoMapper; +import com.gunshi.project.xyt.so.RtuDataSo; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.ArrayList; +import java.util.List; + +/** + * 雨量数据接口 + * + * @author lyf + * @version 1.0.0 + * @since 2024-01-26 + */ +@RestController +@RequestMapping("/rcv/pptnr") +@Tag(name = "统一接收-雨量数据") +public class StPptnRController { + + @Autowired + private StPptnRAutoDao dao; + + @Autowired + private StStbprpBAutoMapper stbprpDao; + + @Schema(description = "分页查询") + @PostMapping("/page") + public R> page(@RequestBody RtuDataSo so) { + List stcds = new ArrayList<>(); + if (StringUtils.isNotEmpty(so.getStcd())) { + stcds.add(so.getStcd()); + } else if (StringUtils.isNotEmpty(so.getStnm())) { + stcds.addAll(stbprpDao.selectList( + new LambdaQueryWrapper().like(StStbprpB::getStnm, so.getStnm()) + ).stream().map(StStbprpB::getStcd).toList()); + } + + Page page; + if (!stcds.isEmpty()) { + LambdaQueryWrapper query = new LambdaQueryWrapper().in(StPptnR::getStcd, stcds); + page = dao.page(so.getPageSo().toPage(), query); + } else { + page = dao.page(so.getPageSo().toPage()); + } + + return R.ok(page); + } +} diff --git a/src/main/java/com/gunshi/project/xyt/controller/StRsvrRController.java b/src/main/java/com/gunshi/project/xyt/controller/StRsvrRController.java new file mode 100644 index 0000000..bfe89ed --- /dev/null +++ b/src/main/java/com/gunshi/project/xyt/controller/StRsvrRController.java @@ -0,0 +1,62 @@ +package com.gunshi.project.xyt.controller; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.gunshi.core.result.R; +import com.gunshi.project.xyt.model.*; +import com.gunshi.project.xyt.model.StRsvrRAutoDao; +import com.gunshi.project.xyt.model.StStbprpBAutoMapper; +import com.gunshi.project.xyt.so.RtuDataSo; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.ArrayList; +import java.util.List; + +/** + * 水位数据接口 + * + * @author lyf + * @version 1.0.0 + * @since 2024-01-26 + */ +@RestController +@RequestMapping("/rcv/rsvrr") +@Tag(name = "统一接收-水位数据") +public class StRsvrRController { + + @Autowired + private StRsvrRAutoDao dao; + + @Autowired + private StStbprpBAutoMapper stbprpDao; + + @Schema(description = "分页查询") + @PostMapping("/page") + public R> page(@RequestBody RtuDataSo so) { + List stcds = new ArrayList<>(); + if (StringUtils.isNotEmpty(so.getStcd())) { + stcds.add(so.getStcd()); + } else if (StringUtils.isNotEmpty(so.getStnm())) { + stcds.addAll(stbprpDao.selectList( + new LambdaQueryWrapper().like(StStbprpB::getStnm, so.getStnm()) + ).stream().map(StStbprpB::getStcd).toList()); + } + + Page page; + if (!stcds.isEmpty()) { + LambdaQueryWrapper query = new LambdaQueryWrapper().in(StRsvrR::getStcd, stcds); + page = dao.page(so.getPageSo().toPage(), query); + } else { + page = dao.page(so.getPageSo().toPage()); + } + + return R.ok(page); + } +} diff --git a/src/main/java/com/gunshi/project/xyt/model/RcvLogDownR.java b/src/main/java/com/gunshi/project/xyt/model/RcvLogDownR.java index c292803..4668196 100644 --- a/src/main/java/com/gunshi/project/xyt/model/RcvLogDownR.java +++ b/src/main/java/com/gunshi/project/xyt/model/RcvLogDownR.java @@ -18,7 +18,7 @@ public class RcvLogDownR { private String msg; private Date sendTm; private String encoded; - private String rtuid; + private String stcd; private String funcode; private Long arkId; } diff --git a/src/main/java/com/gunshi/project/xyt/model/RcvLogUpR.java b/src/main/java/com/gunshi/project/xyt/model/RcvLogUpR.java index c60fa42..7df02d7 100644 --- a/src/main/java/com/gunshi/project/xyt/model/RcvLogUpR.java +++ b/src/main/java/com/gunshi/project/xyt/model/RcvLogUpR.java @@ -19,7 +19,7 @@ public class RcvLogUpR { private Date receiveTm; private String decoded; private Date decodedTm; - private String rtuid; + private String stcd; private String funcode; private Date observeTm; private Integer partialSize; diff --git a/src/main/java/com/gunshi/project/xyt/so/RtuDataSo.java b/src/main/java/com/gunshi/project/xyt/so/RtuDataSo.java new file mode 100644 index 0000000..e0c61b4 --- /dev/null +++ b/src/main/java/com/gunshi/project/xyt/so/RtuDataSo.java @@ -0,0 +1,33 @@ +package com.gunshi.project.xyt.so; + +import com.gunshi.db.dto.DateTimeRangeSo; +import com.gunshi.db.dto.PageSo; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotNull; +import lombok.Data; + +/** + * rtu相关监测数据查询参数 + * + * @author lyf + * @version 1.0.0 + * @since 2024-01-26 + */ +@Data +@Schema(description = "rtu相关监测数据查询参数") +public class RtuDataSo { + + @Schema(description = "分页参数") + @NotNull(message = "分页参数不能为空") + private PageSo pageSo; + + @Schema(description = "时间范围") + @NotNull(message = "时间范围不能为空") + private DateTimeRangeSo dateTimeRangeSo; + + @Schema(description = "测站编码") + private String stcd; + + @Schema(description = "测站名称") + private String stnm; +}