雨量、水位、流量、图像的分页查询接口

master
李一帆 2024-01-26 15:49:13 +08:00
parent fc501b83c5
commit bdf1b69cc8
7 changed files with 280 additions and 2 deletions

View File

@ -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<StFlowR>> page(@RequestBody RtuDataSo so, @PathVariable("chid") String chid) {
List<String> stcds = new ArrayList<>();
if (StringUtils.isNotEmpty(so.getStcd())) {
stcds.add(so.getStcd());
} else if (StringUtils.isNotEmpty(so.getStnm())) {
stcds.addAll(stbprpDao.selectList(
new LambdaQueryWrapper<StStbprpB>().like(StStbprpB::getStnm, so.getStnm())
).stream().map(StStbprpB::getStcd).toList());
}
Page<StFlowR> page;
if (!stcds.isEmpty()) {
LambdaQueryWrapper<StFlowR> query = new LambdaQueryWrapper<StFlowR>().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);
}
}

View File

@ -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<StImgR>> page(@RequestBody RtuDataSo so, @PathVariable("chid") String chid) {
List<String> stcds = new ArrayList<>();
if (StringUtils.isNotEmpty(so.getStcd())) {
stcds.add(so.getStcd());
} else if (StringUtils.isNotEmpty(so.getStnm())) {
stcds.addAll(stbprpDao.selectList(
new LambdaQueryWrapper<StStbprpB>().like(StStbprpB::getStnm, so.getStnm())
).stream().map(StStbprpB::getStcd).toList());
}
Page<StImgR> page;
if (!stcds.isEmpty()) {
LambdaQueryWrapper<StImgR> query = new LambdaQueryWrapper<StImgR>().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);
}
}

View File

@ -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<StPptnR>> page(@RequestBody RtuDataSo so) {
List<String> stcds = new ArrayList<>();
if (StringUtils.isNotEmpty(so.getStcd())) {
stcds.add(so.getStcd());
} else if (StringUtils.isNotEmpty(so.getStnm())) {
stcds.addAll(stbprpDao.selectList(
new LambdaQueryWrapper<StStbprpB>().like(StStbprpB::getStnm, so.getStnm())
).stream().map(StStbprpB::getStcd).toList());
}
Page<StPptnR> page;
if (!stcds.isEmpty()) {
LambdaQueryWrapper<StPptnR> query = new LambdaQueryWrapper<StPptnR>().in(StPptnR::getStcd, stcds);
page = dao.page(so.getPageSo().toPage(), query);
} else {
page = dao.page(so.getPageSo().toPage());
}
return R.ok(page);
}
}

View File

@ -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<StRsvrR>> page(@RequestBody RtuDataSo so) {
List<String> stcds = new ArrayList<>();
if (StringUtils.isNotEmpty(so.getStcd())) {
stcds.add(so.getStcd());
} else if (StringUtils.isNotEmpty(so.getStnm())) {
stcds.addAll(stbprpDao.selectList(
new LambdaQueryWrapper<StStbprpB>().like(StStbprpB::getStnm, so.getStnm())
).stream().map(StStbprpB::getStcd).toList());
}
Page<StRsvrR> page;
if (!stcds.isEmpty()) {
LambdaQueryWrapper<StRsvrR> query = new LambdaQueryWrapper<StRsvrR>().in(StRsvrR::getStcd, stcds);
page = dao.page(so.getPageSo().toPage(), query);
} else {
page = dao.page(so.getPageSo().toPage());
}
return R.ok(page);
}
}

View File

@ -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;
}

View File

@ -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;

View File

@ -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;
}