package com.yeshi.buwan.controller.parser;
|
|
import com.google.gson.Gson;
|
import com.yeshi.buwan.domain.*;
|
import com.yeshi.buwan.domain.jump.JumpDetail;
|
import com.yeshi.buwan.domain.jump.JumpTypeEnum;
|
import com.yeshi.buwan.domain.recommend.AdRecommendRight;
|
import com.yeshi.buwan.domain.system.DetailSystem;
|
import com.yeshi.buwan.domain.system.SystemInfo;
|
import com.yeshi.buwan.service.imp.*;
|
import com.yeshi.buwan.service.imp.recommend.AdRecommendRightService;
|
import com.yeshi.buwan.service.inter.jump.JumpDetailService;
|
import com.yeshi.buwan.util.*;
|
import com.yeshi.buwan.util.annotation.RequireUid;
|
import com.yeshi.buwan.util.log.VideoLogFactory;
|
import com.yeshi.buwan.util.zhibo.MeiNvZhiBoUtil;
|
import com.yeshi.buwan.vo.AcceptData;
|
import net.sf.json.JSONArray;
|
import net.sf.json.JSONObject;
|
import org.slf4j.Logger;
|
import org.slf4j.LoggerFactory;
|
import org.springframework.stereotype.Controller;
|
|
import javax.annotation.Resource;
|
import javax.servlet.http.HttpServletRequest;
|
import java.io.PrintWriter;
|
import java.util.List;
|
|
@Controller
|
public class OtherParser {
|
private final Logger playLogger = LoggerFactory.getLogger("videoPlay");
|
private String[] sdks = {"4.0.1", "4.0.2", "4.1.0", "4.2.2", "4.2.4", "4.4.2", "4.4.4", "5.0.1", "5.1.0"};
|
private String[] fbl = {"720x1280", "480x800", "480x854", "640x960", "1080x1920"};
|
@Resource
|
private OtherService otherService;
|
@Resource
|
private AdService adService;
|
@Resource
|
private SystemService systemService;
|
@Resource
|
private HomeNoticeService homeNoticeService;
|
@Resource
|
private IntersectionService intersectionService;
|
@Resource
|
private MeiNvZhiBoUtil meiNvZhiBoUtil;
|
@Resource
|
private AdRecommendRightService adRecommendRightService;
|
@Resource
|
private JumpDetailService jumpDetailService;
|
@Resource
|
private RedisManager redisManager;
|
|
@RequireUid
|
public void advice(AcceptData acceptData, HttpServletRequest request, PrintWriter out) {
|
String content = request.getParameter("Content");
|
|
if (StringUtil.isNullOrEmpty(content)) {
|
out.print(JsonUtil.loadFalseJson("请上传Content"));
|
return;
|
}
|
|
otherService.advice(acceptData.getUid(), content);
|
|
out.print(JsonUtil.loadTrueJson(""));
|
out.flush();
|
out.close();
|
return;
|
|
}
|
|
public void test(HttpServletRequest request, PrintWriter out) {
|
out.print("123");
|
out.flush();
|
out.close();
|
}
|
|
public void getWxAd(AcceptData acceptData, HttpServletRequest request, PrintWriter out) {
|
List<WXAd> adList = adService.getWinAd(new SystemInfo(acceptData.getSystem()));
|
WXAd ad = null;
|
if (adList != null && adList.size() > 0) {
|
int position = (int) (adList.size() * Math.random());
|
ad = adList.get(position);
|
}
|
if (ad != null) {
|
String result = StringUtil.outPutResultJson(ad);
|
out.print(JsonUtil.loadTrueJson(result));
|
}
|
out.flush();
|
out.close();
|
return;
|
}
|
|
@RequireUid
|
public void wxClickAction(AcceptData acceptData, HttpServletRequest request, PrintWriter out) {
|
String id = request.getParameter("Id");
|
if (StringUtil.isNullOrEmpty(id)) {
|
out.print(JsonUtil.loadFalseJson("请上传Id"));
|
return;
|
}
|
WXStatistics wx = new WXStatistics();
|
wx.setAction("1");
|
wx.setCreatetime((new StringBuilder(String.valueOf(System.currentTimeMillis()))).toString());
|
wx.setUser(new UserInfo(acceptData.getUid()));
|
wx.setWxad(new WXAd(id));
|
adService.insertWXStatistics(wx);
|
out.print(JsonUtil.loadTrueJson(""));
|
out.flush();
|
out.close();
|
return;
|
}
|
|
public void getNotice(AcceptData acceptData, HttpServletRequest request, PrintWriter out) {
|
DetailSystem detailSystem = systemService.getDetailSystemByPackage(acceptData.getPackageName());
|
List<HomeNotice> list = homeNoticeService.getHomeNoticeList(detailSystem.getId());
|
String content = "";
|
String url = "";
|
HomeNotice notice = null;
|
if (list != null && list.size() > 0) {
|
int position = (int) ((list.size() + 1) * Math.random());
|
if (position == 0)
|
position = 1;
|
if (position > list.size())
|
position = list.size();
|
notice = list.get(position - 1);
|
long now = System.currentTimeMillis();
|
if (TimeUtil.convertAllTimeToTemp(notice.getStarttime()) < now
|
&& now < TimeUtil.convertAllTimeToTemp(notice.getEndtime())) {// 在显示时间内
|
|
} else {
|
notice = null;
|
}
|
}
|
|
JumpDetail jumpDetail = null;
|
|
if (notice != null && acceptData.getVersion() >= 98 && "android".equalsIgnoreCase(acceptData.getPlatform())) {
|
content = notice.getContent();
|
url = notice.getUrl().split("\\?")[1].replace("url=", "").trim();
|
jumpDetail = jumpDetailService.selectByTypeCache(JumpTypeEnum.baichuan);
|
}
|
|
JSONObject params = new JSONObject();
|
params.put("url", url);
|
|
JSONObject object = new JSONObject();
|
object.put("Content", content);// content
|
object.put("Url", url);// url
|
object.put("ShowAd", "0");// 广告显示
|
object.put("Params", params);// 跳转参数
|
object.put("jumpDetail", new Gson().toJson(jumpDetail));
|
|
out.print(JsonUtil.loadTrueJson(object.toString()));
|
out.flush();
|
out.close();
|
return;
|
}
|
|
public void getRealUrl(AcceptData acceptData, HttpServletRequest request, PrintWriter out) {
|
|
String url = request.getParameter("Url");
|
String urlId = request.getParameter("Id");
|
|
String realUrl = "";
|
if (!StringUtil.isNullOrEmpty(urlId) || !StringUtil.isNullOrEmpty(url)) {
|
if (StringUtil.isNullOrEmpty(urlId)) {
|
realUrl = "";
|
} else {
|
realUrl = "";
|
}
|
}
|
out.print(JsonUtil.loadTrueJson("http://www.baidu.com"));
|
out.flush();
|
out.close();
|
return;
|
|
}
|
|
public void getIntersection(AcceptData acceptData, HttpServletRequest request, PrintWriter out) {
|
String id = request.getParameter("Id");
|
|
if (StringUtil.isNullOrEmpty(id)) {
|
out.print(JsonUtil.loadFalseJson("请上传Id"));
|
return;
|
}
|
|
List<VideoInfo> list = intersectionService.getIntersectionVideoList(id);
|
if (list != null && list.size() > 0) {
|
JSONObject object = new JSONObject();
|
object.put("count", (new StringBuilder(String.valueOf(list.size()))).toString());
|
JSONArray array = new JSONArray();
|
for (int i = 0; i < list.size(); i++)
|
array.add(StringUtil.outPutResultJson(list.get(i)));
|
object.put("data", array);
|
out.print(JsonUtil.loadTrueJson(object.toString()));
|
} else
|
out.print(JsonUtil.loadFalseJson("没有数据"));
|
out.flush();
|
out.close();
|
return;
|
|
}
|
|
public void getMeiNvZhiBo(AcceptData acceptData, HttpServletRequest request, PrintWriter out) {
|
String type = request.getParameter("Type");
|
if (StringUtil.isNullOrEmpty(type)) {
|
out.print(JsonUtil.loadFalseJson("请上传Type"));
|
return;
|
}
|
DetailSystem detailSystem = systemService.getDetailSystemByPackage(acceptData.getPackageName());
|
List<HomeVideo> list = meiNvZhiBoUtil.getMeiNvZhiBo(type, detailSystem, acceptData.getVersion());
|
if (list != null && list.size() > 0) {
|
JSONObject object = new JSONObject();
|
object.put("count", (new StringBuilder(String.valueOf(list.size()))).toString());
|
JSONArray array = new JSONArray();
|
for (int i = 0; i < list.size(); i++)
|
array.add(StringUtil.outPutResultJson(list.get(i)));
|
object.put("data", array);
|
out.print(JsonUtil.loadTrueJson(object.toString()));
|
} else
|
out.print(JsonUtil.loadFalseJson("没有数据"));
|
out.flush();
|
out.close();
|
return;
|
|
}
|
|
public void getYearList(AcceptData acceptData, HttpServletRequest request, PrintWriter out) {
|
JSONArray array = new JSONArray();
|
String[] sts = Constant.YEARS;
|
for (int i = 0; i < sts.length; i++) {
|
JSONObject obj = new JSONObject();
|
obj.put("Name", sts[i]);
|
obj.put("Id", i);
|
array.add(obj);
|
}
|
out.print(JsonUtil.loadTrueJson(array.toString()));
|
out.flush();
|
out.close();
|
return;
|
|
}
|
|
|
public void adRecommendRight(AcceptData acceptData, HttpServletRequest request, PrintWriter out) {
|
|
AdRecommendRight ad = adRecommendRightService.getAdRecommendRight();
|
if (ad == null)
|
out.print(JsonUtil.loadFalseJson(""));
|
else
|
out.print(JsonUtil.loadTrueJson(new Gson().toJson(ad)));
|
out.flush();
|
out.close();
|
}
|
|
|
public void playStatistic(AcceptData acceptData, HttpServletRequest request, PrintWriter out) {
|
String videoId = request.getParameter("VideoId");
|
String resourceId = request.getParameter("ResourceId");
|
playLogger.info(VideoLogFactory.createStatisticLog("", Integer.parseInt(resourceId), videoId));
|
|
out.print(JsonUtil.loadTrueJson(""));
|
return;
|
}
|
|
}
|