Commit 0da81967 authored by 薄玉虎's avatar 薄玉虎
Browse files

更新版本

parent 94894346
Loading
Loading
Loading
Loading
+2 −2
Original line number Original line Diff line number Diff line
@@ -60,7 +60,7 @@
        <dependency>
        <dependency>
            <groupId>com.dahuatech.icc</groupId>
            <groupId>com.dahuatech.icc</groupId>
            <artifactId>java-sdk-oauth</artifactId>
            <artifactId>java-sdk-oauth</artifactId>
            <version>1.0.9.1</version>
            <version>1.0.12.4</version>
            <exclusions>
            <exclusions>
                <exclusion>
                <exclusion>
                    <artifactId>java-sdk-core</artifactId>
                    <artifactId>java-sdk-core</artifactId>
@@ -93,7 +93,7 @@
        <dependency>
        <dependency>
            <groupId>com.dahuatech.icc</groupId>
            <groupId>com.dahuatech.icc</groupId>
            <artifactId>java-sdk-core</artifactId>
            <artifactId>java-sdk-core</artifactId>
            <version>1.0.9.1</version>
            <version>1.0.12.4</version>
        </dependency>
        </dependency>


        <dependency>
        <dependency>
+1 −1
Original line number Original line Diff line number Diff line
@@ -25,7 +25,7 @@ import java.util.Map;
@EnableKafka
@EnableKafka
public class KafkaConsumerConfig {
public class KafkaConsumerConfig {


    public final static String BOOTSTRAP_SERVERS = "172.16.20.211:9092";
    public final static String BOOTSTRAP_SERVERS = "172.16.20.33:9092";
//    public final static String BOOTSTRAP_SERVERS = "192.168.10.137:9092";
//    public final static String BOOTSTRAP_SERVERS = "192.168.10.137:9092";
    public final static String GROUP_ID = "test_group";
    public final static String GROUP_ID = "test_group";


+75 −17
Original line number Original line Diff line number Diff line
@@ -8,8 +8,10 @@ import com.dahuatech.hutool.json.JSONUtil;
import com.dahuatech.icc.exception.ClientException;
import com.dahuatech.icc.exception.ClientException;
import com.dahuatech.icc.oauth.http.DefaultClient;
import com.dahuatech.icc.oauth.http.DefaultClient;
import com.dahuatech.icc.oauth.http.IClient;
import com.dahuatech.icc.oauth.http.IClient;
import com.dahuatech.icc.oauth.http.IccClient;
import com.dahuatech.icc.oauth.model.v202010.GeneralRequest;
import com.dahuatech.icc.oauth.model.v202010.GeneralRequest;
import com.dahuatech.icc.oauth.model.v202010.GeneralResponse;
import com.dahuatech.icc.oauth.model.v202010.GeneralResponse;
import com.dahuatech.icc.oauth.model.v202010.OauthConfigUserPwdInfo;
import com.example.mykafkaproject.bean.WarnPushBase;
import com.example.mykafkaproject.bean.WarnPushBase;
import com.example.mykafkaproject.mapper.WarnPushBaseMapper;
import com.example.mykafkaproject.mapper.WarnPushBaseMapper;
import com.example.mykafkaproject.utils.HttpUtils;
import com.example.mykafkaproject.utils.HttpUtils;
@@ -42,15 +44,15 @@ public class WarnPushBaseServer {
        LOGGER.info("预警信息:" + message);
        LOGGER.info("预警信息:" + message);
        WarnPushBase warnPushBase = JSON.parseObject(message, WarnPushBase.class);
        WarnPushBase warnPushBase = JSON.parseObject(message, WarnPushBase.class);
//        if("乌海矿".equals(warnPushBase.getBelong())){
//        if("乌海矿".equals(warnPushBase.getBelong())){
        //获取视频地址 先不截取布控球的视频
        //获取视频地址
            String video;
            String video;
        if(!warnPushBase.getAlarmDeviceName().contains("布控球")){
//        if(!warnPushBase.getAlarmDeviceName().contains("布控球")){
            //获取前后五秒时间戳
            //获取前后五秒时间戳
            Date alarmTime = warnPushBase.getAlarmTime();
            Date alarmTime = warnPushBase.getAlarmTime();
            video = getVideo(warnPushBase.getChannelId(), alarmTime.getTime() / 1000 - 3, alarmTime.getTime() / 1000 + 3);
            video = getVideo(warnPushBase.getChannelId(), alarmTime.getTime() / 1000 - 3, alarmTime.getTime() / 1000 + 3,warnPushBase);
        }else{
//        }else{
             video = "http://172.16.20.211:8080/profile/MP4/1001952$1$0$0_1698988966.mp4";
//             video = "http://172.16.20.211:8080/profile/MP4/1001952$1$0$0_1698988966.mp4";
        }
//        }


//        String video ="F:\\ruoyi\\uploadPath\\MP4";
//        String video ="F:\\ruoyi\\uploadPath\\MP4";
        warnPushBase.setAlarmMsg(warnPushBase.getGradeType());
        warnPushBase.setAlarmMsg(warnPushBase.getGradeType());
@@ -63,11 +65,17 @@ public class WarnPushBaseServer {
//        }
//        }
    }
    }


