From 1c732150ad5e8b21efff07ecd923c4ff8fda60c1 Mon Sep 17 00:00:00 2001
From: zhanghua <314079846@qq.com>
Date: 星期二, 05 九月 2023 20:47:41 +0800
Subject: [PATCH] 100路视频
---
ycl-platform/src/main/java/com/ycl/util/VideoUtil.java | 66 ++++++++++++++++
ycl-platform/src/main/java/com/ycl/dto/video/HttpResponseResult.java | 11 ++
ycl-common/src/main/java/com/ycl/service/oss/impl/OssServiceImpl.java | 3
ycl-platform/src/main/java/com/ycl/dto/video/Camera.java | 45 +++++++++++
ycl-platform/src/main/java/com/ycl/dto/video/PageResult.java | 18 ++++
ycl-platform/src/test/java/com/ycl/sccgplatform/Test1.java | 77 +++++++++++++++++-
6 files changed, 211 insertions(+), 9 deletions(-)
diff --git a/ycl-common/src/main/java/com/ycl/service/oss/impl/OssServiceImpl.java b/ycl-common/src/main/java/com/ycl/service/oss/impl/OssServiceImpl.java
index f4a6942..e9fea7d 100644
--- a/ycl-common/src/main/java/com/ycl/service/oss/impl/OssServiceImpl.java
+++ b/ycl-common/src/main/java/com/ycl/service/oss/impl/OssServiceImpl.java
@@ -145,6 +145,9 @@
}
public static String getcontentType(String FilenameExtension) {
+ if (FilenameExtension.equalsIgnoreCase(".mp4")||FilenameExtension.equalsIgnoreCase(".mov")) {
+ return "video/mp4";
+ }
if (FilenameExtension.equalsIgnoreCase(".bmp")) {
return "image/bmp";
}
diff --git a/ycl-platform/src/main/java/com/ycl/dto/video/Camera.java b/ycl-platform/src/main/java/com/ycl/dto/video/Camera.java
new file mode 100644
index 0000000..6037663
--- /dev/null
+++ b/ycl-platform/src/main/java/com/ycl/dto/video/Camera.java
@@ -0,0 +1,45 @@
+package com.ycl.dto.video;
+
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+public class Camera {
+
+ private String cameraIndexCode;
+ private String gbIndexCode;
+ private String name;
+ private String deviceIndexCode;
+ private String longitude;
+ private String latitude;
+ private String altitude;
+ private Integer pixel;
+ private Integer cameraType;
+ private String cameraTypeName;
+ private String installPlace;
+ private String matrixCode;
+ private Integer chanNum;
+ private String viewshed;
+ private String capabilitySet;
+ private String capabilitySetName;
+ private String intelligentSet;
+ private String intelligentSetName;
+ private String recordLocation;
+ private String recordLocationName;
+ private Integer ptzController;
+ private String ptzControllerName;
+ private String deviceResourceType;
+ private String deviceResourceTypeName;
+ private String channelType;
+ private String channelTypeName;
+ private Integer transType;
+ private String transTypeName;
+ private Date updateTime;
+ private String unitIndexCode;
+ private String treatyType;
+ private String treatyTypeName;
+ private Date createTime;
+ private Integer status;
+ private String statusName;
+}
diff --git a/ycl-platform/src/main/java/com/ycl/dto/video/HttpResponseResult.java b/ycl-platform/src/main/java/com/ycl/dto/video/HttpResponseResult.java
new file mode 100644
index 0000000..59b45c4
--- /dev/null
+++ b/ycl-platform/src/main/java/com/ycl/dto/video/HttpResponseResult.java
@@ -0,0 +1,11 @@
+package com.ycl.dto.video;
+
+import com.alibaba.fastjson.JSONObject;
+import lombok.Data;
+
+@Data
+public class HttpResponseResult{
+ private String code;
+ private String msg;
+ private JSONObject data;
+}
diff --git a/ycl-platform/src/main/java/com/ycl/dto/video/PageResult.java b/ycl-platform/src/main/java/com/ycl/dto/video/PageResult.java
new file mode 100644
index 0000000..8ab6055
--- /dev/null
+++ b/ycl-platform/src/main/java/com/ycl/dto/video/PageResult.java
@@ -0,0 +1,18 @@
+package com.ycl.dto.video;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.List;
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class PageResult<T> {
+ private Integer total;
+ private Integer pageSize;
+ private Integer pageNo;
+ private List<T> list;
+
+}
diff --git a/ycl-platform/src/main/java/com/ycl/util/VideoUtil.java b/ycl-platform/src/main/java/com/ycl/util/VideoUtil.java
index 103223b..e99ce7b 100644
--- a/ycl-platform/src/main/java/com/ycl/util/VideoUtil.java
+++ b/ycl-platform/src/main/java/com/ycl/util/VideoUtil.java
@@ -1,13 +1,19 @@
package com.ycl.util;
-import com.baomidou.mybatisplus.core.toolkit.StringUtils;
+import cn.hutool.json.JSONObject;
import com.fasterxml.jackson.databind.ObjectMapper;
-import com.ycl.api.CommonResult;
+import com.hikvision.artemis.sdk.ArtemisHttpUtil;
+import com.hikvision.artemis.sdk.config.ArtemisConfig;
import com.ycl.dto.v1.Req.FirstReq;
import com.ycl.dto.v1.Req.SecondReq;
import com.ycl.dto.v1.Res.FirstRes;
+import com.ycl.dto.video.Camera;
+import com.ycl.dto.video.HttpResponseResult;
+import com.ycl.dto.video.PageResult;
import com.ycl.utils.MD5Util;
import lombok.SneakyThrows;
+import org.apache.http.HttpResponse;
+import org.apache.http.util.EntityUtils;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.http.*;
import org.springframework.http.client.ClientHttpResponse;
@@ -17,6 +23,9 @@
import org.springframework.web.client.RestTemplate;
import java.net.URI;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
@Component
public class VideoUtil {
@@ -118,4 +127,57 @@
return "鑾峰彇鍦板潃澶辫触锛岃妫�鏌ode鍊�";
}
}
+
+
+ private final String ARTEMIS_PATH = "/artemis";
+ private final String HOST = "10.53.133.82:1443";
+ private final String APP_KEY = "29967737";
+ private final String APP_SECRET = "LElVf9Ct3ykStZHCmFNZ";
+
+ public PageResult<Camera> callPostCameras(Integer pageNo, Integer pageSize, String treeCode) throws Exception {
+ ArtemisConfig config = new ArtemisConfig();
+ config.setHost(HOST); // 浠g悊API缃戝叧nginx鏈嶅姟鍣╥p绔彛
+ config.setAppKey(APP_KEY); // 绉橀挜appkey
+ config.setAppSecret(APP_SECRET);// 绉橀挜appSecret
+ final String getSecurityApi = ARTEMIS_PATH + "/api/resource/v1/cameras"; // 鎺ュ彛璺緞
+ Map<String, String> path = new HashMap<String, String>(2) {
+ {
+ put("https://", getSecurityApi);
+ }
+ };
+ Map<String, String> head = new HashMap<String, String>(2) { //get璇锋眰鐨刪ead鍙傛暟
+ {
+ put("headpost", "sky-test");
+ }
+ };
+ Map<String, String> query = new HashMap<String, String>(2) { //get璇锋眰鐨刪ead鍙傛暟
+ {
+ put("domainId", "0");
+ }
+ };
+ JSONObject jsonBody = new JSONObject();
+ jsonBody.put("pageNo", pageNo);
+ jsonBody.put("pageSize", pageSize);
+ jsonBody.put("treeCode", treeCode);
+ String body = jsonBody.toString();
+ //鍙傛暟鏍规嵁鎺ュ彛瀹為檯鎯呭喌璁剧疆
+ HttpResponse result = ArtemisHttpUtil.doPostStringImgArtemis(config, path, body, query, null, "application/json", head);
+ try {
+ String strResult = EntityUtils.toString(result.getEntity());
+ HttpResponseResult responseResult = com.alibaba.fastjson.JSONObject.parseObject(strResult, HttpResponseResult.class);
+ if ("0".equals(responseResult.getCode())) {
+ com.alibaba.fastjson.JSONObject jsonObject = responseResult.getData();
+ String strList = jsonObject.getString("list");
+ Integer total = Integer.parseInt(jsonObject.getString("total"));
+ Integer resultPageSize = Integer.parseInt(jsonObject.getString("pageSize"));
+ Integer resultPageNo = Integer.parseInt(jsonObject.getString("pageNo"));
+ List<Camera> ls = com.alibaba.fastjson.JSONObject.parseArray(strList, Camera.class);
+ PageResult<Camera> pageResult = new PageResult<>(total, resultPageSize, resultPageNo, ls);
+ return pageResult;
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ return null;
+ }
}
diff --git a/ycl-platform/src/test/java/com/ycl/sccgplatform/Test1.java b/ycl-platform/src/test/java/com/ycl/sccgplatform/Test1.java
index 760b2e1..c3244e3 100644
--- a/ycl-platform/src/test/java/com/ycl/sccgplatform/Test1.java
+++ b/ycl-platform/src/test/java/com/ycl/sccgplatform/Test1.java
@@ -1,6 +1,9 @@
package com.ycl.sccgplatform;
-import com.ycl.dto.statistics.CategoryDto;
+import com.alibaba.fastjson.JSONObject;
+import com.ycl.dto.video.Camera;
+import com.ycl.dto.video.HttpResponseResult;
+import com.ycl.dto.video.PageResult;
import com.ycl.mapper.unlawful.UnlawfulMapper;
import com.ycl.service.oss.OssService;
import org.junit.jupiter.api.Test;
@@ -13,8 +16,6 @@
import java.util.List;
import java.util.UUID;
-import static com.alibaba.druid.util.Utils.loadFromFile;
-
@SpringBootTest
public class Test1 {
@@ -25,9 +26,71 @@
private UnlawfulMapper unlawfuldao;
@Test
- void test(){
+ void test() {
// List<CategoryDto> data = unlawfuldao.getDataByType(0, 5,"2022-12-14 17:19:01", "2022-12-14 17:19:03");
// System.out.println(data);
+
+
+ String msg = "{\n" +
+ " \"code\": \"0\",\n" +
+ " \"msg\": \"success\",\n" +
+ " \"data\": {\n" +
+ " \"total\": 1,\n" +
+ " \"pageSize\": 20,\n" +
+ " \"pageNo\": 1,\n" +
+ " \"list\": [\n" +
+ " {\n" +
+ " \"cameraIndexCode\": \"90ad77d8057c43dab140b77361606927\",\n" +
+ " \"gbIndexCode\": \"12000000051210000000\",\n" +
+ " \"name\": \"Camera_01\",\n" +
+ " \"deviceIndexCode\": \"f5da3e320bcb483da6bef4b3f86de779\",\n" +
+ " \"longitude\": \"120.216123284763\",\n" +
+ " \"latitude\": \"30.21168569675452\",\n" +
+ " \"altitude\": \"88\",\n" +
+ " \"pixel\": 1,\n" +
+ " \"cameraType\": 1,\n" +
+ " \"cameraTypeName\": \"鍗婄悆\",\n" +
+ " \"installPlace\": \"琛楅亾\",\n" +
+ " \"matrixCode\": \"2076c586b0a94a6ba639b44eda9e76e9\",\n" +
+ " \"chanNum\": 1,\n" +
+ " \"viewshed\": \"{\\\"horizontalValue\\\":\\\"13.80000\\\",\\\"azimuth\\\":\\\"109.23000\\\",\\\"visibleRadius\\\":\\\"48.00000\\\"}\",\n" +
+ " \"capabilitySet\": \"@event_face@\",\n" +
+ " \"capabilitySetName\": \"浜鸿劯閲囬泦鑳藉姏\",\n" +
+ " \"intelligentSet\": \"@face@\",\n" +
+ " \"intelligentSetName\": \"浜鸿劯缁撴瀯鍖栬兘鍔沑",\n" +
+ " \"recordLocation\": \"0\",\n" +
+ " \"recordLocationName\": \"涓績瀛樺偍\",\n" +
+ " \"ptzController\": 1,\n" +
+ " \"ptzControllerName\": \"DVR\",\n" +
+ " \"deviceResourceType\": \"ENCODE_DEVICE\",\n" +
+ " \"deviceResourceTypeName\": \"缂栫爜璁惧\",\n" +
+ " \"channelType\": \"digital\",\n" +
+ " \"channelTypeName\": \"鏁板瓧閫氶亾\",\n" +
+ " \"transType\": 0,\n" +
+ " \"transTypeName\": \"UDP\",\n" +
+ " \"updateTime\": \"2021-06-15T00:00:00.000+08:00\",\n" +
+ " \"unitIndexCode\": \"083b2031c1db4f368f015fe2562e0012\",\n" +
+ " \"treatyType\": \"20005\",\n" +
+ " \"treatyTypeName\": \"ONVIF\",\n" +
+ " \"createTime\": \"2021-06-15T00:00:00.000+08:00\",\n" +
+ " \"status\": 0,\n" +
+ " \"statusName\": \"涓嶅湪绾縗"\n" +
+ " }\n" +
+ " ]\n" +
+ " }\n" +
+ "}\n";
+ HttpResponseResult responseResult = com.alibaba.fastjson.JSONObject.parseObject(msg, HttpResponseResult.class);
+ if ("0".equals(responseResult.getCode())) {
+ JSONObject jsonObject = responseResult.getData();
+ String strList = jsonObject.getString("list");
+ Integer total = Integer.parseInt(jsonObject.getString("total"));
+ Integer pageSize = Integer.parseInt(jsonObject.getString("pageSize"));
+ Integer pageNo = Integer.parseInt(jsonObject.getString("pageNo"));
+ List<Camera> ls = JSONObject.parseArray(strList, Camera.class);
+
+ PageResult<Camera> pageResult = new PageResult<>(total, pageSize, pageNo, ls);
+ System.out.println(ls.size());
+ }
}
// @Test
@@ -37,17 +100,17 @@
// }
@Test
- void test2(){
+ void test2() {
double v = Double.parseDouble("1.0");
double v1 = Double.parseDouble("3.0");
System.out.println(v / v1);
}
@Test
- void test3(){
+ void test3() {
System.out.println("sczf/" + String.valueOf(UUID.randomUUID()));
}
-
+
@Test
void test4() throws Exception {
String extension = "jpg";
--
Gitblit v1.8.0