gongdecai преди 3 години
родител
ревизия
67ab812a73

+ 5 - 5
winsea-haixin-plugin-wangluohuoyun/pom.xml

@@ -91,11 +91,11 @@
             <artifactId>thumbnailator</artifactId>
             <version>0.4.8</version>
         </dependency>
-        <dependency>
-            <groupId>com.aliyun</groupId>
-            <artifactId>aliyun-java-sdk-green</artifactId>
-            <version>3.5.0</version>
-        </dependency>
+<!--        <dependency>-->
+<!--            <groupId>com.aliyun</groupId>-->
+<!--            <artifactId>aliyun-java-sdk-green</artifactId>-->
+<!--            <version>3.5.0</version>-->
+<!--        </dependency>-->
     </dependencies>
 
 

+ 243 - 243
winsea-haixin-plugin-wangluohuoyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/controller/AliyunVideoSyncCheck.java

@@ -1,253 +1,253 @@
 package com.yh.saas.plugin.yiliangyiyun.controller;
 
 
-import com.alibaba.fastjson.JSON;
-import com.alibaba.fastjson.JSONArray;
-import com.alibaba.fastjson.JSONObject;
-import com.aliyuncs.DefaultAcsClient;
-import com.aliyuncs.IAcsClient;
-import com.aliyuncs.exceptions.ClientException;
-import com.aliyuncs.exceptions.ServerException;
-import com.aliyuncs.green.model.v20180509.ImageSyncScanRequest;
-import com.aliyuncs.green.model.v20180509.VideoAsyncScanRequest;
-import com.aliyuncs.green.model.v20180509.VideoAsyncScanResultsRequest;
-import com.aliyuncs.green.model.v20180509.VideoSyncScanRequest;
-import com.aliyuncs.http.FormatType;
-import com.aliyuncs.http.HttpResponse;
-import com.aliyuncs.profile.DefaultProfile;
-import com.aliyuncs.profile.IClientProfile;
+//import com.alibaba.fastjson.JSON;
+//import com.alibaba.fastjson.JSONArray;
+//import com.alibaba.fastjson.JSONObject;
+//import com.aliyuncs.DefaultAcsClient;
+//import com.aliyuncs.IAcsClient;
+//import com.aliyuncs.exceptions.ClientException;
+//import com.aliyuncs.exceptions.ServerException;
+//import com.aliyuncs.green.model.v20180509.ImageSyncScanRequest;
+//import com.aliyuncs.green.model.v20180509.VideoAsyncScanRequest;
+//import com.aliyuncs.green.model.v20180509.VideoAsyncScanResultsRequest;
+//import com.aliyuncs.green.model.v20180509.VideoSyncScanRequest;
+//import com.aliyuncs.http.FormatType;
+//import com.aliyuncs.http.HttpResponse;
+//import com.aliyuncs.profile.DefaultProfile;
+//import com.aliyuncs.profile.IClientProfile;
 
 import java.util.*;
 public class AliyunVideoSyncCheck {
 
-
-    /**
-     * 异步视频鉴黄
-     * @param imageUrl
-     * @throws Exception
-     */
-    public static String aliyunVideoAsyncCheck(String imageUrl) throws Exception {
-
-        IClientProfile profile = DefaultProfile.getProfile("cn-shanghai", "---accessKeyId---", "--accessKeySecret--");
-        DefaultProfile.addEndpoint("cn-shanghai", "cn-shanghai", "Green", "green.cn-shanghai.aliyuncs.com");
-        IAcsClient client = new DefaultAcsClient(profile);
-
-        VideoAsyncScanRequest videoAsyncScanRequest = new VideoAsyncScanRequest();
-        videoAsyncScanRequest.setAcceptFormat(FormatType.JSON); // 指定api返回格式
-        videoAsyncScanRequest.setMethod(com.aliyuncs.http.MethodType.POST); // 指定请求方法
-
-        List<Map<String, Object>> tasks = new ArrayList<Map<String, Object>>();
-        Map<String, Object> task = new LinkedHashMap<String, Object>();
-        task.put("dataId", UUID.randomUUID().toString());
-        task.put("url", imageUrl);
-
-        tasks.add(task);
-        /**
-         * 设置要检测的场景, 计费是按照该处传递的场景进行
-         * 视频默认1秒截取一帧,您可以自行控制截帧频率,收费按照视频的截帧数量以及每一帧的检测场景进行计费
-         * 举例:1分钟的视频截帧60张,检测色情和暴恐涉政2个场景,收费按照60张暴恐+60张暴恐涉政进行计费
-         * porn: porn表示色情场景检测,terrorism表示暴恐涉政场景检测
-         */
-        JSONObject data = new JSONObject();
-        data.put("scenes", Arrays.asList("porn", "terrorism"));
-        data.put("tasks", tasks);
-
-        videoAsyncScanRequest.setHttpContent(data.toJSONString().getBytes("UTF-8"), "UTF-8", FormatType.JSON);
-
-        /**
-         * 请务必设置超时时间
-         */
-        videoAsyncScanRequest.setConnectTimeout(3000);
-        videoAsyncScanRequest.setReadTimeout(6000);
-        try {
-            HttpResponse httpResponse = client.doAction(videoAsyncScanRequest);
-
-            if(httpResponse.isSuccess()){
-                JSONObject jsonObject = JSON.parseObject(new String(httpResponse.getHttpContent(), "UTF-8"));
-//                System.out.println(JSON.toJSONString(jsonObject, true));
-                if (200 == jsonObject.getInteger("code")) {
-                    JSONArray taskResults = jsonObject.getJSONArray("data");
-                    for (Object taskResult : taskResults) {
-                        if (200 == ((JSONObject) taskResult).getInteger("code")) {
-                            String taskId = ((JSONObject) taskResult).getString("taskId");
-                            return taskId;
-                        }
-                    }
-                }
-            }else{
-                System.out.println("response not success. status:" + httpResponse.getStatus());
-            }
-        } catch (ServerException e) {
-            e.printStackTrace();
-        } catch (ClientException e) {
-            e.printStackTrace();
-        }
-        return null;
-    }
-
-    /**
-     * 查询异步检测结果
-     * @param taskId
-     * @return
-     * @throws Exception
-     */
-    public static boolean getResult(String taskId) throws Exception {
-        boolean flag = false;
-        IClientProfile profile = DefaultProfile.getProfile("cn-shanghai", "---accessKeyId---", "--accessKeySecret--");
-        DefaultProfile.addEndpoint("cn-shanghai", "cn-shanghai", "Green", "green.cn-shanghai.aliyuncs.com");
-        IAcsClient client = new DefaultAcsClient(profile);
-
-        VideoAsyncScanResultsRequest videoAsyncScanResultsRequest = new VideoAsyncScanResultsRequest();
-        videoAsyncScanResultsRequest.setAcceptFormat(FormatType.JSON);
-
-        List<String> taskList = new ArrayList<String>();
-        // 这里添加要查询的taskId,提交任务的时候需要自行保存taskId
-        taskList.add(taskId);
-
-        videoAsyncScanResultsRequest.setHttpContent(JSON.toJSONString(taskList).getBytes("UTF-8"), "UTF-8", FormatType.JSON);
-
-        /**
-         * 请务必设置超时时间
-         */
-        videoAsyncScanResultsRequest.setConnectTimeout(3000);
-        videoAsyncScanResultsRequest.setReadTimeout(6000);
-        try {
-            HttpResponse httpResponse = client.doAction(videoAsyncScanResultsRequest);
-            if(httpResponse.isSuccess()){
-                JSONObject scrResponse = JSON.parseObject(new String(httpResponse.getHttpContent(), "UTF-8"));
-//                System.out.println(JSON.toJSONString(jsonObject, true));
-                if (200 == scrResponse.getInteger("code")) {
-                    JSONArray taskResults = scrResponse.getJSONArray("data");
-                    for (Object taskResult : taskResults) {
-                        if (200 == ((JSONObject) taskResult).getInteger("code")) {
-                            JSONArray sceneResults = ((JSONObject) taskResult).getJSONArray("results");
-                            for (Object sceneResult : sceneResults) {
-                                String scene = ((JSONObject) sceneResult).getString("scene");
-                                String suggestion = ((JSONObject) sceneResult).getString("suggestion");
-                                //根据scene和suggetion做相关的处理
-                                //do something
-                                System.out.println("scene = [" + scene + "]");
-                                System.out.println("suggestion = [" + suggestion + "]");
-                                if (!"pass".equals(suggestion)){
-                                    flag = false;
-                                    return flag;
-                                }else {
-                                    flag = true;
-                                }
-                            }
-                        } else {
-                            System.out.println("task process fail:" + ((JSONObject) taskResult).getInteger("code"));
-                        }
-                    }
-                } else {
-                    System.out.println("detect not success. code:" + scrResponse.getInteger("code"));
-                }
-            }else{
-                System.out.println("response not success. status:" + httpResponse.getStatus());
-            }
-        } catch (ServerException e) {
-            e.printStackTrace();
-        } catch (ClientException e) {
-            e.printStackTrace();
-        }
-        return flag;
-    }
-
-    /**
-     * 同步检测
-     * @param imageUrl
-     * @return
-     * @throws Exception
-     */
-    public static boolean aliyunVideoSyncCheck(String imageUrl) throws Exception {
-        boolean flag = false;
-        IClientProfile profile = DefaultProfile.getProfile("cn-shanghai", "---accessKeyId---", "--accessKeySecret--");
-        DefaultProfile.addEndpoint("cn-shanghai", "cn-shanghai", "Green", "green.cn-shanghai.aliyuncs.com");
-        IAcsClient client = new DefaultAcsClient(profile);
-
-        VideoSyncScanRequest videoSyncScanRequest = new VideoSyncScanRequest();
-        videoSyncScanRequest.setAcceptFormat(FormatType.JSON); // 指定api返回格式
-        videoSyncScanRequest.setMethod(com.aliyuncs.http.MethodType.POST); // 指定请求方法
-
-        List<Map<String, Object>> tasks = new ArrayList<Map<String, Object>>();
-        Map<String, Object> task = new LinkedHashMap<String, Object>();
-        task.put("dataId", UUID.randomUUID().toString());
-
-        List<Map<String, Object>> frames = new ArrayList<Map<String, Object>>();
-        Map<String, Object> frame1 = new LinkedHashMap<String, Object>();
-        frame1.put("offset", 0);
-        frame1.put("url", imageUrl);
-
-        Map<String, Object> frame2 = new LinkedHashMap<String, Object>();
-        frame2.put("offset", 5);
-        frame2.put("url", imageUrl);
-
-        Map<String, Object> frame3 = new LinkedHashMap<String, Object>();
-        frame3.put("offset", 10);
-        frame3.put("url", imageUrl);
-        frames.addAll(Arrays.asList(frame1, frame2, frame3));
-
-        task.put("frames", frames);
-        tasks.add(task);
-        /**
-         * 设置要检测的场景, 计费是按照该处传递的场景进行
-         * 视频默认1秒截取一帧,您可以自行控制截帧频率,收费按照视频的截帧数量以及每一帧的检测场景进行计费
-         * 举例:1分钟的视频截帧60张,检测色情和暴恐涉政2个场景,收费按照60张暴恐+60张暴恐涉政进行计费
-         * porn: porn表示色情场景检测
-         */
-        JSONObject data = new JSONObject();
-        data.put("scenes", Arrays.asList("porn", "terrorism"));
-        data.put("tasks", tasks);
-
-        videoSyncScanRequest.setHttpContent(data.toJSONString().getBytes("UTF-8"), "UTF-8", FormatType.JSON);
-
-        /**
-         * 请务必设置超时时间
-         */
-        videoSyncScanRequest.setConnectTimeout(3000);
-        videoSyncScanRequest.setReadTimeout(10000);
-        try {
-            HttpResponse httpResponse = client.doAction(videoSyncScanRequest);
-
-            if(httpResponse.isSuccess()){
-                JSONObject scrResponse = JSON.parseObject(new String(httpResponse.getHttpContent(), "UTF-8"));
-                //System.out.println(JSON.toJSONString(jsonObject, true));
-                if (200 == scrResponse.getInteger("code")) {
-                    JSONArray taskResults = scrResponse.getJSONArray("data");
-                    for (Object taskResult : taskResults) {
-                        if (200 == ((JSONObject) taskResult).getInteger("code")) {
-                            JSONArray sceneResults = ((JSONObject) taskResult).getJSONArray("results");
-                            for (Object sceneResult : sceneResults) {
-                                String scene = ((JSONObject) sceneResult).getString("scene");
-                                String suggestion = ((JSONObject) sceneResult).getString("suggestion");
-                                //根据scene和suggetion做相关的处理
-                                //do something
-                                System.out.println("scene = [" + scene + "]");
-                                System.out.println("suggestion = [" + suggestion + "]");
-                                if (!"pass".equals(suggestion)){
-                                    flag = false;
-                                    return flag;
-                                }else {
-                                    flag = true;
-                                }
-                            }
-                        } else {
-                            System.out.println("task process fail:" + ((JSONObject) taskResult).getInteger("code"));
-                        }
-                    }
-                } else {
-                    System.out.println("detect not success. code:" + scrResponse.getInteger("code"));
-                }
-            }else{
-                System.out.println("response not success. status:" + httpResponse.getStatus());
-            }
-        } catch (ServerException e) {
-            e.printStackTrace();
-        } catch (ClientException e) {
-            e.printStackTrace();
-        }
-        return flag;
-    }
+//
+//    /**
+//     * 异步视频鉴黄
+//     * @param imageUrl
+//     * @throws Exception
+//     */
+//    public static String aliyunVideoAsyncCheck(String imageUrl) throws Exception {
+//
+//        IClientProfile profile = DefaultProfile.getProfile("cn-shanghai", "---accessKeyId---", "--accessKeySecret--");
+//        DefaultProfile.addEndpoint("cn-shanghai", "cn-shanghai", "Green", "green.cn-shanghai.aliyuncs.com");
+//        IAcsClient client = new DefaultAcsClient(profile);
+//
+//        VideoAsyncScanRequest videoAsyncScanRequest = new VideoAsyncScanRequest();
+//        videoAsyncScanRequest.setAcceptFormat(FormatType.JSON); // 指定api返回格式
+//        videoAsyncScanRequest.setMethod(com.aliyuncs.http.MethodType.POST); // 指定请求方法
+//
+//        List<Map<String, Object>> tasks = new ArrayList<Map<String, Object>>();
+//        Map<String, Object> task = new LinkedHashMap<String, Object>();
+//        task.put("dataId", UUID.randomUUID().toString());
+//        task.put("url", imageUrl);
+//
+//        tasks.add(task);
+//        /**
+//         * 设置要检测的场景, 计费是按照该处传递的场景进行
+//         * 视频默认1秒截取一帧,您可以自行控制截帧频率,收费按照视频的截帧数量以及每一帧的检测场景进行计费
+//         * 举例:1分钟的视频截帧60张,检测色情和暴恐涉政2个场景,收费按照60张暴恐+60张暴恐涉政进行计费
+//         * porn: porn表示色情场景检测,terrorism表示暴恐涉政场景检测
+//         */
+//        JSONObject data = new JSONObject();
+//        data.put("scenes", Arrays.asList("porn", "terrorism"));
+//        data.put("tasks", tasks);
+//
+//        videoAsyncScanRequest.setHttpContent(data.toJSONString().getBytes("UTF-8"), "UTF-8", FormatType.JSON);
+//
+//        /**
+//         * 请务必设置超时时间
+//         */
+//        videoAsyncScanRequest.setConnectTimeout(3000);
+//        videoAsyncScanRequest.setReadTimeout(6000);
+//        try {
+//            HttpResponse httpResponse = client.doAction(videoAsyncScanRequest);
+//
+//            if(httpResponse.isSuccess()){
+//                JSONObject jsonObject = JSON.parseObject(new String(httpResponse.getHttpContent(), "UTF-8"));
+////                System.out.println(JSON.toJSONString(jsonObject, true));
+//                if (200 == jsonObject.getInteger("code")) {
+//                    JSONArray taskResults = jsonObject.getJSONArray("data");
+//                    for (Object taskResult : taskResults) {
+//                        if (200 == ((JSONObject) taskResult).getInteger("code")) {
+//                            String taskId = ((JSONObject) taskResult).getString("taskId");
+//                            return taskId;
+//                        }
+//                    }
+//                }
+//            }else{
+//                System.out.println("response not success. status:" + httpResponse.getStatus());
+//            }
+//        } catch (ServerException e) {
+//            e.printStackTrace();
+//        } catch (ClientException e) {
+//            e.printStackTrace();
+//        }
+//        return null;
+//    }
+//
+//    /**
+//     * 查询异步检测结果
+//     * @param taskId
+//     * @return
+//     * @throws Exception
+//     */
+//    public static boolean getResult(String taskId) throws Exception {
+//        boolean flag = false;
+//        IClientProfile profile = DefaultProfile.getProfile("cn-shanghai", "---accessKeyId---", "--accessKeySecret--");
+//        DefaultProfile.addEndpoint("cn-shanghai", "cn-shanghai", "Green", "green.cn-shanghai.aliyuncs.com");
+//        IAcsClient client = new DefaultAcsClient(profile);
+//
+//        VideoAsyncScanResultsRequest videoAsyncScanResultsRequest = new VideoAsyncScanResultsRequest();
+//        videoAsyncScanResultsRequest.setAcceptFormat(FormatType.JSON);
+//
+//        List<String> taskList = new ArrayList<String>();
+//        // 这里添加要查询的taskId,提交任务的时候需要自行保存taskId
+//        taskList.add(taskId);
+//
+//        videoAsyncScanResultsRequest.setHttpContent(JSON.toJSONString(taskList).getBytes("UTF-8"), "UTF-8", FormatType.JSON);
+//
+//        /**
+//         * 请务必设置超时时间
+//         */
+//        videoAsyncScanResultsRequest.setConnectTimeout(3000);
+//        videoAsyncScanResultsRequest.setReadTimeout(6000);
+//        try {
+//            HttpResponse httpResponse = client.doAction(videoAsyncScanResultsRequest);
+//            if(httpResponse.isSuccess()){
+//                JSONObject scrResponse = JSON.parseObject(new String(httpResponse.getHttpContent(), "UTF-8"));
+////                System.out.println(JSON.toJSONString(jsonObject, true));
+//                if (200 == scrResponse.getInteger("code")) {
+//                    JSONArray taskResults = scrResponse.getJSONArray("data");
+//                    for (Object taskResult : taskResults) {
+//                        if (200 == ((JSONObject) taskResult).getInteger("code")) {
+//                            JSONArray sceneResults = ((JSONObject) taskResult).getJSONArray("results");
+//                            for (Object sceneResult : sceneResults) {
+//                                String scene = ((JSONObject) sceneResult).getString("scene");
+//                                String suggestion = ((JSONObject) sceneResult).getString("suggestion");
+//                                //根据scene和suggetion做相关的处理
+//                                //do something
+//                                System.out.println("scene = [" + scene + "]");
+//                                System.out.println("suggestion = [" + suggestion + "]");
+//                                if (!"pass".equals(suggestion)){
+//                                    flag = false;
+//                                    return flag;
+//                                }else {
+//                                    flag = true;
+//                                }
+//                            }
+//                        } else {
+//                            System.out.println("task process fail:" + ((JSONObject) taskResult).getInteger("code"));
+//                        }
+//                    }
+//                } else {
+//                    System.out.println("detect not success. code:" + scrResponse.getInteger("code"));
+//                }
+//            }else{
+//                System.out.println("response not success. status:" + httpResponse.getStatus());
+//            }
+//        } catch (ServerException e) {
+//            e.printStackTrace();
+//        } catch (ClientException e) {
+//            e.printStackTrace();
+//        }
+//        return flag;
+//    }
+//
+//    /**
+//     * 同步检测
+//     * @param imageUrl
+//     * @return
+//     * @throws Exception
+//     */
+//    public static boolean aliyunVideoSyncCheck(String imageUrl) throws Exception {
+//        boolean flag = false;
+//        IClientProfile profile = DefaultProfile.getProfile("cn-shanghai", "---accessKeyId---", "--accessKeySecret--");
+//        DefaultProfile.addEndpoint("cn-shanghai", "cn-shanghai", "Green", "green.cn-shanghai.aliyuncs.com");
+//        IAcsClient client = new DefaultAcsClient(profile);
+//
+//        VideoSyncScanRequest videoSyncScanRequest = new VideoSyncScanRequest();
+//        videoSyncScanRequest.setAcceptFormat(FormatType.JSON); // 指定api返回格式
+//        videoSyncScanRequest.setMethod(com.aliyuncs.http.MethodType.POST); // 指定请求方法
+//
+//        List<Map<String, Object>> tasks = new ArrayList<Map<String, Object>>();
+//        Map<String, Object> task = new LinkedHashMap<String, Object>();
+//        task.put("dataId", UUID.randomUUID().toString());
+//
+//        List<Map<String, Object>> frames = new ArrayList<Map<String, Object>>();
+//        Map<String, Object> frame1 = new LinkedHashMap<String, Object>();
+//        frame1.put("offset", 0);
+//        frame1.put("url", imageUrl);
+//
+//        Map<String, Object> frame2 = new LinkedHashMap<String, Object>();
+//        frame2.put("offset", 5);
+//        frame2.put("url", imageUrl);
+//
+//        Map<String, Object> frame3 = new LinkedHashMap<String, Object>();
+//        frame3.put("offset", 10);
+//        frame3.put("url", imageUrl);
+//        frames.addAll(Arrays.asList(frame1, frame2, frame3));
+//
+//        task.put("frames", frames);
+//        tasks.add(task);
+//        /**
+//         * 设置要检测的场景, 计费是按照该处传递的场景进行
+//         * 视频默认1秒截取一帧,您可以自行控制截帧频率,收费按照视频的截帧数量以及每一帧的检测场景进行计费
+//         * 举例:1分钟的视频截帧60张,检测色情和暴恐涉政2个场景,收费按照60张暴恐+60张暴恐涉政进行计费
+//         * porn: porn表示色情场景检测
+//         */
+//        JSONObject data = new JSONObject();
+//        data.put("scenes", Arrays.asList("porn", "terrorism"));
+//        data.put("tasks", tasks);
+//
+//        videoSyncScanRequest.setHttpContent(data.toJSONString().getBytes("UTF-8"), "UTF-8", FormatType.JSON);
+//
+//        /**
+//         * 请务必设置超时时间
+//         */
+//        videoSyncScanRequest.setConnectTimeout(3000);
+//        videoSyncScanRequest.setReadTimeout(10000);
+//        try {
+//            HttpResponse httpResponse = client.doAction(videoSyncScanRequest);
+//
+//            if(httpResponse.isSuccess()){
+//                JSONObject scrResponse = JSON.parseObject(new String(httpResponse.getHttpContent(), "UTF-8"));
+//                //System.out.println(JSON.toJSONString(jsonObject, true));
+//                if (200 == scrResponse.getInteger("code")) {
+//                    JSONArray taskResults = scrResponse.getJSONArray("data");
+//                    for (Object taskResult : taskResults) {
+//                        if (200 == ((JSONObject) taskResult).getInteger("code")) {
+//                            JSONArray sceneResults = ((JSONObject) taskResult).getJSONArray("results");
+//                            for (Object sceneResult : sceneResults) {
+//                                String scene = ((JSONObject) sceneResult).getString("scene");
+//                                String suggestion = ((JSONObject) sceneResult).getString("suggestion");
+//                                //根据scene和suggetion做相关的处理
+//                                //do something
+//                                System.out.println("scene = [" + scene + "]");
+//                                System.out.println("suggestion = [" + suggestion + "]");
+//                                if (!"pass".equals(suggestion)){
+//                                    flag = false;
+//                                    return flag;
+//                                }else {
+//                                    flag = true;
+//                                }
+//                            }
+//                        } else {
+//                            System.out.println("task process fail:" + ((JSONObject) taskResult).getInteger("code"));
+//                        }
+//                    }
+//                } else {
+//                    System.out.println("detect not success. code:" + scrResponse.getInteger("code"));
+//                }
+//            }else{
+//                System.out.println("response not success. status:" + httpResponse.getStatus());
+//            }
+//        } catch (ServerException e) {
+//            e.printStackTrace();
+//        } catch (ClientException e) {
+//            e.printStackTrace();
+//        }
+//        return flag;
+//    }
 
 
 //    public static void main(String[] args) throws Exception {