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