    public String getVideo(String channelId, Long startTime, Long endTime) {
    public String getVideo(String channelId, Long startTime, Long endTime,WarnPushBase warnPushBase) {
        try {
        try {
            //获取录像视频流地址
            String url;
            String url = rtsp1(channelId, startTime, endTime);
            //获取录像视频流地址   乌海与海南调用方式不同 需要区分 布控球目前都属于乌海矿

            if("乌海矿".equals(warnPushBase.getBelong())||warnPushBase.getAlarmDeviceName().contains("布控球")){
                url = rtspwh(channelId, startTime, endTime);
            }else if("海南矿".equals(warnPushBase.getBelong())){
                url = rtsphn(channelId, startTime, endTime);
            }else{
                return "录像错误";
            }
            //录像视频流转mp4文件
            //录像视频流转mp4文件
            final Process[] process = new Process[1];
            final Process[] process = new Process[1];
            final String fileName = channelId + "_" + startTime + ".mp4";
            final String fileName = channelId + "_" + startTime + ".mp4";
@@ -87,22 +95,28 @@ public class WarnPushBaseServer {
            return "http://172.16.20.211:8080/profile/MP4/" + fileName;
            return "http://172.16.20.211:8080/profile/MP4/" + fileName;
        } catch (ClientException e) {
        } catch (ClientException e) {
            e.printStackTrace();
            e.printStackTrace();
        } catch (InterruptedException e) {
        }
        catch (InterruptedException e) {
            e.printStackTrace();
            e.printStackTrace();
        }
        }
        return "录像错误";
        return "录像错误";
    }
    }




    public String rtsp1(String channelId, Long startTime, Long endTime) throws ClientException {
    public String rtsphn(String channelId, Long startTime, Long endTime) throws ClientException {
        IClient iClient = new DefaultClient();
        try {
        GeneralRequest generalRequest =
        OauthConfigUserPwdInfo oauthConfigUserPwdInfo =
                new GeneralRequest("/evo-apigw/admin/API/SS/Playback/StartPlaybackByTime", Method.POST);
                new OauthConfigUserPwdInfo("172.16.151.240","aqpt",
                        "d1571278-0fdf-4866-95f5-a9cd01154527","system",
                        "Admin123");
        IccClient iClient = new IccClient(oauthConfigUserPwdInfo);
        GeneralRequest generalRequest = new GeneralRequest(oauthConfigUserPwdInfo.getHttpConfigInfo(),
                "/evo-apigw/admin/API/SS/Playback/StartPlaybackByTime", Method.POST);
        String body =
        String body =
                "{\n" +
                "{\n" +
                        "  \"data\": {\n" +
                        "  \"data\": {\n" +
                        "    \"channelId\": \"" + channelId + "\",\n" +
                        "    \"channelId\": \"" + channelId + "\",\n" +
                        "    \"recordSource\": \"3\",\n" +
                        "    \"recordSource\": \"2\",\n" +
                        "    \"startTime\": \"" + startTime + "\",\n" +
                        "    \"startTime\": \"" + startTime + "\",\n" +
                        "    \"endTime\": \"" + endTime + "\",\n" +
                        "    \"endTime\": \"" + endTime + "\",\n" +
                        "    \"streamType\": \"1\",\n" +
                        "    \"streamType\": \"1\",\n" +
@@ -112,13 +126,57 @@ public class WarnPushBaseServer {
        generalRequest.body(body);
        generalRequest.body(body);
        GeneralResponse response = iClient.doAction(generalRequest, generalRequest.getResponseClass());
        GeneralResponse response = iClient.doAction(generalRequest, generalRequest.getResponseClass());
        String result = response.getResult();
        String result = response.getResult();
        System.out.println(result);
        JSONObject obj = JSONUtil.parseObj(response.getResult());
        JSONObject obj = JSONUtil.parseObj(response.getResult());
        String url = obj.getJSONObject("data").getStr("url");
        String url = obj.getJSONObject("data").getStr("url");
        String token = obj.getJSONObject("data").getStr("token");
        String token = obj.getJSONObject("data").getStr("token");
        String[] parts = url.split("\\|");
        String[] parts = url.split("\\|");
        return parts[0] + "?token=" + token + "&trackID=0";
        return parts[0] + "?token=" + token + "&trackID=0";
        } catch (ClientException e) {
            e.printStackTrace();
        }
        catch (Exception e) {
            e.printStackTrace();
        }
        return "录像错误";
    }
    }


    public String rtspwh(String channelId, Long startTime, Long endTime) throws ClientException {
        try {
        OauthConfigUserPwdInfo oauthConfigUserPwdInfo =
                new OauthConfigUserPwdInfo("172.16.51.4","aqpt",
                        "2faa3446-7e32-4fff-b661-a54d2c4cec7f","system",
                        "Admin@123");
        IccClient iClient = new IccClient(oauthConfigUserPwdInfo);
        GeneralRequest generalRequest = new GeneralRequest(oauthConfigUserPwdInfo.getHttpConfigInfo(),
                "/evo-apigw/admin/API/SS/Playback/StartPlaybackByTime", Method.POST);
        String body =
                "{\n" +
                        "  \"data\": {\n" +
                        "    \"channelId\": \"" + channelId + "\",\n" +
                        "    \"recordSource\": \"3\",\n" +
                        "    \"startTime\": \"" + startTime + "\",\n" +
                        "    \"endTime\": \"" + endTime + "\",\n" +
                        "    \"streamType\": \"1\",\n" +
                        "    \"recordType\": \"1\"\n" +
                        "  }\n" +
                        "}";
        generalRequest.body(body);
        GeneralResponse response = iClient.doAction(generalRequest, generalRequest.getResponseClass());
        String result = response.getResult();
        JSONObject obj = JSONUtil.parseObj(response.getResult());
        String url = obj.getJSONObject("data").getStr("url");
        String token = obj.getJSONObject("data").getStr("token");
        String[] parts = url.split("\\|");
        return parts[0] + "?token=" + token + "&trackID=0";
        } catch (ClientException e) {
            e.printStackTrace();
        }
        catch (Exception e) {
            e.printStackTrace();
        }
        return "录像错误";
    }


    public void iotPush(WarnPushBase warnPushBase) {
    public void iotPush(WarnPushBase warnPushBase) {
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
@@ -131,7 +189,7 @@ public class WarnPushBaseServer {
            bodys.put("alarm_device_name", warnPushBase.getAlarmDeviceName());
            bodys.put("alarm_device_name", warnPushBase.getAlarmDeviceName());
            bodys.put("grade_name", warnPushBase.getGradeName());
            bodys.put("grade_name", warnPushBase.getGradeName());
            bodys.put("grade_type", warnPushBase.getGradeType());
            bodys.put("grade_type", warnPushBase.getGradeType());
            bodys.put("grade_type_code", PinYinUtil.getPinYinHeadChar(warnPushBase.getGradeType()));
            bodys.put("grade_type_code", PinYinUtil.getPinYinHeadChar(warnPushBase.getGradeType()).replaceAll("、", ""));
            bodys.put("alarm_time", simpleDateFormat.format(warnPushBase.getAlarmTime()));
            bodys.put("alarm_time", simpleDateFormat.format(warnPushBase.getAlarmTime()));
            bodys.put("alarm_msg", warnPushBase.getAlarmMsg());
            bodys.put("alarm_msg", warnPushBase.getAlarmMsg());
            bodys.put("picture", warnPushBase.getPicture());
            bodys.put("picture", warnPushBase.getPicture());