LiveApplyControllerApi.java 8.64 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.entity.ShyLive;
import com.cnlive.shenhe.entity.ShyLiveapply;
import com.cnlive.shenhe.entity.ShyVideos;
import com.cnlive.shenhe.serviceImpl.LiveApplyServiceImpl;
import com.cnlive.shenhe.serviceImpl.VideosServiceImpl;
import com.cnlive.shenhe.utils.AntiFraudUtil;
import com.cnlive.shenhe.utils.CommonConst;
import com.cnlive.shenhe.utils.CommonUtils;

import java.sql.Timestamp;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
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.beans.factory.annotation.Autowired;
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/liveApply")
public class LiveApplyControllerApi {
	private static Logger logger = LoggerFactory.getLogger(LiveApplyControllerApi.class);

	@Autowired
	LiveApplyServiceImpl liveApplyServiceImpl;
	 
	@PostMapping("/import")
	@ResponseBody
	public JSONObject impotVideo(String param) {
		JSONObject map = new JSONObject();
		JSONObject result = new JSONObject();
		boolean YorN =true;//初始化一个请求数据库返回结果
		
		logger.info("直播申请入库,param=====" + param);
        JSONObject json = JSONObject.parseObject(param);
        //获取所有参数
        String activityId = json.getString("activityId");//直播活动id
        String channelId = json.getString("channelId");//直播频道id
        Integer spId = Integer.parseInt(json.getString("spId"));//spid
        String sender = json.getString("sender");//直播发起人
        String mobile = json.getString("mobile");//联系方式
        String callback = json.getString("callback");//回调地址
        String organization = json.getString("organization");//直播发起单位
        String theme = json.getString("theme");//直播主题
        Integer businessModel = Integer.parseInt(json.getString("businessModel"));//商务模式:0免费  1收费
        Integer contentProperty = Integer.parseInt(json.getString("contentProperty"));//内容属性:1商业类活动 0非商业活动
        String simpleContent = json.getString("simpleContent");//内容简述
        String live_type = json.getString("liveType");//直播类型
        String keys = json.getString("keys");//要点报备:0品牌植入 1广告植入 2商品推销 3网家家独家麦标
        String livePlace = json.getString("livePlace");//直播地点
        String pushUrl = json.getString("pushUrl");//推流地址
        String pullUrl = json.getString("pullUrl");//拉流地址
        String pullSource = json.getString("pullSource");//拉流来源
        String platforms = json.getString("platforms");//播出平台及通道:0网家家 1CNLive网站 2@TV互动电视
        String startTime = json.getString("preStartTime");//预计开始时间
        Date timestamp_start =null;
        if (CommonUtils.isNotEmpty(startTime)) {
             timestamp_start = new Timestamp(Long.valueOf(startTime));
        }
        String endTime = json.getString("preEndTime");//预计结束时间
        Date timestamp_end =null;
        if (CommonUtils.isNotEmpty(endTime)) {
        	 timestamp_end = new Timestamp(Long.valueOf(endTime));
        }
        ShyLiveapply shyliveApply1 = new ShyLiveapply();
        //得到直播活动id去查询是否已有
        shyliveApply1.setActivity_id(activityId);
		//查询一下 存在,更新 没有,插入
        List<ShyLiveapply> listshyLiveApply = liveApplyServiceImpl.findshyLiveApply(shyliveApply1);
		
        if (listshyLiveApply.size() > 0) {
        	ShyLiveapply shyliveApply = listshyLiveApply.get(0);
            //封装数据入库
        	shyliveApply.setSp_id(spId);//设置spid
        	shyliveApply.setSender(sender);//设置发送者
        	shyliveApply.setMobile(mobile);//设置联系方式
        	shyliveApply.setOrganization(organization);//设置直播发起单位
        	shyliveApply.setTheme(theme);//直播主题
        	shyliveApply.setLive_type(live_type);//直播类型
        	shyliveApply.setPre_start_time(timestamp_start);//预计开始时间
        	shyliveApply.setPre_end_time(timestamp_end);//预计结束时间
        	shyliveApply.setBusiness_model(businessModel);//商务模式:0免费  1收费
        	shyliveApply.setContent_property(contentProperty);//内容属性:1商业类活动 0非商业活动
        	shyliveApply.setSimple_content(simpleContent);//内容简述
        	shyliveApply.setPoint_key(keys);//要点报备:0品牌植入 1广告植入 2商品推销 3网家家独家麦标
        	shyliveApply.setLive_place(livePlace);//直播地点
        	shyliveApply.setPush_url(pushUrl);//推流地址
        	shyliveApply.setPull_url(pullUrl);//拉流地址
        	shyliveApply.setPull_source(pullSource);//拉流来源
        	shyliveApply.setPlatforms(platforms);//播出平台及通道:0网家家 1CNLive网站 2@TV互动电视
        	shyliveApply.setCallback(callback);//设置回调地址
        	shyliveApply.setReceive(CommonConst.RECEIVE_BEFORE);
        	shyliveApply.setShenhe_state(CommonConst.AUDIT_INTT);
        	shyliveApply.setEmail_notice_state(CommonConst.NOTICE_INTT);
        	shyliveApply.setUpdater(null);
        	shyliveApply.setAuditor(null);
        	shyliveApply.setUpdated_at(CommonUtils.getCurrentTime());//更新时间
        	
        	liveApplyServiceImpl.getShenheType(shyliveApply);//获取审核类型
        	YorN = liveApplyServiceImpl.updateshyLiveApply(shyliveApply);
        }else{
        	//查了,没有,直接插入数据库
        	shyliveApply1.setChannel_id(channelId);//设置频道id
        	shyliveApply1.setSp_id(spId);//设置spid
        	shyliveApply1.setSender(sender);//设置发送者
        	shyliveApply1.setMobile(mobile);//设置联系方式
        	shyliveApply1.setOrganization(organization);//设置直播发起单位
        	shyliveApply1.setTheme(theme);//直播主题
        	shyliveApply1.setLive_type(live_type);//直播类型
        	shyliveApply1.setPre_start_time(timestamp_start);//预计开始时间
        	shyliveApply1.setPre_end_time(timestamp_end);//预计结束时间
        	shyliveApply1.setBusiness_model(businessModel);//商务模式:0免费  1收费
        	shyliveApply1.setContent_property(contentProperty);//内容属性:1商业类活动 0非商业活动
        	shyliveApply1.setSimple_content(simpleContent);//内容简述
        	shyliveApply1.setPoint_key(keys);//要点报备:0品牌植入 1广告植入 2商品推销 3网家家独家麦标
        	shyliveApply1.setLive_place(livePlace);//直播地点
        	shyliveApply1.setPush_url(pushUrl);//推流地址
        	shyliveApply1.setPull_url(pullUrl);//拉流地址
        	shyliveApply1.setPull_source(pullSource);//拉流来源
        	shyliveApply1.setPlatforms(platforms);//播出平台及通道:0网家家 1CNLive网站 2@TV互动电视
        	shyliveApply1.setCallback(callback);//设置回调地址
        	liveApplyServiceImpl.getShenheType(shyliveApply1);//获取审核类型
        	shyliveApply1.setReceive(CommonConst.RECEIVE_BEFORE);
        	shyliveApply1.setShenhe_state(CommonConst.AUDIT_INTT);
        	shyliveApply1.setEmail_notice_state(CommonConst.NOTICE_INTT);
        	shyliveApply1.setUpdater(null);
        	shyliveApply1.setAuditor(null);
        	shyliveApply1.setShenhe_msg(null);
        	shyliveApply1.setEmail_notice_msg("");
        	shyliveApply1.setCreated_at(CommonUtils.getCurrentTime());//创建时间
        	shyliveApply1.setUpdated_at(CommonUtils.getCurrentTime());//更新时间
        	
        	YorN = liveApplyServiceImpl.impotLiveApply(shyliveApply1);
        }
		
        if (YorN == true) {
        	result.put("errorCode", "0");
     		result.put("errorMessage", "直播申请审核请求收到成功");
     		map.put("statusCode", "200");
    		map.put("result", result);
         } else {
        	result.put("errorCode", "-1");
      		result.put("errorMessage", "直播申请审核入库失败");
      		map.put("statusCode", "300");
     		map.put("result", result);
         }
         return map;
	}
	 
}