LiveControllerApi.java 4.1 KB
package com.cnlive.shenhe.api;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.cnlive.shenhe.bean.ErrorEnum;
import com.cnlive.shenhe.bean.ResponseBean;
import com.cnlive.shenhe.utils.AntiFraudUtil;

import java.util.HashMap;
import java.util.Map;
import java.util.UUID;

import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import com.cnlive.shenhe.utils.AntiFraudUtil;


@SuppressWarnings("unused")
@Controller
@RequestMapping("/api/live")
public class LiveControllerApi {
	 private static Logger logger = LoggerFactory.getLogger(LiveControllerApi.class);
	 
	 
	 
	@RequestMapping("/import")
	@ResponseBody
	public JSONObject impotVideo(String param) {
		JSONObject map = new JSONObject();
		JSONObject result = new JSONObject();
		
		
		
		
		
		
		result.put("errorCode", "0");
		result.put("errorMessage", "直播审核请求收到成功");
		map.put("statusCode", "200");
		map.put("result", result);

		return map;
	}
	 
	 
	 
	 
	 
	 
	 
	 
	 
	 

    @RequestMapping(value = "callbackLiveResult", method = RequestMethod.POST)
    @ResponseBody
    public void getFilterVideoResult(@RequestBody String json) {
        logger.info("数美视频过滤回调,json:{}", json);
        if (StringUtils.isNotEmpty(json)) {
            JSONObject jsonObj = JSON.parseObject(json);
            JSONObject resultObj = jsonObj.getJSONObject("result");
            Integer code = resultObj.getInteger("code");
            if (code != null && code == 1100) {
                String riskLevel = resultObj.getString("riskLevel");
                if ("PASS".equals(riskLevel)) {

                }
                if ("REJECT".equals(riskLevel)) {
                	JSONObject detail = resultObj.getJSONObject("detail");
                	logger.info("数美视频回调--REJECT,detail:{}", detail);
//                    resultObj.put("desc",
//                            String.format("(%s-%s)", detail.getString("description"), detail.getString("matchedItem")));
                }

                if ("REVIEW".equals(riskLevel)) {
                }
            }else{
            	//数美请求结果code为失败状态
//            	jsonObj.put("type", "REJECT");
//            	jsonObj.put("desc","code:"+code+",message:"+resultObj.getString("message") );
            }
        }
    }
    
    /**
     * 测试视频流
     * @param videoStream
     */
    @RequestMapping(value="ceshiVideo")
    @ResponseBody
    public void ceshiVideo(String videoStream){
    	//调用数美接口
    	JSONObject result =  AntiFraudUtil.filterVideoStream(videoStream, UUID.randomUUID().toString(), "测试流的名称", "");
    	logger.info("code="+result.getString("code"));
    	logger.info("requestId="+result.getString("requestId"));
    	logger.error("直播流开始测试,result:{}", result);
    }
    
    /**
     * 测试视频流
     * @param videoStream
     */
    @RequestMapping(value="ceshiFinishVideo")
    @ResponseBody
    public void ceshiFinishVideo(String url,String requestId){
    	//调用数美接口
    	JSONObject result =  AntiFraudUtil.finishVideoStream(url,requestId);
    	logger.info("code="+result.getString("code"));
    	logger.info("requestId="+result.getString("requestId"));
    	logger.error("直播流结束测试,result:{}", result);
    }
    
    /**
     * 测试视频流
     * @param videoStream
     */
    @RequestMapping(value="queryVideo")
    @ResponseBody
    public void queryVideo(){
    	//调用数美接口
    	JSONObject result =  AntiFraudUtil.queryVideoStreamResult();
    	logger.info("code="+result.getString("code"));
    	logger.info("requestId="+result.getString("requestId"));
    	logger.error("直播流查询,result:{}", result);
    }
    
    
}