From 5137b520f931f7f062b8b48decda073c33880fcd Mon Sep 17 00:00:00 2001
From: zuoxiao <470321431@qq.com>
Date: 星期五, 29 八月 2025 14:53:43 +0800
Subject: [PATCH] feat(video): 添加摄像头信息分页查询功能
---
pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/video/VideoQo.java | 33 ++++++++++++++++
pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/video/VideoCtrl.java | 60 ++++++++++++++++++++++++++++++
pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/video/VideoSv.java | 20 ++++++++++
3 files changed, 113 insertions(+), 0 deletions(-)
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/video/VideoCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/video/VideoCtrl.java
index b4b0efc..5811139 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/video/VideoCtrl.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/video/VideoCtrl.java
@@ -2,6 +2,7 @@
import com.dy.common.webUtil.BaseResponse;
import com.dy.common.webUtil.BaseResponseUtils;
+import com.dy.common.webUtil.QueryResultVo;
import com.dy.common.webUtil.ResultCodeMsg;
import com.dy.pipIrrGlobal.pojoVi.ViYsApp;
import com.dy.pipIrrGlobal.voVi.VoCamera;
@@ -17,6 +18,7 @@
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import java.util.ArrayList;
@@ -74,4 +76,62 @@
return BaseResponseUtils.buildException(e.getMessage());
}
}
+
+ /**
+ * 瀹㈡埛绔垎椤佃姹傛憚鍍忓ご淇℃伅
+ * @param queryQo 鏌ヨ鏉′欢
+ * @return 鍒嗛〉璇锋眰鎽勫儚澶翠俊鎭�
+ *
+ * 浣跨敤绀轰緥锛�
+ * GET /video/some?pageCurr=1&pageSize=10&name=鎽勫儚澶�1&type=1
+ *
+ * 鏌ヨ鍙傛暟璇存槑锛�
+ * - pageCurr: 褰撳墠椤电爜锛堥粯璁�1锛�
+ * - pageSize: 姣忛〉璁板綍鏁帮紙榛樿10锛�
+ * - name: 鎽勫儚澶村悕绉帮紙鏀寔妯$硦鏌ヨ锛�
+ * - type: 鎽勫儚澶寸被鍨嬶紙1:钀ょ煶锛�
+ * - onScreen: 鏄惁澶у睆灞曠ず锛�1:鏄紝0:鍚︼級
+ * - devNo: 璁惧搴忓垪鍙�
+ */
+ @Operation(summary = "鍒嗛〉鑾峰彇鎽勫儚澶翠俊鎭�", description = "鏍规嵁鏌ヨ鏉′欢鍒嗛〉杩斿洖鎽勫儚澶翠俊鎭�")
+ @ApiResponses(value = {
+ @ApiResponse(
+ responseCode = ResultCodeMsg.RsCode.SUCCESS_CODE,
+ description = "杩斿洖鍒嗛〉鎽勫儚澶翠俊鎭暟鎹紙BaseResponse.content:QueryResultVo[List[VoVideo]]锛�",
+ content = {@Content(mediaType = MediaType.APPLICATION_JSON_VALUE,
+ schema = @Schema(implementation = QueryResultVo.class))}
+ )
+ })
+ @GetMapping(path = "some")
+ public BaseResponse<QueryResultVo<List<VoVideo>>> some(VideoQo queryQo) {
+ try {
+ // 鑾峰彇鍒嗛〉鏌ヨ缁撴灉
+ QueryResultVo<List<VoCamera>> pageResult = this.sv.some(queryQo);
+
+ List<VoVideo> reList = new ArrayList<>();
+ ViYsApp app = this.sv.ysApp();
+
+ if (pageResult != null && pageResult.obj != null && pageResult.obj.size() > 0) {
+ for (VoCamera voCamera : pageResult.obj) {
+ VoVideo vvo = new VoVideo();
+ vvo.from(voCamera, app == null ? null : app.accessToken);
+ reList.add(vvo);
+ }
+ }
+
+ // 鏋勫缓鍒嗛〉缁撴灉
+ QueryResultVo<List<VoVideo>> result = new QueryResultVo<>();
+ result.pageSize = pageResult.pageSize;
+ result.pageCurr = pageResult.pageCurr;
+ result.pageTotal = pageResult.pageTotal;
+ result.itemTotal = pageResult.itemTotal;
+ result.obj = reList;
+
+ return BaseResponseUtils.buildSuccess(result);
+ } catch (Exception e) {
+ log.error("鍒嗛〉鏌ヨ鎽勫儚澶翠俊鎭紓甯�", e);
+ return BaseResponseUtils.buildException(e.getMessage());
+ }
+ }
+
}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/video/VideoQo.java b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/video/VideoQo.java
new file mode 100644
index 0000000..aafe185
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/video/VideoQo.java
@@ -0,0 +1,33 @@
+package com.dy.pipIrrWechat.video;
+
+import com.dy.common.webUtil.QueryConditionVo;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Builder;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.ToString;
+
+/**
+ * @Author: liurunyu
+ * @Date: 2025/6/9 9:03
+ * @Description
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@ToString(callSuper = true)
+@Builder
+@Schema(name = "瑙嗛鐩戞帶鏌ヨ鏉′欢")
+public class VideoQo extends QueryConditionVo {
+
+ @Schema(description = "鎽勫儚澶村悕绉帮紙鏀寔妯$硦鏌ヨ锛�")
+ public String name;
+
+ @Schema(description = "鎽勫儚澶寸被鍨嬶紙1:钀ょ煶锛�")
+ public Byte type;
+
+ @Schema(description = "鏄惁澶у睆灞曠ず锛�1:鏄紝0:鍚︼級")
+ public Byte onScreen;
+
+ @Schema(description = "璁惧搴忓垪鍙�")
+ public String devNo;
+}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/video/VideoSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/video/VideoSv.java
index 5449c2d..b139e55 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/video/VideoSv.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/video/VideoSv.java
@@ -1,14 +1,17 @@
package com.dy.pipIrrWechat.video;
+import com.dy.common.webUtil.QueryResultVo;
import com.dy.pipIrrGlobal.daoVi.ViCameraMapper;
import com.dy.pipIrrGlobal.daoVi.ViYsAppMapper;
import com.dy.pipIrrGlobal.pojoVi.ViYsApp;
import com.dy.pipIrrGlobal.voVi.VoCamera;
import lombok.extern.slf4j.Slf4j;
+import org.apache.dubbo.common.utils.PojoUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
+import java.util.Map;
/**
* @Author: liurunyu
@@ -32,6 +35,23 @@
return dao.selectAll4Monitor() ;
}
+ /**
+ * 鍒嗛〉鏌ヨ鎽勫儚澶翠俊鎭�
+ * @param queryQo 鏌ヨ鏉′欢
+ * @return 鍒嗛〉缁撴灉
+ */
+ public QueryResultVo<List<VoCamera>> some(VideoQo queryQo) {
+ Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(queryQo);
+ Long itemTotal = dao.selectTotal4Monitor(params);
+
+ QueryResultVo<List<VoCamera>> rsVo = new QueryResultVo<>();
+ rsVo.pageSize = queryQo.getPageSize();
+ rsVo.pageCurr = queryQo.getPageCurr();
+ rsVo.calculateAndSet(itemTotal, params);
+ rsVo.obj = dao.selectSome4Monitor(params);
+ return rsVo;
+ }
+
public ViYsApp ysApp(){
List<ViYsApp> all = this.viYsAppDao.selectAll() ;
if(all == null || all.size() == 0){
--
Gitblit v1.8.0