diff --git a/src/main/java/com/gunshi/project/xyt/controller/BzCameraAIImgRController.java b/src/main/java/com/gunshi/project/xyt/controller/BzCameraAIImgRController.java new file mode 100644 index 0000000..25ae282 --- /dev/null +++ b/src/main/java/com/gunshi/project/xyt/controller/BzCameraAIImgRController.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.BzCameraAIImgR; +import com.gunshi.project.xyt.model.BzCameraAIImgRAutoDao; +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.Operation; +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; + +/** + * 视频监控-AI告警接口 + * + * @author lyf + * @version 1.0.0 + * @since 2024-01-26 + */ +@RestController +@RequestMapping("/camera/aiimg") +@Tag(name = "视频监控-AI告警") +public class BzCameraAIImgRController { + + @Autowired + private BzCameraAIImgRAutoDao dao; + + @Autowired + private StStbprpBAutoMapper stbprpDao; + + @Operation(summary = "分页查询") + @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(BzCameraAIImgR::getStcd, stcds).eq(BzCameraAIImgR::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/model/BzCameraAIImgR.java b/src/main/java/com/gunshi/project/xyt/model/BzCameraAIImgR.java new file mode 100644 index 0000000..6979bae --- /dev/null +++ b/src/main/java/com/gunshi/project/xyt/model/BzCameraAIImgR.java @@ -0,0 +1,40 @@ +package com.gunshi.project.xyt.model; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.github.jeffreyning.mybatisplus.anno.MppMultiId; +import com.gunshi.core.dateformat.DateFormatString; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.util.Date; + +/** + * 视频AI告警数据 + * + * @author lyf + * @version 1.0.0 + * @since 2024-01-29 + */ +@Data +@TableName("BZ_CAMERA_AI_IMG") +@Schema(description = "视频AI告警数据") +public class BzCameraAIImgR { + @MppMultiId("STCD") + @Schema(description = "测站编码") + private String stcd; + + @MppMultiId("TM") + @Schema(description = "采集时间") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date tm; + + @MppMultiId("CHID") + @Schema(description = "通道") + private String chid; + + @TableField("IMG_PATH") + @Schema(description = "图片文件存储路径") + private String imgPath; +}