From 2d341dce57f3848780c9245d54b84470a51f26ae Mon Sep 17 00:00:00 2001
From: liurunyu <lry9898@163.com>
Date: 星期一, 09 六月 2025 11:42:59 +0800
Subject: [PATCH] 1、视频监控配置信息完善; 2、摄像机实体完善; 3、工程模块-视频站管理功能实现; 4、远程模块--视频监控查询;
---
pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/video/VideoCtrl.java | 118 +++++++
pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/video/VoVideo.java | 20 +
pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/video/ys/YsAppClient.java | 8
pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/video/CameraCtrl.java | 241 ++++++++++++++++
pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/video/CameraDto.java | 82 +++++
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/webUtil/QueryResultVo.java | 10
pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/video/CameraQo.java | 22 +
pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/video/CameraQo.java | 20 +
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voVi/VoCamera.java | 59 +++
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoVi/ViCameraMapper.java | 28 +
pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/video/TypesVo.java | 14
pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/PipIrrProjectApplication.java | 2
pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/video/CameraSv.java | 84 +++++
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoVi/ViCamera.java | 10
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/util/CameraTypeEnum.java | 24 +
pipIrr-platform/pipIrr-global/src/main/resources/application-global.yml | 28 +
pipIrr-platform/pipIrr-global/src/main/resources/mapper/ViCameraMapper.xml | 61 +++
pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/video/VideoSv.java | 44 ++
18 files changed, 855 insertions(+), 20 deletions(-)
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/webUtil/QueryResultVo.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/webUtil/QueryResultVo.java
index 41344a3..0f9e27e 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/webUtil/QueryResultVo.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/webUtil/QueryResultVo.java
@@ -53,6 +53,16 @@
@JSONField(serialize = false)
public Integer queryCount ;
+ public void copyTo(QueryResultVo to){
+ to.pageSize = this.pageSize ;
+ to.itemTotal = this.itemTotal ;
+ to.pageCurr = this.pageCurr ;
+ to.pageTotal = this.pageTotal ;
+ to.obj = this.obj ;
+ to.queryStart = this.queryStart ;
+ to.queryCount = this.queryCount ;
+ }
+
public void calculateAndSet(Long itemTotal, Map<String, Object> params) {
this.itemTotal = itemTotal ;
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 4255d6d..48e9123 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
@@ -2,23 +2,49 @@
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.dy.pipIrrGlobal.pojoVi.ViCamera;
+import com.dy.pipIrrGlobal.voVi.VoCamera;
import org.apache.ibatis.annotations.Mapper;
+
+import java.util.List;
+import java.util.Map;
/**
* @Author: liurunyu
- * @Date: 2025/6/9 8:49
+ * @Date: 2025/6/9 9:15
* @Description
*/
@Mapper
public interface ViCameraMapper extends BaseMapper<ViCamera> {
int deleteByPrimaryKey(Long id);
+ /**
+ * 閫昏緫鍒犻櫎
+ * @param id primaryKey
+ * @return update count
+ */
+ int deleteLogicById(Long id);
+
+
int insert(ViCamera record);
int insertSelective(ViCamera record);
ViCamera selectByPrimaryKey(Long id);
+ /**
+ * 鏌ヨ鎬绘暟
+ * @param params 鏌ヨ鏉′欢
+ * @return 鎬绘暟
+ */
+ Long selectTotal(Map<?, ?> params) ;
+ /**
+ * 鍒嗛〉鏌ヨ涓�浜�
+ * @param params 鏌ヨ鏉′欢
+ * @return 瀹炰綋闆嗗悎
+ */
+ List<VoCamera> selectSome(Map<?, ?> params) ;
+
+// 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);
int updateByPrimaryKey(ViCamera record);
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoVi/ViCamera.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoVi/ViCamera.java
index 348c6a1..d57fcca 100644
--- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoVi/ViCamera.java
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoVi/ViCamera.java
@@ -11,9 +11,10 @@
/**
* @Author: liurunyu
- * @Date: 2025/6/9 8:49
+ * @Date: 2025/6/9 9:15
* @Description
*/
+
/**
* 钀ょ煶鎽勫儚鏈猴紙瑙嗛绔欙級
*/
@@ -83,4 +84,11 @@
*/
@Schema(description = "澶囨敞淇℃伅", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
public String remark;
+
+ /**
+ * 鏄惁鍒犻櫎锛�1鏄紝0鍚︼級
+ */
+ @Schema(description = "鏄惁鍒犻櫎", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+ public Byte deleted;
+
}
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/util/CameraTypeEnum.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/util/CameraTypeEnum.java
new file mode 100644
index 0000000..fa62c8a
--- /dev/null
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/util/CameraTypeEnum.java
@@ -0,0 +1,24 @@
+package com.dy.pipIrrGlobal.util;
+
+/**
+ * @Author: liurunyu
+ * @Date: 2025/6/9 11:31
+ * @Description
+ */
+public enum CameraTypeEnum {
+ YINGSHI((byte)1, "钀ょ煶");
+
+ private Byte type ; //1钀ょ煶 2娴峰悍
+ private String name ;//钀ょ煶 娴峰悍
+
+ CameraTypeEnum(Byte type, String name){
+ this.type = type ;
+ this.name = name ;
+ }
+ public Byte getType() {
+ return this.type ;
+ }
+ public String getName() {
+ return this.name ;
+ }
+}
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voVi/VoCamera.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voVi/VoCamera.java
new file mode 100644
index 0000000..4b45eb9
--- /dev/null
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voVi/VoCamera.java
@@ -0,0 +1,59 @@
+package com.dy.pipIrrGlobal.voVi;
+
+import com.alibaba.fastjson2.annotation.JSONField;
+import com.alibaba.fastjson2.writer.ObjectWriterImplToString;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+/**
+ * @Author: liurunyu
+ * @Date: 2025/6/9 9:12
+ * @Description
+ */
+@Data
+public class VoCamera {
+ private static final long serialVersionUID = 202506090918001L;
+ @JSONField(serializeUsing= ObjectWriterImplToString.class)
+ public Long id;
+
+ /**
+ * 绫诲瀷锛�1钀ょ煶锛�
+ */
+ public Byte type;
+
+ /**
+ * 鎽勫儚鏈哄簭鍒楀彿
+ */
+ public String devNo;
+
+ /**
+ * 瑙嗛绔欏悕绉�
+ */
+ public String name;
+
+ /**
+ * 缁忓害
+ */
+ public Double lng;
+
+ /**
+ * 绾害
+ */
+ public Double lat;
+
+ /**
+ * 鏄惁澶у睆灞曠ず锛�1鏄紝0鎴杗ull鍚︼級
+ */
+ public Byte onScreen;
+
+ /**
+ * 澶у睆灞曠ず鎺掑簭锛堝ぇ浜庣瓑浜�1锛屾暟瀛楄秺灏忔帓搴忚秺鍓嶏級
+ */
+ public Integer onSort;
+
+ /**
+ * 澶囨敞
+ */
+ public String remark;
+
+}
diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/application-global.yml b/pipIrr-platform/pipIrr-global/src/main/resources/application-global.yml
index 3f34f1f..cd1e11e 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/application-global.yml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/application-global.yml
@@ -472,16 +472,24 @@
at-all: true
mobile: 18602657034
-#钀ょ煶浜戝紑鏀惧钩鍙�
-ys:
- accessTokenExpireDay: 7 #AccessToken杩囨湡鏃堕棿锛屽崟浣嶅ぉ
- appKey: 93987fd687444c23b427181a108f5253
- secret: d73a08e4fb3c3d9d0b696630eea8bd4e
- requestAccessTokenUrl: https://open.ys7.com/api/lapp/token/get
- requestVideoCommonUrl: https://open.ys7.com/console/jssdk/pc.html
- requestVideoCameraPreUrl: ezopen://open.ys7.com/
- requestVideoCameraTailUrl: /1.live&themeId=
-
+#瑙嗛鐩戞帶鐩稿叧
+video:
+ #钀ょ煶浜戝紑鏀惧钩鍙�
+ ys:
+ accessTokenExpireDay: 7 #AccessToken杩囨湡鏃堕棿锛屽崟浣嶅ぉ
+ appKey: 93987fd687444c23b427181a108f5253
+ secret: d73a08e4fb3c3d9d0b696630eea8bd4e
+ requestAccessTokenUrl: https://open.ys7.com/api/lapp/token/get
+ requestVideoCommonUrl: https://open.ys7.com/console/jssdk/pc.html
+ requestVideoCameraPreUrl: ezopen://open.ys7.com/
+ requestVideoCameraTailUrl: /1.live&themeId=
+ types:
+ - 1,钀ょ煶 #1:钀ょ煶
+ #- 2,娴峰悍 #2:娴峰悍
+ #- 3,澶у崕 #3:澶у崕
+ #- 4,澶╁湴浼熶笟 #4:澶╁湴浼熶笟
+ screen:
+ count: 4 #榛樿鏄剧ず4涓棰�
#闃�鎺у櫒鍙傛暟
rtu:
signalIntensity:
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 af73e92..62cb3b9 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/ViCameraMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/ViCameraMapper.xml
@@ -13,8 +13,13 @@
<result column="on_screen" jdbcType="TINYINT" property="onScreen" />
<result column="on_sort" jdbcType="INTEGER" property="onSort" />
<result column="remark" jdbcType="VARCHAR" property="remark" />
+ <result column="deleted" jdbcType="TINYINT" property="deleted" />
</resultMap>
<sql id="Base_Column_List">
+ <!--@mbg.generated-->
+ id, `type`, dev_no, `name`, lng, lat, on_screen, on_sort, remark, deleted
+ </sql>
+ <sql id="part_Column_List">
<!--@mbg.generated-->
id, `type`, dev_no, `name`, lng, lat, on_screen, on_sort, remark
</sql>
@@ -25,19 +30,59 @@
from vi_camera
where id = #{id,jdbcType=BIGINT}
</select>
+
+ <select id="selectTotal" parameterType="java.util.Map" resultType="java.lang.Long">
+ select
+ count(*)
+ from vi_camera tb
+ where tb.deleted != 1
+ <trim prefix="and" suffixOverrides="and">
+ <if test="name != null and name != ''">
+ tb.`name` like concat('%', #{name}, '%') and
+ </if>
+ </trim>
+ </select>
+ <select id="selectSome" 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
+ <trim prefix="and" suffixOverrides="and">
+ <if test="name != null">
+ tb.`name` like concat('%', #{name}, '%') and
+ </if>
+ </trim>
+ order by tb.on_sort ASC, tb.id DESC
+ <trim prefix="limit " >
+ <if test="start != null and count != null">
+ #{start,javaType=Integer,jdbcType=INTEGER}, #{count,javaType=Integer,jdbcType=INTEGER}
+ </if>
+ </trim>
+ </select>
<delete id="deleteByPrimaryKey" parameterType="java.lang.Long">
<!--@mbg.generated-->
delete from vi_camera
where id = #{id,jdbcType=BIGINT}
</delete>
+ <delete id="deleteLogicById" parameterType="java.lang.Long">
+ <!--@mbg.generated-->
+ update vi_camera set deleted = 1
+ where id = #{id,jdbcType=BIGINT}
+ </delete>
+
<insert id="insert" parameterType="com.dy.pipIrrGlobal.pojoVi.ViCamera">
<!--@mbg.generated-->
insert into vi_camera (id, `type`, dev_no,
`name`, lng, lat, on_screen,
- on_sort, remark)
+ on_sort, remark, deleted
+ )
values (#{id,jdbcType=BIGINT}, #{type,jdbcType=TINYINT}, #{devNo,jdbcType=VARCHAR},
#{name,jdbcType=VARCHAR}, #{lng,jdbcType=DOUBLE}, #{lat,jdbcType=DOUBLE}, #{onScreen,jdbcType=TINYINT},
- #{onSort,jdbcType=INTEGER}, #{remark,jdbcType=VARCHAR})
+ #{onSort,jdbcType=INTEGER}, #{remark,jdbcType=VARCHAR}, #{deleted,jdbcType=TINYINT}
+ )
</insert>
<insert id="insertSelective" parameterType="com.dy.pipIrrGlobal.pojoVi.ViCamera">
<!--@mbg.generated-->
@@ -70,6 +115,9 @@
<if test="remark != null">
remark,
</if>
+ <if test="deleted != null">
+ deleted,
+ </if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="id != null">
@@ -98,6 +146,9 @@
</if>
<if test="remark != null">
#{remark,jdbcType=VARCHAR},
+ </if>
+ <if test="deleted != null">
+ #{deleted,jdbcType=TINYINT},
</if>
</trim>
</insert>
@@ -129,6 +180,9 @@
<if test="remark != null">
remark = #{remark,jdbcType=VARCHAR},
</if>
+ <if test="deleted != null">
+ deleted = #{deleted,jdbcType=TINYINT},
+ </if>
</set>
where id = #{id,jdbcType=BIGINT}
</update>
@@ -142,7 +196,8 @@
lat = #{lat,jdbcType=DOUBLE},
on_screen = #{onScreen,jdbcType=TINYINT},
on_sort = #{onSort,jdbcType=INTEGER},
- remark = #{remark,jdbcType=VARCHAR}
+ remark = #{remark,jdbcType=VARCHAR},
+ deleted = #{deleted,jdbcType=TINYINT}
where id = #{id,jdbcType=BIGINT}
</update>
</mapper>
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/PipIrrProjectApplication.java b/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/PipIrrProjectApplication.java
index a2737ee..d01a0b1 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/PipIrrProjectApplication.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/PipIrrProjectApplication.java
@@ -25,7 +25,7 @@
})
}
)
-@MapperScan({"com.dy.pipIrrGlobal.daoPr", "com.dy.pipIrrGlobal.daoBa","com.dy.pipIrrGlobal.daoFi"})
+@MapperScan({"com.dy.pipIrrGlobal.daoPr", "com.dy.pipIrrGlobal.daoBa","com.dy.pipIrrGlobal.daoFi","com.dy.pipIrrGlobal.daoVi"})
public class PipIrrProjectApplication {
public static void main(String[] args) {
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/video/CameraCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/video/CameraCtrl.java
new file mode 100644
index 0000000..d8a9fd3
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/video/CameraCtrl.java
@@ -0,0 +1,241 @@
+package com.dy.pipIrrProject.video;
+
+import com.dy.common.aop.SsoAop;
+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.ViCamera;
+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 jakarta.validation.Valid;
+import org.springframework.beans.factory.annotation.Value;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.MediaType;
+import org.springframework.validation.BindingResult;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Objects;
+
+/**
+ * @Author: liurunyu
+ * @Date: 2025/6/9 9:01
+ * @Description
+ */
+@Slf4j
+@Tag(name = "瑙嗛绔欑鐞�", description = "瑙嗛绔欑鐞�")
+@RestController
+@RequestMapping(path = "camera")
+@RequiredArgsConstructor
+public class CameraCtrl {
+ private CameraSv sv;
+
+ @Autowired
+ private void setSv(CameraSv sv){
+ this.sv = sv ;
+ }
+
+ @Value("${video.types}")
+ private String[] types;
+ /**
+ * 瀹㈡埛绔姹傚緱鍒版墍鏈夋憚鍍忔満绫诲瀷
+ * @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 = TypesVo.class))}
+ )
+ })
+ @GetMapping(path = "types")
+ @SsoAop()
+ public BaseResponse<QueryResultVo<List<TypesVo>>> types() {
+ try {
+ List<TypesVo> list = new ArrayList<>() ;
+ if(types != null && types.length > 0){
+ for (String type : types) {
+ String[] typeGrp = type.split(",");
+ if(typeGrp.length == 2){
+ TypesVo vo = new TypesVo() ;
+ vo.type = Integer.parseInt(typeGrp[0].trim()) ;
+ vo.name = typeGrp[1].trim() ;
+ list.add(vo) ;
+ }
+ }
+ }
+ QueryResultVo<List<TypesVo>> res = new QueryResultVo() ;
+ res.obj = list ;
+ return BaseResponseUtils.buildSuccess(res);
+ } catch (Exception e) {
+ log.error("鏌ヨ鍙栨按鍙e紓甯�", e);
+ return BaseResponseUtils.buildException(e.getMessage());
+ }
+ }
+
+
+ /**
+ * 瀹㈡埛绔姹傚緱鍒颁竴浜涙憚鍍忔満鏁版嵁
+ * @return 鎵�鏈夋憚鍍忔満鏁版嵁
+ */
+ @Operation(summary = "鑾峰緱涓�椤垫憚鍍忔満鏁版嵁", description = "杩斿洖涓�椤垫憚鍍忔満鏁版嵁鏁版嵁")
+ @ApiResponses(value = {
+ @ApiResponse(
+ responseCode = ResultCodeMsg.RsCode.SUCCESS_CODE,
+ description = "杩斿洖涓�椤垫憚鍍忔満鏁版嵁锛圔aseResponse.content:QueryResultVo[{}]锛�",
+ content = {@Content(mediaType = MediaType.APPLICATION_JSON_VALUE,
+ schema = @Schema(implementation = VoCamera.class))}
+ )
+ })
+ @PostMapping(path = "some", consumes = MediaType.APPLICATION_JSON_VALUE)
+ @SsoAop()
+ public BaseResponse<QueryResultVo<List<VoCamera>>> some(@RequestBody CameraQo vo){
+ try {
+ QueryResultVo<List<VoCamera>> res = this.sv.some(vo) ;
+ return BaseResponseUtils.buildSuccess(res);
+ } catch (Exception e) {
+ log.error("鏌ヨ鎽勫儚鏈哄紓甯�", e);
+ return BaseResponseUtils.buildException(e.getMessage()) ;
+ }
+ }
+
+ /**
+ * 寰楀埌涓�涓憚鍍忔満鏁版嵁
+ * @return 涓�涓憚鍍忔満鏁版嵁
+ */
+ @Operation(summary = "涓�涓憚鍍忔満", description = "寰楀埌涓�涓憚鍍忔満鏁版嵁")
+ @ApiResponses(value = {
+ @ApiResponse(
+ responseCode = ResultCodeMsg.RsCode.SUCCESS_CODE,
+ description = "杩斿洖涓�涓憚鍍忔満鏁版嵁锛圔aseResponse.content:{}锛�",
+ content = {@Content(mediaType = MediaType.APPLICATION_JSON_VALUE,
+ schema = @Schema(implementation = ViCamera.class))}
+ )
+ })
+ @GetMapping(path = "one", consumes = MediaType.TEXT_PLAIN_VALUE)
+ @SsoAop()
+ public BaseResponse<ViCamera> one(Long id){
+ return BaseResponseUtils.buildSuccess(this.sv.selectById(id));
+ }
+
+ /**
+ * 淇濆瓨鎽勫儚鏈�
+ * @param dto 淇濆瓨鎽勫儚鏈篺orm琛ㄥ崟瀵硅薄
+ * @return 鏄惁鎴愬姛
+ */
+ @Operation(summary = "淇濆瓨鎽勫儚鏈�", description = "鎻愪氦鎽勫儚鏈烘暟鎹紙form琛ㄥ崟锛夛紝杩涜淇濆瓨")
+ @ApiResponses(value = {
+ @ApiResponse(
+ responseCode = ResultCodeMsg.RsCode.SUCCESS_CODE,
+ description = "鎿嶄綔缁撴灉锛歵rue锛氭垚鍔燂紝false锛氬け璐ワ紙BaseResponse.content锛�",
+ content = {@Content(mediaType = MediaType.APPLICATION_JSON_VALUE,
+ schema = @Schema(implementation = Boolean.class))}
+ )
+ })
+ @PostMapping(path = "save", consumes = MediaType.APPLICATION_JSON_VALUE)
+ @SsoAop()
+ public BaseResponse<Boolean> save(@RequestBody @Valid CameraDto dto, BindingResult bindingResult){
+ if(bindingResult != null && bindingResult.hasErrors()){
+ return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
+ }
+ ViCamera po = dto.toNewPo() ;
+ int count;
+ try {
+ count = this.sv.save(po);
+ } catch (Exception e) {
+ log.error("淇濆瓨鎽勫儚鏈哄紓甯�", e);
+ return BaseResponseUtils.buildException(e.getMessage()) ;
+ }
+ if(count <= 0){
+ return BaseResponseUtils.buildFail("鏁版嵁搴撳瓨鍌ㄥけ璐�") ;
+ }else{
+ return BaseResponseUtils.buildSuccess(true) ;
+ }
+ }
+
+ /**
+ * 缂栬緫淇敼鎽勫儚鏈�
+ * @param dto 淇濆瓨鎽勫儚鏈篺orm琛ㄥ崟瀵硅薄
+ * @return 鏄惁鎴愬姛
+ */
+ @Operation(summary = "缂栬緫淇敼鎽勫儚鏈�", description = "鎻愪氦鎽勫儚鏈烘暟鎹紙form琛ㄥ崟锛夛紝杩涜淇敼")
+ @ApiResponses(value = {
+ @ApiResponse(
+ responseCode = ResultCodeMsg.RsCode.SUCCESS_CODE,
+ description = "鎿嶄綔缁撴灉锛歵rue锛氭垚鍔燂紝false锛氬け璐ワ紙BaseResponse.content锛�",
+ content = {@Content(mediaType = MediaType.APPLICATION_JSON_VALUE,
+ schema = @Schema(implementation = Boolean.class))}
+ )
+ })
+ @PostMapping(path = "update", consumes = MediaType.APPLICATION_JSON_VALUE)
+ @SsoAop()
+ public BaseResponse<Boolean> update(@RequestBody @Valid CameraDto dto, BindingResult bindingResult){
+ if(bindingResult != null && bindingResult.hasErrors()){
+ return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
+ }
+ ViCamera po = dto.toPo() ;
+ if(po.id == null){
+ return BaseResponseUtils.buildFail("鏃犳暟鎹疄浣揑D") ;
+ }
+ int count;
+ try {
+ count = this.sv.update(po);
+ } catch (Exception e) {
+ log.error("淇濆瓨鎽勫儚鏈哄紓甯�", e);
+ return BaseResponseUtils.buildException(e.getMessage()) ;
+ }
+ if(count <= 0){
+ return BaseResponseUtils.buildFail("鏁版嵁搴撳瓨鍌ㄥけ璐�") ;
+ }else{
+ return BaseResponseUtils.buildSuccess(true) ;
+ }
+ }
+
+
+ /**
+ * 鍒犻櫎鎽勫儚鏈�
+ * @param id 鎽勫儚鏈篒D
+ * @return 鏄惁鎴愬姛
+ */
+ @Operation(summary = "鍒犻櫎鎽勫儚鏈�", description = "鎻愪氦鎽勫儚鏈篒D锛岃繘琛岄�昏緫鍒犻櫎")
+ @ApiResponses(value = {
+ @ApiResponse(
+ responseCode = ResultCodeMsg.RsCode.SUCCESS_CODE,
+ description = "鎿嶄綔缁撴灉锛歵rue锛氭垚鍔燂紝false锛氬け璐ワ紙BaseResponse.content锛�",
+ content = {@Content(mediaType = MediaType.APPLICATION_JSON_VALUE,
+ schema = @Schema(implementation = Boolean.class))}
+ )
+ })
+ @GetMapping(path = "delete", consumes = MediaType.TEXT_PLAIN_VALUE)
+ @SsoAop()
+ public BaseResponse<Boolean> delete(Long id){
+ if(id == null){
+ return BaseResponseUtils.buildFail("id涓嶈兘涓虹┖") ;
+ }
+ int count;
+ try {
+ count = this.sv.delete(id);
+ } catch (Exception e) {
+ log.error("淇濆瓨鎽勫儚鏈哄紓甯�", e);
+ return BaseResponseUtils.buildException(e.getMessage()) ;
+ }
+ if(count <= 0){
+ return BaseResponseUtils.buildFail("鏁版嵁搴撳瓨鍌ㄥけ璐�") ;
+ }else{
+ return BaseResponseUtils.buildSuccess(true) ;
+ }
+ }
+
+
+}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/video/CameraDto.java b/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/video/CameraDto.java
new file mode 100644
index 0000000..121ebc5
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/video/CameraDto.java
@@ -0,0 +1,82 @@
+package com.dy.pipIrrProject.video;
+
+import com.dy.pipIrrGlobal.pojoVi.ViCamera;
+import io.swagger.v3.oas.annotations.media.Schema;
+import jakarta.validation.constraints.NotEmpty;
+import lombok.Data;
+
+/**
+ * @Author: liurunyu
+ * @Date: 2025/6/9 10:18
+ * @Description
+ */
+@Data
+@Schema(name = "鎽勫儚鏈猴紙瑙嗛绔欙級")
+public class CameraDto {
+ public static final long serialVersionUID = 202506091020001L;
+ /**
+ * 涓婚敭
+ */
+ public String id;
+
+ /**
+ * 绫诲瀷锛�1钀ょ煶锛�
+ */
+ @NotEmpty(message = "鎽勫儚鏈虹被鍨嬩笉鑳戒负绌�") //涓嶈兘涓虹┖涔熶笉鑳戒负null
+ public Byte type;
+
+ /**
+ * 鎽勫儚鏈哄簭鍒楀彿
+ */
+ @NotEmpty(message = "鎽勫儚鏈虹被鍨嬩笉鑳戒负绌�") //涓嶈兘涓虹┖涔熶笉鑳戒负null
+ public String devNo;
+
+ /**
+ * 瑙嗛绔欏悕绉�
+ */
+ @NotEmpty(message = "瑙嗛绔欏悕绉颁笉鑳戒负绌�") //涓嶈兘涓虹┖涔熶笉鑳戒负null
+ public String name;
+
+ /**
+ * 缁忓害
+ */
+ public Double lng;
+
+ /**
+ * 绾害
+ */
+ public Double lat;
+
+ /**
+ * 鏄惁澶у睆灞曠ず锛�1鏄紝0鎴杗ull鍚︼級
+ */
+ public Byte onScreen;
+
+ /**
+ * 澶у睆灞曠ず鎺掑簭锛堝ぇ浜庣瓑浜�1锛屾暟瀛楄秺灏忔帓搴忚秺鍓嶏級
+ */
+ public Integer onSort;
+
+ /**
+ * 澶囨敞
+ */
+ public String remark;
+
+ public ViCamera toNewPo(){
+ ViCamera po = new ViCamera();
+ po.type = this.type;
+ po.devNo = this.devNo;
+ po.name = this.name;
+ po.lng = this.lng;
+ po.lat = this.lat;
+ po.onScreen = this.onScreen;
+ po.onSort = this.onSort;
+ po.remark = this.remark;
+ return po;
+ }
+ public ViCamera toPo(){
+ ViCamera po = this.toNewPo();
+ po.id = Long.parseLong(this.id) ;
+ return po;
+ }
+}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/video/CameraQo.java b/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/video/CameraQo.java
new file mode 100644
index 0000000..ff2e9b7
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/video/CameraQo.java
@@ -0,0 +1,22 @@
+package com.dy.pipIrrProject.video;
+
+import com.dy.common.webUtil.QueryConditionVo;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.*;
+
+/**
+ * @Author: liurunyu
+ * @Date: 2025/6/9 9:03
+ * @Description
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@ToString(callSuper = true)
+@NoArgsConstructor
+@AllArgsConstructor
+@Builder
+@Schema(name = "瑙嗛鐩戞帶鏌ヨ鏉′欢")
+public class CameraQo extends QueryConditionVo {
+ @Schema(description = "鍚嶇О锛堝湴鍧�锛�")
+ public String name;
+}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/video/CameraSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/video/CameraSv.java
new file mode 100644
index 0000000..56d50bc
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/video/CameraSv.java
@@ -0,0 +1,84 @@
+package com.dy.pipIrrProject.video;
+
+import com.dy.common.webUtil.QueryResultVo;
+import com.dy.pipIrrGlobal.daoVi.ViCameraMapper;
+import com.dy.pipIrrGlobal.pojoVi.ViCamera;
+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 org.springframework.transaction.annotation.Transactional;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @Author: liurunyu
+ * @Date: 2025/6/9 9:01
+ * @Description
+ */
+@Slf4j
+@Service
+public class CameraSv {
+
+ @Autowired
+ private ViCameraMapper dao;
+
+ /**
+ * 鏍规嵁鎸囧畾鏉′欢鑾峰彇瀹炰綋璁板綍
+ * @param queryQo 鏌ヨ鏉′欢鍊煎璞�
+ * @return 瀹炰綋璁板綍鍒楄〃
+ */
+ public QueryResultVo<List<VoCamera>> some(CameraQo queryQo) {
+ Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(queryQo);
+ Long itemTotal = dao.selectTotal(params);
+
+ QueryResultVo<List<VoCamera>> rsVo = new QueryResultVo<>();
+ rsVo.pageSize = queryQo.pageSize;
+ rsVo.pageCurr = queryQo.pageCurr;
+ rsVo.calculateAndSet(itemTotal, params);
+ rsVo.obj = dao.selectSome(params);
+ return rsVo;
+ }
+
+
+ /**
+ * 寰楀埌涓�涓疄浣�
+ * @param id 瀹炰綋ID
+ * @return 瀹炰綋
+ */
+ public ViCamera selectById(Long id){
+ return this.dao.selectById(id) ;
+ }
+ /**
+ * 淇濆瓨锛堟坊鍔狅級瑙嗛鐩戞帶鐐�
+ * @param po
+ * @return
+ */
+ @Transactional
+ Integer save(ViCamera po) {
+ return dao.insert(po);
+ }
+
+ /**
+ * 淇敼瀹炰綋
+ * @param po 瀹炰綋
+ * @return 鏁伴噺
+ */
+ @Transactional
+ public int update(ViCamera po) {
+ return this.dao.updateByPrimaryKeySelective(po);
+ }
+
+ /**
+ * 淇濆瓨淇敼瀹炰綋
+ * @param id 瀹炰綋ID
+ * @return 褰卞搷璁板綍鏁伴噺
+ */
+ @Transactional
+ public int delete(Long id){
+ return this.dao.deleteLogicById(id) ;
+ }
+
+}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/video/TypesVo.java b/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/video/TypesVo.java
new file mode 100644
index 0000000..cad2010
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/video/TypesVo.java
@@ -0,0 +1,14 @@
+package com.dy.pipIrrProject.video;
+
+import lombok.Data;
+
+/**
+ * @Author: liurunyu
+ * @Date: 2025/6/9 9:37
+ * @Description
+ */
+@Data
+public class TypesVo {
+ public Integer type ;
+ public String name ;
+}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/video/CameraQo.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/video/CameraQo.java
new file mode 100644
index 0000000..04fab12
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/video/CameraQo.java
@@ -0,0 +1,20 @@
+package com.dy.pipIrrRemote.video;
+
+import com.dy.common.webUtil.QueryConditionVo;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.*;
+
+/**
+ * @Author: liurunyu
+ * @Date: 2025/6/9 9:03
+ * @Description
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@ToString(callSuper = true)
+@NoArgsConstructor
+@AllArgsConstructor
+@Builder
+@Schema(name = "瑙嗛鐩戞帶鏌ヨ鏉′欢")
+public class CameraQo extends QueryConditionVo {
+}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/video/VideoCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/video/VideoCtrl.java
new file mode 100644
index 0000000..283a749
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/video/VideoCtrl.java
@@ -0,0 +1,118 @@
+package com.dy.pipIrrRemote.video;
+
+import com.dy.common.aop.SsoAop;
+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.util.CameraTypeEnum;
+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.beans.factory.annotation.Value;
+import org.springframework.http.MediaType;
+import org.springframework.web.bind.annotation.PostMapping;
+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/6/9 10:34
+ * @Description
+ */
+@Slf4j
+@Tag(name = "瑙嗛鐩戞帶", description = "瑙嗛鐩戞帶")
+@RestController
+@RequestMapping(path = "video")
+@RequiredArgsConstructor
+public class VideoCtrl {
+ private VideoSv sv;
+ private YsAppSv ysSv;
+
+ @Value("${video.screen.count: 4}")
+ private Integer pageSize;//姣忛〉鏄剧ず鏉℃暟
+
+ @Value("${video.ys.requestVideoCommonUrl: https://open.ys7.com/console/jssdk/pc.html}")
+ private String requestVideoCommonUrl;//
+ @Value("${video.ys.requestVideoCameraPreUrl: ezopen://open.ys7.com/}")
+ private String requestVideoCameraPreUrl;//
+ @Value("${video.ys.requestVideoCameraTailUrl: /1.live&themeId=}")
+ private String requestVideoCameraTailUrl;//
+
+ @Autowired
+ private void setSv(VideoSv sv, YsAppSv ysSv){
+ this.sv = sv ;
+ this.ysSv = ysSv ;
+ }
+
+
+ /**
+ * 瀹㈡埛绔姹傚緱鍒颁竴浜涙憚鍍忔満鏁版嵁
+ * @return 鎵�鏈夋憚鍍忔満鏁版嵁
+ */
+ @Operation(summary = "鑾峰緱涓�椤垫憚鍍忔満鏁版嵁", description = "杩斿洖涓�椤垫憚鍍忔満鏁版嵁鏁版嵁")
+ @ApiResponses(value = {
+ @ApiResponse(
+ responseCode = ResultCodeMsg.RsCode.SUCCESS_CODE,
+ description = "杩斿洖涓�椤垫憚鍍忔満鏁版嵁锛圔aseResponse.content:QueryResultVo[{}]锛�",
+ content = {@Content(mediaType = MediaType.APPLICATION_JSON_VALUE,
+ schema = @Schema(implementation = VoCamera.class))}
+ )
+ })
+ @PostMapping(path = "some", consumes = MediaType.APPLICATION_JSON_VALUE)
+ @SsoAop()
+ public BaseResponse<QueryResultVo<List<VoVideo>>> some(CameraQo queryQo){
+ try {
+ ViYsApp ysApp = this.ysSv.selectSingleton() ;
+ if(ysApp == null){
+ //remote妯″潡鐨勮嚜鍔ㄤ换鍔″彲鑳芥竻绌轰簡锛屾墍浠ュ啀鏌ヨ涓�娆�
+ ysApp = this.ysSv.selectSingleton() ;
+ }
+ List<VoVideo> list = new ArrayList<>() ;
+ QueryResultVo<List<VoCamera>> resTmp = this.sv.some(queryQo, pageSize) ;
+ if(resTmp != null && resTmp.obj != null){
+ for(VoCamera vo : resTmp.obj){
+ VoVideo vvo = new VoVideo() ;
+ vvo.id = vo.id ;
+ vvo.name = vo.name ;
+ if(ysApp != null && vo.type != null && vo.type.byteValue() == CameraTypeEnum.YINGSHI.getType().byteValue()){
+ //钀ょ煶
+ StringBuilder sb = new StringBuilder();
+ sb.append(requestVideoCommonUrl);
+ sb.append("?accessToken=");
+ sb.append(ysApp.accessToken);
+ sb.append("&url=");
+ sb.append(requestVideoCameraPreUrl);
+ sb.append(vo.devNo);
+ sb.append(requestVideoCameraTailUrl);
+ vvo.videoUrl4Simple = sb.toString() + "simple";
+ vvo.videoUrl4Standard = sb.toString() + "standard" ;
+ vvo.videoUrl4Security = sb.toString() + "security" ;
+ }else{
+ vvo.videoUrl4Simple = "" ;
+ vvo.videoUrl4Standard = "" ;
+ vvo.videoUrl4Security = "" ;
+ }
+ }
+ }
+ QueryResultVo<List<VoVideo>> res = new QueryResultVo<>() ;
+ resTmp.copyTo(res);
+ res.obj = list ;
+ return BaseResponseUtils.buildSuccess(res);
+ } catch (Exception e) {
+ log.error("鏌ヨ鎽勫儚鏈哄紓甯�", e);
+ return BaseResponseUtils.buildException(e.getMessage()) ;
+ }
+ }
+}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/video/VideoSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/video/VideoSv.java
new file mode 100644
index 0000000..a7f1cb4
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/video/VideoSv.java
@@ -0,0 +1,44 @@
+package com.dy.pipIrrRemote.video;
+
+import com.dy.common.webUtil.QueryResultVo;
+import com.dy.pipIrrGlobal.daoVi.ViCameraMapper;
+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
+ * @Date: 2025/6/9 10:42
+ * @Description
+ */
+@Slf4j
+@Service
+public class VideoSv {
+
+ @Autowired
+ private ViCameraMapper dao;
+
+ /**
+ * 鏍规嵁鎸囧畾鏉′欢鑾峰彇瀹炰綋璁板綍
+ * @param queryQo 鏌ヨ鏉′欢鍊煎璞�
+ * @return 瀹炰綋璁板綍鍒楄〃
+ */
+ public QueryResultVo<List<VoCamera>> some(CameraQo queryQo, int pageSize) {
+ Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(queryQo);
+ Long itemTotal = dao.selectTotal(params);
+
+ QueryResultVo<List<VoCamera>> rsVo = new QueryResultVo<>();
+ rsVo.pageSize = pageSize;
+ rsVo.pageCurr = queryQo.pageCurr;
+ rsVo.calculateAndSet(itemTotal, params);
+ rsVo.obj = dao.selectSome(params);
+ return rsVo;
+ }
+
+
+}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/video/VoVideo.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/video/VoVideo.java
new file mode 100644
index 0000000..714fc10
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/video/VoVideo.java
@@ -0,0 +1,20 @@
+package com.dy.pipIrrRemote.video;
+
+import com.alibaba.fastjson2.annotation.JSONField;
+import com.alibaba.fastjson2.writer.ObjectWriterImplToString;
+import lombok.Data;
+
+/**
+ * @Author: liurunyu
+ * @Date: 2025/6/9 10:57
+ * @Description
+ */
+@Data
+public class VoVideo {
+ @JSONField(serializeUsing= ObjectWriterImplToString.class)
+ public Long id ;
+ public String name ;
+ public String videoUrl4Simple ;
+ public String videoUrl4Standard ;
+ public String videoUrl4Security ;
+}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/video/ys/YsAppClient.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/video/ys/YsAppClient.java
index 84ddc10..f4bf603 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/video/ys/YsAppClient.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/video/ys/YsAppClient.java
@@ -27,16 +27,16 @@
private static final Integer ThreadPoolPriority = 5 ;//绾跨▼浼樺厛绾�
private static final boolean quartzJobRunOneTimes = true ;//瀹氭椂浠诲姟鍙墽琛屼竴娆�
- @Value("${ys.accessTokenExpireDay: 7}")
+ @Value("${video.ys.accessTokenExpireDay: 7}")
protected Integer accessTokenExpireDay;//AccessToken杩囨湡鏃堕棿锛屽崟浣嶅ぉ
- @Value("${ys.appKey}")
+ @Value("${video.ys.appKey}")
protected String appKey;
- @Value("${ys.secret}")
+ @Value("${video.ys.secret}")
protected String secret;
- @Value("${ys.requestAccessTokenUrl}")
+ @Value("${video.ys.requestAccessTokenUrl}")
protected String requestAccessTokenUrl;
@Autowired
--
Gitblit v1.8.0