Parcourir la source

ICC所有接口

yang il y a 3 ans
Parent
commit
a0aaaf6017

+ 1 - 1
huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/dhicc/newcontroller/AccidentController.java

@@ -16,7 +16,7 @@ import java.util.*;
 
 
 @RestController
-@RequestMapping("accident")
+@RequestMapping("/accident")
 @CrossOrigin
 public class AccidentController {
 

+ 29 - 4
huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/dhicc/newcontroller/PersonManageController.java

@@ -9,11 +9,7 @@ import com.dahuatech.icc.oauth.http.IClient;
 import com.dahuatech.icc.oauth.model.v202010.GeneralRequest;
 import com.dahuatech.icc.oauth.model.v202010.GeneralResponse;
 import org.springframework.web.bind.annotation.*;
-
-import javax.servlet.http.HttpServletRequest;
-import java.text.SimpleDateFormat;
 import java.util.Date;
-import java.util.HashMap;
 import java.util.Map;
 
 @RestController
@@ -21,6 +17,30 @@ import java.util.Map;
 @CrossOrigin
 public class PersonManageController {
 
+    /*
+         * @param params
+         *   下面是前端提交的参数 直接让她写死了   这个是查不同部门的人的接口
+         *{searchKey: "", pageNum: 1, pageSize: 10, departmentId: 4, isContain: true, statusList: [1, 2]}      维修部门
+          {searchKey: "", pageNum: 1, pageSize: 10, departmentId: 2, isContain: true, statusList: [1, 2]}      技术部门
+          {searchKey: "", pageNum: 1, pageSize: 10, departmentId: 5, isContain: true, statusList: [1, 2]}      基层部门
+         * @return
+         * @throws ClientException
+         */
+    @RequestMapping("/ge_person_list")
+    public GeneralResponse ge_person_list ( @RequestBody Map<String, Object> params ) throws ClientException {
+        String URL = "/evo-apigw/evo-brm/1.2.0/person/page; "  ;  // 人员列表的接口
+        IClient iClient = new DefaultClient();
+        System.out.println("开始执行");
+        GeneralRequest generalRequest = new GeneralRequest(URL, Method.POST);
+        generalRequest.header("Content-Type", " application/json");
+        System.out.println(JSON.toJSONString(params));
+        //里面是
+        generalRequest.body(JSON.toJSONString(params));
+        //发起请求处理应答
+        GeneralResponse generalResponse = iClient.doAction(generalRequest, generalRequest.getResponseClass());
+        System.out.println("执行结束");
+        return generalResponse;
+    }
 
     /**
      * 人员通行记录 ---测试通过  ---参数说明见大华官网 https://open-icc.dahuatech.com/#/
@@ -95,4 +115,9 @@ public class PersonManageController {
         System.out.println("执行结束");
         return generalResponse;
     }
+
+
+
+
+
 }

+ 78 - 0
huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/dhicc/newcontroller/VideoRecorController.java

@@ -0,0 +1,78 @@
+package com.huimv.produce.dhicc.newcontroller;
+
+//拿视频回放
+
+import com.alibaba.fastjson.JSON;
+import com.dahuatech.hutool.http.Method;
+import com.dahuatech.icc.exception.ClientException;
+import com.dahuatech.icc.oauth.http.DefaultClient;
+import com.dahuatech.icc.oauth.http.IClient;
+import com.dahuatech.icc.oauth.model.v202010.GeneralRequest;
+import com.dahuatech.icc.oauth.model.v202010.GeneralResponse;
+
+import net.sf.json.JSONObject;
+import org.springframework.web.bind.annotation.CrossOrigin;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.text.DateFormat;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.Map;
+import com.huimv.produce.dhicc.result.R;
+//方便前端操作   传入的是  事件时间  还有通道编号就可以播放了
+@RestController
+@RequestMapping("/video")
+@CrossOrigin
+public class VideoRecorController {
+
+    @RequestMapping("/getVideoRecord")
+    public R getVideoRecord(@RequestBody Map<String, Object> params1) throws ClientException, ParseException {
+        String happendTime = (String) params1.get("happendTime");
+        String channelId = (String) params1.get("channelId");
+
+        String URL = "/evo-apigw/admin/API/SS/Playback/StartPlaybackByTime";  //获取事件URL    post请求
+        IClient iClient = new DefaultClient();
+        GeneralRequest generalRequest = new GeneralRequest(URL, Method.POST);
+        System.out.println("开始执行");
+        Map<String, Object> params = new HashMap<>();
+        Map<String, Object> value = new HashMap<>();
+        value.put("nvrId","");
+        value.put("optional","/evo-apigw/admin/API/SS/Playback/StartPlaybackByTime");
+        value.put("recordType","1");
+        value.put("streamType","1");
+        value.put("recordSource","2");
+        value.put("channelId",channelId);
+         //开始结束时间代为处理
+        DateFormat fmt = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+        //格式化传入的时间---拿传入时间前后五分钟的视频
+        Date Time = fmt.parse(happendTime);   //事件时间
+        Date GapTimeBefor_gap = new Date(Time.getTime() -1000*60*5);//star   事件五分钟之前
+        Date GapAfter = new Date(Time.getTime() +1000*60*5);// end   事件五分钟之后
+        String befor= String.valueOf(GapTimeBefor_gap.getTime() / 1000);
+        String after= String.valueOf(GapAfter.getTime() / 1000);
+        value.put("endTime",after);
+        value.put("startTime",befor);
+        params.put("clientMac","30:9c:23:79:40:08");
+        params.put("clientPushId","");
+        params.put("project","PSDK");
+        params.put("method","SS.Playback.StartPlaybackByTime");
+        params.put("data",value);
+        generalRequest.body(JSON.toJSONString(params));
+        //这种已经在配置文件里面安排了账号ip以及密码
+        generalRequest.header("Content-Type", " application/json");
+        //发起请求处理应答
+        GeneralResponse generalResponse = iClient.doAction(generalRequest, generalRequest.getResponseClass());
+        JSONObject jsonObject = JSONObject.fromObject(generalResponse.getResult());
+        Object data = jsonObject.get("data");
+        String url = (String) JSONObject.fromObject(data).get("url");
+        String token = (String) JSONObject.fromObject(data).get("token");
+        // "|"  特殊字符需要加转义字符
+        String[] sourceStrArray = url.split("\\|");
+        String recordUrl = sourceStrArray[1]+"?token="+token;
+        return  R.ok("请求成功").put("URL",recordUrl );
+    }
+}

+ 1 - 1
huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/dhicc/screen/ScreenAlarmCountByDay.java

@@ -26,7 +26,7 @@ public class ScreenAlarmCountByDay {
     private ISysTelecomEventService sysTelecomEventService;
 
 
-
+     //四种事件统计
     @RequestMapping("/CountByDay")
     public R AlarmCountByDay(HttpServletRequest request) throws ClientException {
         GetResponse getResponse = new GetResponse();

+ 0 - 1
huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/dhicc/screen/ScreenSiZhuController.java

@@ -43,7 +43,6 @@ public class ScreenSiZhuController {
         }
 
 
-
          //过去七天的值
         public String getPastSevenDay(  ) throws ClientException {
             GetResponse getResponse = new GetResponse();

+ 13 - 0
huimv-farm-v2/huimv-produce-warning/src/main/resources/config/iccSdk.properties

@@ -0,0 +1,13 @@
+# host
+icc.sdk.host=36.26.62.70:447
+# 客户端模式
+icc.sdk.clientId=huimv
+icc.sdk.clientSecret=1653d6c9-c611-4827-ac87-0bfd48deadd4
+# 1653d6c9-c611-4827-ac87-0bfd48deadd4
+# 密码校验模式
+icc.sdk.pwdClientId=huimv
+icc.sdk.pwdClientSecret=1653d6c9-c611-4827-ac87-0bfd48deadd4
+icc.sdk.username=system
+icc.sdk.password=admin123.
+# 使用授权类型password,client_credentials
+icc.sdk.grantType=password

+ 23 - 0
huimv-farm-v2/huimv-produce-warning/src/main/resources/logback-spring.xml

@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<configuration>
+    <include resource="org/springframework/boot/logging/logback/base.xml" />
+    <logger name="org.springframework.web" level="INFO"/>
+    <logger name="org.springboot.sample" level="TRACE" />
+
+
+    <!-- 开发、测试环境 -->
+    <springProfile name="dev,test">
+        <logger name="org.springframework.web" level="INFO"/>
+        <logger name="org.springboot.sample" level="INFO" />
+        <logger name="com.huimv" level="DEBUG" />
+        <logger name="com.alibaba.druid.pool" level="ERROR"/>
+    </springProfile>
+
+    <!-- 生产环境 -->
+    <springProfile name="prod">
+        <logger name="org.springframework.web" level="ERROR"/>
+        <logger name="org.springboot.sample" level="ERROR" />
+        <logger name="com.huimv" level="ERROR" />
+    </springProfile>
+
+</configuration>