diff --git a/src/main/java/com/gunshi/project/xyt/controller/StVoltageRController.java b/src/main/java/com/gunshi/project/xyt/controller/StVoltageRController.java new file mode 100644 index 0000000..b73ef30 --- /dev/null +++ b/src/main/java/com/gunshi/project/xyt/controller/StVoltageRController.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.StStbprpBAutoMapper; +import com.gunshi.project.xyt.model.StVoltageRAutoDao; +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/voltager") +@Tag(name = "统一接收-电压数据") +public class StVoltageRController { + + @Autowired + private StVoltageRAutoDao 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(StVoltageR::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/StVoltageR.java b/src/main/java/com/gunshi/project/xyt/model/StVoltageR.java new file mode 100644 index 0000000..55790c2 --- /dev/null +++ b/src/main/java/com/gunshi/project/xyt/model/StVoltageR.java @@ -0,0 +1,35 @@ +package com.gunshi.project.xyt.model; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.github.jeffreyning.mybatisplus.anno.MppMultiId; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.Date; + +/** + * 电压数据 + * + * @author lyf + * @version 1.0.0 + * @since 2024-01-29 + */ +@Data +@TableName("ST_VOLTAGE_R") +@Schema(description = "电压数据") +public class StVoltageR { + @MppMultiId("STCD") + @Schema(description = "测站编码") + private String stcd; + + @MppMultiId("TM") + @Schema(description = "采集时间") + private Date tm; + + @TableField("VT") + @Schema(description = "电压值") + private BigDecimal vt; +}