zhanghua
2023-09-05 1c732150ad5e8b21efff07ecd923c4ff8fda60c1
100路视频
3个文件已修改
3个文件已添加
220 ■■■■■ 已修改文件
ycl-common/src/main/java/com/ycl/service/oss/impl/OssServiceImpl.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/dto/video/Camera.java 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/dto/video/HttpResponseResult.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/dto/video/PageResult.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/util/VideoUtil.java 66 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/test/java/com/ycl/sccgplatform/Test1.java 77 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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";
        }
ycl-platform/src/main/java/com/ycl/dto/video/Camera.java
New file
@@ -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;
}
ycl-platform/src/main/java/com/ycl/dto/video/HttpResponseResult.java
New file
@@ -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;
}
ycl-platform/src/main/java/com/ycl/dto/video/PageResult.java
New file
@@ -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;
}
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 "获取地址失败,请检查code值";
        }
    }
    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); // 代理API网关nginx服务器ip端口
        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请求的head参数
            {
                put("headpost", "sky-test");
            }
        };
        Map<String, String> query = new HashMap<String, String>(2) {  //get请求的head参数
            {
                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;
    }
}
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";