| pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoVi/ViCameraMapper.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| pipIrr-platform/pipIrr-global/src/main/resources/mapper/ViCameraMapper.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/video/VideoCtrl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/video/VideoSv.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/video/VoVideo.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoVi/ViCameraMapper.java
@@ -57,6 +57,12 @@ */ List<VoCamera> selectSome4Monitor(Map<?, ?> params) ; /** * 分页查询一些 * @return 实体集合 */ List<VoCamera> selectAll4Monitor() ; // Update the record in the ViCamera table based on the primary key, but only update the fields that are not null int updateByPrimaryKeySelective(ViCamera record); pipIrr-platform/pipIrr-global/src/main/resources/mapper/ViCameraMapper.xml
@@ -94,6 +94,17 @@ </if> </trim> </select> <select id="selectAll4Monitor" parameterType="java.util.Map" resultType="com.dy.pipIrrGlobal.voVi.VoCamera"> <!--@mbg.generated--> select <include refid="part_Column_List" > <property name="alias" value="tb"/> </include> from vi_camera tb where tb.deleted != 1 and tb.on_screen = 1 order by tb.on_sort ASC, tb.id DESC </select> <delete id="deleteByPrimaryKey" parameterType="java.lang.Long"> <!--@mbg.generated--> delete from vi_camera pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/video/VideoCtrl.java
New file @@ -0,0 +1,77 @@ package com.dy.pipIrrWechat.video; import com.dy.common.webUtil.BaseResponse; import com.dy.common.webUtil.BaseResponseUtils; import com.dy.common.webUtil.ResultCodeMsg; import com.dy.pipIrrGlobal.pojoVi.ViYsApp; import com.dy.pipIrrGlobal.voVi.VoCamera; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.media.Content; import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.responses.ApiResponse; import io.swagger.v3.oas.annotations.responses.ApiResponses; import io.swagger.v3.oas.annotations.tags.Tag; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; 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.RestController; import java.util.ArrayList; import java.util.List; /** * @Author: liurunyu * @Date: 2025/8/14 13:58 * @Description */ @Slf4j @Tag(name = "视频监控摄像头", description = "视频监控摄像头") @RestController @RequestMapping(path = "video") @RequiredArgsConstructor public class VideoCtrl{ private VideoSv sv ; @Autowired public void setSv(VideoSv sv) { this.sv = sv; } /** * 客户端请求得到所有摄像头信息 * @return 所有摄像头信息 */ @Operation(summary = "获得所有摄像头信息", description = "返回所有摄像头信息") @ApiResponses(value = { @ApiResponse( responseCode = ResultCodeMsg.RsCode.SUCCESS_CODE, description = "返回所有摄像头信息数据(BaseResponse.content:TypesVo[{}])", content = {@Content(mediaType = MediaType.APPLICATION_JSON_VALUE, schema = @Schema(implementation = VoVideo.class))} ) }) @GetMapping(path = "all") public BaseResponse<List<VoVideo>> all() { List<VoVideo> reList = new ArrayList<>() ; try { List<VoCamera> list = this.sv.allCamera() ; ViYsApp app = this.sv.ysApp() ; if(list != null && list.size() > 0){ for (VoCamera voCamera : list) { VoVideo vvo = new VoVideo() ; vvo.from(voCamera, app == null ? null : app.accessToken); reList.add(vvo) ; } } return BaseResponseUtils.buildSuccess(reList); } catch (Exception e) { log.error("查询全部摄像头信息异常", e); return BaseResponseUtils.buildException(e.getMessage()); } } } pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/video/VideoSv.java
New file @@ -0,0 +1,43 @@ package com.dy.pipIrrWechat.video; 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.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; /** * @Author: liurunyu * @Date: 2025/8/14 13:58 * @Description */ @Slf4j @Service public class VideoSv { @Autowired private ViCameraMapper dao; @Autowired protected ViYsAppMapper viYsAppDao ; /** * 查询所有 * @return 实体记录列表 */ public List<VoCamera> allCamera() { return dao.selectAll4Monitor() ; } public ViYsApp ysApp(){ List<ViYsApp> all = this.viYsAppDao.selectAll() ; if(all == null || all.size() == 0){ return null ; }else{ return all.get(0) ; } } } pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/video/VoVideo.java
New file @@ -0,0 +1,52 @@ package com.dy.pipIrrWechat.video; import com.alibaba.fastjson2.annotation.JSONField; import com.alibaba.fastjson2.writer.ObjectWriterImplToString; import com.dy.pipIrrGlobal.voVi.VoCamera; import com.fasterxml.jackson.annotation.JsonPropertyOrder; import lombok.Data; /** * @Author: liurunyu * @Date: 2025/8/14 13:59 * @Description */ @Data @JsonPropertyOrder({ "id", "devNo", "name", "lng","lat", "accessToken" }) public class VoVideo { @JSONField(serializeUsing= ObjectWriterImplToString.class) public Long id ; /** * 摄像机序列号 */ public String devNo; /** * 视频站名称 */ public String name; /** * 经度 */ public Double lng; /** * 纬度 */ public Double lat; public String accessToken ; public void from(VoCamera vo , String accessToken){ this.id = vo.id ; this.devNo = vo.devNo ; this.name = vo.name ; this.lng = vo.lng ; this.lat = vo.lat ; this.accessToken = accessToken ; } }