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