From 816041ed3de1133396bf0db4a8eadb45ae69d322 Mon Sep 17 00:00:00 2001
From: zhanghua <314079846@qq.com>
Date: 星期二, 05 九月 2023 22:19:16 +0800
Subject: [PATCH] 同步视频
---
ycl-platform/src/main/java/com/ycl/controller/video/VideoPointController.java | 1
ycl-platform/src/main/java/com/ycl/entity/video/VideoPoint.java | 5 ++
ycl-platform/src/main/java/com/ycl/dto/store/UmsStoreInfoParam.java | 3 +
ycl-platform/src/main/java/com/ycl/task/SynchronizeHKVideo.java | 75 +++++++++++++++++++++++++++++++++++++
4 files changed, 84 insertions(+), 0 deletions(-)
diff --git a/ycl-platform/src/main/java/com/ycl/controller/video/VideoPointController.java b/ycl-platform/src/main/java/com/ycl/controller/video/VideoPointController.java
index 8c870e9..6de5eb9 100644
--- a/ycl-platform/src/main/java/com/ycl/controller/video/VideoPointController.java
+++ b/ycl-platform/src/main/java/com/ycl/controller/video/VideoPointController.java
@@ -51,6 +51,7 @@
@ApiOperation("娣诲姞")
@LogSave(operationType = "鐐逛綅绠$悊", contain = "娣诲姞鐐逛綅")
public CommonResult addVideoPoint(@RequestBody VideoPoint videoPoint) {
+ videoPoint.setType(0);
return CommonResult.success(iVideoPointService.save(videoPoint));
}
diff --git a/ycl-platform/src/main/java/com/ycl/dto/store/UmsStoreInfoParam.java b/ycl-platform/src/main/java/com/ycl/dto/store/UmsStoreInfoParam.java
index d2ecdb8..b4783b8 100644
--- a/ycl-platform/src/main/java/com/ycl/dto/store/UmsStoreInfoParam.java
+++ b/ycl-platform/src/main/java/com/ycl/dto/store/UmsStoreInfoParam.java
@@ -6,6 +6,7 @@
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
+import org.hibernate.validator.constraints.Length;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Pattern;
@@ -19,10 +20,12 @@
@NotBlank(message = "闂ㄥ簵鎵�鏈変汉涓嶈兘涓虹┖")
@ApiModelProperty("濮撳悕")
+ @Length(min = 2,max = 10)
private String owner;
@NotBlank(message = "闂ㄥ簵鍚嶇О涓嶈兘涓虹┖")
@ApiModelProperty("闂ㄥ簵鍚嶇О")
+ @Length(min = 2,max = 20)
private String storeName;
@NotBlank(message = "鎵嬫満鍙蜂笉鑳戒负绌�")
diff --git a/ycl-platform/src/main/java/com/ycl/entity/video/VideoPoint.java b/ycl-platform/src/main/java/com/ycl/entity/video/VideoPoint.java
index afd026a..2dfb337 100644
--- a/ycl-platform/src/main/java/com/ycl/entity/video/VideoPoint.java
+++ b/ycl-platform/src/main/java/com/ycl/entity/video/VideoPoint.java
@@ -57,6 +57,7 @@
/**
* 璁惧閫氶亾鐮�
+ * 娴峰悍瀛楁 cameraIndexCode
*/
@TableField("plat_resource_id")
private String platResourceId;
@@ -105,6 +106,7 @@
/**
* 璁惧鐮�
+ * 娴峰悍瀛楁 deviceIndexCode
*/
@TableField("code")
private String code;
@@ -113,5 +115,8 @@
@ApiModelProperty(value = "缃戞牸id")
private Long gridId;
+ @TableField(value = "type")
+ @ApiModelProperty(value = "0-鍘熸潵澶у崕瑙嗛锛�1-鏂板鎺�100璺捣搴疯棰�")
+ private Integer type;
}
diff --git a/ycl-platform/src/main/java/com/ycl/task/SynchronizeHKVideo.java b/ycl-platform/src/main/java/com/ycl/task/SynchronizeHKVideo.java
new file mode 100644
index 0000000..3a3b6c9
--- /dev/null
+++ b/ycl-platform/src/main/java/com/ycl/task/SynchronizeHKVideo.java
@@ -0,0 +1,75 @@
+package com.ycl.task;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.ycl.dto.video.Camera;
+import com.ycl.dto.video.PageResult;
+import com.ycl.entity.video.VideoPoint;
+import com.ycl.service.video.impl.IVideoPointService;
+import com.ycl.util.VideoUtil;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * 鍚屾娴峰悍瑙嗛
+ */
+@Component
+public class SynchronizeHKVideo {
+
+ @Autowired
+ private IVideoPointService videoPointService;
+ @Autowired
+ private VideoUtil videoUtil;
+
+ @Scheduled(cron = "0/1 * * * * ?") // 姣忕鎵ц
+// @Scheduled(cron = "0 0/1 * ?")
+ @Transactional(rollbackFor = Exception.class)
+ public void scheduledTask() {
+ try {
+ findVideoList(1, 20);
+ } catch (Exception ex) {
+
+ }
+ }
+
+ private void findVideoList(Integer pageNo, Integer pageSize) throws Exception {
+ PageResult<Camera> pageResult = videoUtil.callPostCameras(pageNo, pageSize, "0");
+ if (pageResult.getTotal() > 0) {
+ if (pageResult.getList().size() > 0) {
+ saveVideoFromCamera(pageResult.getList());
+
+ if (pageResult.getList().size() >= pageSize) {
+ findVideoList(pageNo + 1, pageSize);
+ }
+ }
+ }
+ }
+
+ private void saveVideoFromCamera(List<Camera> list) {
+
+ for (Camera c : list) {
+ LambdaQueryWrapper<VideoPoint> queryWrapper = new LambdaQueryWrapper<VideoPoint>()
+ .eq(VideoPoint::getPlatResourceId, c.getCameraIndexCode());
+ List<VideoPoint> pointList = videoPointService.list(queryWrapper);
+
+ if (pointList.size() == 0) {
+ VideoPoint videoPoint = new VideoPoint();
+ videoPoint.setType(1);
+ videoPoint.setName(c.getName());
+ videoPoint.setLatitude(Double.valueOf(c.getLatitude()));
+ videoPoint.setLongitude(Double.valueOf(c.getLatitude()));
+ videoPoint.setPlatResourceId(c.getCameraIndexCode());
+ videoPoint.setCode(c.getDeviceIndexCode());
+ videoPoint.setAddress(c.getInstallPlace());
+ videoPoint.setEquipmentBrand("娴峰悍");
+ videoPoint.setEquipmentModel(c.getCameraTypeName());
+
+ videoPointService.save(videoPoint);
+ }
+ }
+ }
+}
--
Gitblit v1.8.0