From 1dd888195c562851f869d6c75b424365ed1c781e Mon Sep 17 00:00:00 2001
From: liurunyu <lry9898@163.com>
Date: 星期四, 14 八月 2025 14:26:28 +0800
Subject: [PATCH] 有wechat模块增加查询所有摄像头及accessToken功能
---
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoVi/ViCameraMapper.java | 6 +
pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/video/VoVideo.java | 52 +++++++++++++
pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/video/VideoCtrl.java | 77 +++++++++++++++++++
pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/video/VideoSv.java | 43 ++++++++++
pipIrr-platform/pipIrr-global/src/main/resources/mapper/ViCameraMapper.xml | 11 ++
5 files changed, 189 insertions(+), 0 deletions(-)
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoVi/ViCameraMapper.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoVi/ViCameraMapper.java
index 05843d2..5405040 100644
--- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoVi/ViCameraMapper.java
+++ b/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);
diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/ViCameraMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/ViCameraMapper.xml
index 7c22788..556de79 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/ViCameraMapper.xml
+++ b/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
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
new file mode 100644
index 0000000..b4b0efc
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/video/VideoCtrl.java
@@ -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 = "杩斿洖鎵�鏈夋憚鍍忓ご淇℃伅鏁版嵁锛圔aseResponse.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());
+ }
+ }
+}
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
new file mode 100644
index 0000000..5449c2d
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/video/VideoSv.java
@@ -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) ;
+ }
+ }
+}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/video/VoVideo.java b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/video/VoVideo.java
new file mode 100644
index 0000000..cd3bc8a
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/video/VoVideo.java
@@ -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 ;
+ }
+}
--
Gitblit v1.8.0