zuoxiao
2025-08-29 5137b520f931f7f062b8b48decda073c33880fcd
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());
        }
    }
}