package com.newvideo.controller.parser; import java.io.PrintWriter; import java.util.ArrayList; import java.util.List; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import org.springframework.stereotype.Controller; import com.newvideo.domain.CategoryContry; import com.newvideo.domain.DetailSystem; import com.newvideo.domain.HomeVideo; import com.newvideo.domain.HotStar; import com.newvideo.domain.HotVideoType; import com.newvideo.domain.SuperVideoType; import com.newvideo.domain.UserInfo; import com.newvideo.domain.VideoInfo; import com.newvideo.domain.VideoType; import com.newvideo.domain.ad.CommonAd; import com.newvideo.domain.ad.CommonAdPositionAd; import com.newvideo.domain.recommend.CategoryRecommendVideo; import com.newvideo.domain.special.Special; import com.newvideo.service.imp.AdService; import com.newvideo.service.imp.BanQuanService; import com.newvideo.service.imp.CategoryAreaService; import com.newvideo.service.imp.ClassService; import com.newvideo.service.imp.ConfigService; import com.newvideo.service.imp.HomeTypeService; import com.newvideo.service.imp.HotVideoTypeService; import com.newvideo.service.imp.RecommendService; import com.newvideo.service.imp.SpecialService; import com.newvideo.service.imp.StarService; import com.newvideo.service.imp.SystemService; import com.newvideo.service.imp.UserService; import com.newvideo.service.imp.recommend.CategoryRecommendVideoService; import com.newvideo.util.CacheUtil; import com.newvideo.util.Constant; import com.newvideo.util.JsonUtil; import com.newvideo.util.JuheVideoUtil; import com.newvideo.util.StringUtil; import com.newvideo.util.Utils; import com.newvideo.util.VideoPictureUtil; import com.newvideo.util.JuHe.VideoResouceUtil; import com.newvideo.util.ad.CommonAdUtil; import net.sf.json.JSONArray; import net.sf.json.JSONObject; @Controller public class ClassParser { @Resource private SystemService systemService; @Resource private ClassService classService; @Resource private ConfigService configService; @Resource private StarService starService; @Resource private HomeTypeService homeTypeService; @Resource private CategoryAreaService categoryAreaService; @Resource private HotVideoTypeService hotVideoTypeService; @Resource private SpecialService specialService; @Resource private UserService userService; @Resource private VideoResouceUtil videoResouceUtil; @Resource private CategoryRecommendVideoService categoryRecommendVideoService; @Resource private AdService adService; @Resource private RecommendService recommendService; @Resource private BanQuanService banQuanService; public void getClass(String uid, HttpServletRequest request, PrintWriter out) { String method = request.getParameter("Method"); String system = request.getParameter("System"); String sign = request.getParameter("Sign"); String platform = request.getParameter("Platform"); String version = request.getParameter("Version"); String packageName = request.getParameter("Package"); if (StringUtil.isNullOrEmpty(method)) { out.print(JsonUtil.loadFalseJson("Method")); return; } if (StringUtil.isNullOrEmpty(uid)) { out.print(JsonUtil.loadFalseJson("Uid")); return; } if (StringUtil.isNullOrEmpty(system)) { out.print(JsonUtil.loadFalseJson("System")); return; } if (StringUtil.isNullOrEmpty(sign)) { out.print(JsonUtil.loadFalseJson("Sign")); return; } if (StringUtil.isNullOrEmpty(platform)) { out.print(JsonUtil.loadFalseJson("Platform")); return; } DetailSystem detailSystem = systemService.getDetailSystemByPackage(packageName); UserInfo user = userService.getUserInfo(uid); if (Utils.isTest(request, user, detailSystem.getId())) detailSystem = systemService.getDetailSystemById(40 + ""); List list = classService.getSuperVideoTypeList(detailSystem.getId()); if (platform.equalsIgnoreCase("android")) { for (SuperVideoType type : list) { if (type.getType().getName().contains("资讯")) { type.getType().setName("主播"); type.getType().setId(1111); type.getType().setIcon("http://img.zcool.cn/community/017fdb57610d8a0000012e7e74b496.png"); break; } } } if ("android".equalsIgnoreCase(platform) && Integer.parseInt(version) > 53) { SuperVideoType sty = new SuperVideoType(); sty.setCreatetime(0 + ""); sty.setPicture(""); VideoType vt = new VideoType(22222); vt.setName("头条"); vt.setCategoryType("http://wap.baizhan.net/09"); vt.setIcon("http://img.zcool.cn/community/01e299592fd75ba8012193a365723f.png@1280w_1l_2o_100sh.png"); sty.setType(vt); boolean isC = false; for (SuperVideoType svt : list) { if (svt.getType().getId() == vt.getId()) { isC = true; break; } } if (!isC) list.add(sty); } List typeList = new ArrayList(); for (int i = 0; i < list.size(); i++) { if (!StringUtil.isNullOrEmpty(list.get(i).getPicture())) { list.get(i).getType().setIcon(list.get(i).getPicture()); } typeList.add(list.get(i).getType()); } JSONObject object = new JSONObject(); object.put("count", (new StringBuilder(String.valueOf(typeList.size()))).toString()); JSONArray array = new JSONArray(); for (int i = 0; i < typeList.size(); i++) array.add(StringUtil.outPutResultJson(typeList.get(i))); object.put("data", array); out.print(JsonUtil.loadTrueJson(object.toString())); } public void getNewClass(String uid, HttpServletRequest request, PrintWriter out) { String method = request.getParameter("Method"); String system = request.getParameter("System"); String sign = request.getParameter("Sign"); String platform = request.getParameter("Platform"); String version = request.getParameter("Version"); String packageName = request.getParameter("Package"); if (StringUtil.isNullOrEmpty(method)) { out.print(JsonUtil.loadFalseJson("Method")); return; } if (StringUtil.isNullOrEmpty(uid)) { out.print(JsonUtil.loadFalseJson("Uid")); return; } if (StringUtil.isNullOrEmpty(system)) { out.print(JsonUtil.loadFalseJson("System")); return; } if (StringUtil.isNullOrEmpty(sign)) { out.print(JsonUtil.loadFalseJson("Sign")); return; } if (StringUtil.isNullOrEmpty(platform)) { out.print(JsonUtil.loadFalseJson("Platform")); return; } DetailSystem detailSystem = systemService.getDetailSystemByPackage(packageName); UserInfo user = userService.getUserInfo(uid); if (Utils.isTest(request, user, detailSystem.getId())) detailSystem = systemService.getDetailSystemById(40 + ""); List list = classService.getSuperVideoTypeList(detailSystem.getId()); if (platform.equalsIgnoreCase("android")) { for (SuperVideoType type : list) { if (type.getType().getName().contains("资讯")) { type.getType().setName("主播"); type.getType().setId(1111); type.getType().setIcon("http://img.zcool.cn/community/017fdb57610d8a0000012e7e74b496.png"); break; } } } // if ("android".equalsIgnoreCase(platform) && Integer.parseInt(version) > 53) { // SuperVideoType sty = new SuperVideoType(); // sty.setCreatetime(0 + ""); // sty.setPicture(""); // VideoType vt = new VideoType(22222); // vt.setName("头条"); // vt.setCategoryType("http://wap.baizhan.net/09"); // vt.setIcon("http://img.zcool.cn/community/01e299592fd75ba8012193a365723f.png@1280w_1l_2o_100sh.png"); // sty.setType(vt); // boolean isC = false; // for (SuperVideoType svt : list) { // if (svt.getType().getId() == vt.getId()) { // isC = true; // break; // } // } // // if (!isC) // list.add(sty); // } List typelist = new ArrayList(); for (SuperVideoType sv : list) { if (!StringUtil.isNullOrEmpty(sv.getPicture())) { sv.getType().setIcon(sv.getPicture()); } typelist.add(sv.getType()); } JSONObject object = new JSONObject(); object.put("count", (new StringBuilder(String.valueOf(typelist.size()))).toString()); JSONArray array = new JSONArray(); for (int j = 0; j < typelist.size(); j++) array.add(StringUtil.outPutResultJson(typelist.get(j))); object.put("data", array); out.print(JsonUtil.loadTrueJson(object.toString())); } public void getHotStars(String uid, HttpServletRequest request, PrintWriter out) { String method = request.getParameter("Method"); String page = request.getParameter("Page"); String system = request.getParameter("System"); String sign = request.getParameter("Sign"); String platform = request.getParameter("Platform"); String packageName = request.getParameter("Package"); if (StringUtil.isNullOrEmpty(method)) { out.print(JsonUtil.loadFalseJson("Method")); return; } if (StringUtil.isNullOrEmpty(uid)) { out.print(JsonUtil.loadFalseJson("Uid")); return; } if (StringUtil.isNullOrEmpty(system)) { out.print(JsonUtil.loadFalseJson("System")); return; } if (StringUtil.isNullOrEmpty(sign)) { out.print(JsonUtil.loadFalseJson("Sign")); return; } if (StringUtil.isNullOrEmpty(platform)) { out.print(JsonUtil.loadFalseJson("Platform")); return; } int pageIndex = StringUtil.getPage(page); if (pageIndex == 0) { out.print(JsonUtil.loadFalseJson("Page")); return; } List list = starService.getHotStarList(pageIndex, 100); DetailSystem detailSystem = systemService.getDetailSystemByPackage(packageName); UserInfo user1 = userService.getUserInfo(uid); if (Utils.isTest(request, user1, detailSystem.getId())) list = new ArrayList(); JSONObject object = new JSONObject(); object.put("count", Constant.isUpdate ? "19" : ((Object) ((new StringBuilder(String.valueOf(starService.getHotStarCount()))).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())); } public void getHotStarDetail(String uid, HttpServletRequest request, PrintWriter out) { String method = request.getParameter("Method"); String id = request.getParameter("Id"); String system = request.getParameter("System"); String sign = request.getParameter("Sign"); String platform = request.getParameter("Platform"); if (StringUtil.isNullOrEmpty(method)) { out.print(JsonUtil.loadFalseJson("Method")); return; } if (StringUtil.isNullOrEmpty(uid)) { out.print(JsonUtil.loadFalseJson("Uid")); return; } if (StringUtil.isNullOrEmpty(system)) { out.print(JsonUtil.loadFalseJson("System")); return; } if (StringUtil.isNullOrEmpty(sign)) { out.print(JsonUtil.loadFalseJson("Sign")); return; } if (StringUtil.isNullOrEmpty(platform)) { out.print(JsonUtil.loadFalseJson("Platform")); return; } HotStar hot = starService.getHotStarDetail(id); out.print(JsonUtil.loadTrueJson(StringUtil.outPutResultJson(hot))); } public void getHotStarsVideo(String uid, HttpServletRequest request, PrintWriter out) { String method = request.getParameter("Method"); String system = request.getParameter("System"); String starId = request.getParameter("StarId"); String sign = request.getParameter("Sign"); String page = request.getParameter("Page"); String platform = request.getParameter("Platform"); String packageName = request.getParameter("Package"); String version = request.getParameter("Version"); if (StringUtil.isNullOrEmpty(method)) { out.print(JsonUtil.loadFalseJson("Method")); return; } if (StringUtil.isNullOrEmpty(uid)) { out.print(JsonUtil.loadFalseJson("Uid")); return; } if (StringUtil.isNullOrEmpty(system)) { out.print(JsonUtil.loadFalseJson("System")); return; } if (StringUtil.isNullOrEmpty(sign)) { out.print(JsonUtil.loadFalseJson("Sign")); return; } if (StringUtil.isNullOrEmpty(starId)) { out.print(JsonUtil.loadFalseJson("StarId")); return; } if (StringUtil.isNullOrEmpty(platform)) { out.print(JsonUtil.loadFalseJson("Platform")); return; } int pageIndex = StringUtil.getPage(page); if (pageIndex <= 0) { out.print(JsonUtil.loadFalseJson("Page")); return; } List resourceList = videoResouceUtil.getAvailableResourceIds(platform, Integer.parseInt(version)); DetailSystem detailSystem = systemService.getDetailSystemByPackage(packageName); List list = starService.getStarVideo(detailSystem.getId(), starId, pageIndex, CacheUtil.getMD5Long(resourceList)); String cacheMD5 = ""; if (list != null) { for (VideoInfo info : list) { cacheMD5 += info.getId() + "#"; } } list = banQuanService.getBanQuanVideo(list, detailSystem.getId(), cacheMD5); JSONObject object = new JSONObject(); object.put("count", Constant.isUpdate ? "19" : ((Object) ((new StringBuilder( String.valueOf(starService.getStarVideoCount(detailSystem.getId(), starId)))) .toString()))); JSONArray array = new JSONArray(); for (int i = 0; i < list.size(); i++) { list.get(i).setPicture(VideoPictureUtil.getShowPicture(list.get(i), platform, version)); array.add(StringUtil.outPutResultJson(list.get(i))); } object.put("data", array); UserInfo user = userService.getUserInfo(uid); if (Utils.isTest(request, user, detailSystem.getId())) out.print(""); else out.print(JsonUtil.loadTrueJson(object.toString())); } public void getVideoList(String uid, HttpServletRequest request, PrintWriter out) { String method = request.getParameter("Method"); String system = request.getParameter("System"); String starId = request.getParameter("StarId"); String homeType = request.getParameter("HomeType"); String videoType = request.getParameter("VideoType"); String order = request.getParameter("Order");// 1-最新 2-最热4-评分最高 String sign = request.getParameter("Sign"); String page = request.getParameter("Page"); String platform = request.getParameter("Platform"); String packageName = request.getParameter("Package"); String version = request.getParameter("Version"); String yearId = request.getParameter("YearId"); String categoryType = request.getParameter("CategoryType");// 新版接口使用 if (StringUtil.isNullOrEmpty(method)) { out.print(JsonUtil.loadFalseJson("Method")); return; } if (StringUtil.isNullOrEmpty(uid)) { out.print(JsonUtil.loadFalseJson("Uid")); return; } if (StringUtil.isNullOrEmpty(system)) { out.print(JsonUtil.loadFalseJson("System")); return; } if (StringUtil.isNullOrEmpty(sign)) { out.print(JsonUtil.loadFalseJson("Sign")); return; } if (StringUtil.isNullOrEmpty(starId) && StringUtil.isNullOrEmpty(homeType) && StringUtil.isNullOrEmpty(videoType)) { out.print(JsonUtil.loadFalseJson("StarId\u6216\u8005HomeType\u6216\u8005 VideoType")); return; } if (StringUtil.isNullOrEmpty(platform)) { out.print(JsonUtil.loadFalseJson("Platform")); return; } int pageIndex = StringUtil.getPage(page); if (pageIndex <= 0) { out.print(JsonUtil.loadFalseJson("Page")); return; } int pageCount=20; if("com.mugua.sqvideo".equalsIgnoreCase(packageName)){ //前端有BUG。20170912前客户端只能接收20条数据 pageCount=30; } List resourceList = videoResouceUtil.getAvailableResourceIds(platform, Integer.parseInt(version)); DetailSystem detailSystem = systemService.getDetailSystemByPackage(packageName); UserInfo user = userService.getUserInfo(uid); if (Utils.isTest(request, user, detailSystem.getId())) detailSystem = systemService.getDetailSystemById(40 + ""); List list = null; String count = ""; if (!StringUtil.isNullOrEmpty(starId)) { list = starService.getStarVideo(detailSystem.getId(), starId, pageIndex, resourceList, CacheUtil.getMD5Long(resourceList)); count = (new StringBuilder(String.valueOf(starService.getStarVideoCount(detailSystem.getId(), starId)))) .toString(); } else if (!StringUtil.isNullOrEmpty(homeType)) { list = new ArrayList(); List homeVideoList = homeTypeService.getVideoByTypes(homeType, pageIndex, detailSystem); for (HomeVideo hv : homeVideoList) { if (detailSystem.getPackageName().contains("doudou")) { if (!StringUtil.isNullOrEmpty(hv.getPicture())) hv.getVideo().setPicture(hv.getPicture()); } list.add(hv.getVideo()); } count = (new StringBuilder(String.valueOf(homeTypeService.getVideoCountByTypes(homeType, pageIndex)))) .toString(); } else if (!StringUtil.isNullOrEmpty(videoType)) { if (StringUtil.isNullOrEmpty(categoryType) || "genre".equalsIgnoreCase(categoryType)) {// 按分类检索数据 if (!StringUtil.isNullOrEmpty(order)) { Long startTime = System.currentTimeMillis(); List list1 = classService.getTypeVideoList(videoType, detailSystem, pageIndex, pageCount, Integer.parseInt(order), resourceList, CacheUtil.getMD5Long(resourceList)); list = new ArrayList(); if (list1 != null) for (VideoInfo info : list1) list.add(info); System.out.println("列表获取时间:" + (System.currentTimeMillis() - startTime)); } else { List list1 = classService.getTypeVideoList(videoType, detailSystem, pageIndex, pageCount, 1, resourceList, CacheUtil.getMD5Long(resourceList)); list = new ArrayList(); if (list1 != null) for (VideoInfo info : list1) list.add(info); } count = 1200 + ""; } else {// 按地区检索数据 String areaId = videoType;// 国籍ID CategoryContry cc = categoryAreaService.getCategoryArea(areaId); String country = cc.getName(); long typeid = cc.getParent().getCid(); if (StringUtil.isNullOrEmpty(order)) order = 1 + ""; list = categoryAreaService.getVideoInfoByArea(typeid + "", detailSystem, pageIndex,pageCount, Integer.parseInt(order), resourceList, country, StringUtil.Md5(typeid + "-" + detailSystem + "-" + pageIndex + "-" + order + "-" + country + "-" + CacheUtil.getMD5Long(resourceList))); System.out.println("列表最终数量:" + list.size()); count = 1000 + ""; } } list = banQuanService.getBanQuanVideo(list, detailSystem.getId(), CacheUtil.getMD5VideoInfo(list)); for (int i = 0; i < list.size(); i++) { list.get(i).setPicture(VideoPictureUtil.getShowPicture(list.get(i), platform, version)); if (JuheVideoUtil.isNeedDelete(list.get(i), detailSystem.getId())) { list.remove(i); i--; } } JSONObject object = new JSONObject(); object.put("count", Constant.isUpdate ? "19" : ((Object) (count))); JSONArray array = new JSONArray(); for (int i = 0; i < list.size(); i++) { list.get(i).setPicture(VideoPictureUtil.getShowPicture(list.get(i), platform, version)); array.add(StringUtil.outPutResultJson(list.get(i))); } object.put("data", array); object.put("Column", 2); System.out.println(object.optString("Column")); out.print(JsonUtil.loadTrueJson(object.toString())); out.flush(); out.close(); } // getFirstChildType public void getFirstChildType(String uid, HttpServletRequest request, PrintWriter out) { String method = request.getParameter("Method"); String system = request.getParameter("System"); String parentId = request.getParameter("ParentId"); String sign = request.getParameter("Sign"); String platform = request.getParameter("Platform"); if (StringUtil.isNullOrEmpty(method)) { out.print(JsonUtil.loadFalseJson("Method")); return; } if (StringUtil.isNullOrEmpty(uid)) { out.print(JsonUtil.loadFalseJson("Uid")); return; } if (StringUtil.isNullOrEmpty(system)) { out.print(JsonUtil.loadFalseJson("System")); return; } if (StringUtil.isNullOrEmpty(sign)) { out.print(JsonUtil.loadFalseJson("Sign")); return; } if (StringUtil.isNullOrEmpty(parentId)) { out.print(JsonUtil.loadFalseJson("ParentId")); return; } if (StringUtil.isNullOrEmpty(platform)) { out.print(JsonUtil.loadFalseJson("Platform")); return; } List list = classService.getFirstTypeList(parentId); JSONObject object = new JSONObject(); object.put("count", list.size()); 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())); } public void getFirstChildTypeNew(String uid, HttpServletRequest request, PrintWriter out) { String method = request.getParameter("Method"); String system = request.getParameter("System"); String parentId = request.getParameter("ParentId"); String sign = request.getParameter("Sign"); String version = request.getParameter("Version"); String platform = request.getParameter("Platform"); if (StringUtil.isNullOrEmpty(method)) { out.print(JsonUtil.loadFalseJson("请上传Method")); return; } if (StringUtil.isNullOrEmpty(uid)) { out.print(JsonUtil.loadFalseJson("请上传Uid")); return; } if (StringUtil.isNullOrEmpty(system)) { out.print(JsonUtil.loadFalseJson("请上传System")); return; } if (StringUtil.isNullOrEmpty(sign)) { out.print(JsonUtil.loadFalseJson("请上传Sign")); return; } if (StringUtil.isNullOrEmpty(parentId)) { out.print(JsonUtil.loadFalseJson("请上传ParentId")); return; } if (StringUtil.isNullOrEmpty(platform)) { out.print(JsonUtil.loadFalseJson("请上传Platform")); return; } JSONArray array = new JSONArray(); JSONObject object = new JSONObject(); List list = new ArrayList(); boolean isVersionV2 = false; if (platform.equalsIgnoreCase("android")) isVersionV2 = Integer.parseInt(version) >= Constant.VERSION_NEW_ANDROID_V2; else isVersionV2 = Integer.parseInt(version) >= Constant.VERSION_NEW_IOS_V2; if ("150".equalsIgnoreCase(parentId) || "151".equalsIgnoreCase(parentId) || "152".equalsIgnoreCase(parentId) || "153".equalsIgnoreCase(parentId)) { List clist = categoryAreaService.getCategoryContryListByCid(parentId); List areaList = categoryAreaService.categoryContryList(clist.get(0).getId() + ""); if (isVersionV2) { VideoType type = new VideoType(Integer.parseInt(parentId)); type.setName("推荐"); type.setShow("1"); type.setCategoryType("genre"); list.add(0, type); } if ("150".equalsIgnoreCase(parentId)) { VideoType vt = classService.getType(282); vt.setParent(null); vt.setCategoryType("genre"); list.add(vt); } else if ("151".equalsIgnoreCase(parentId)) { VideoType vt = classService.getType(281); vt.setParent(null); vt.setCategoryType("genre"); list.add(vt); } else if ("153".equalsIgnoreCase(parentId)) { VideoType vt = classService.getType(283); vt.setParent(null); vt.setCategoryType("genre"); list.add(vt); } for (CategoryContry cc : areaList) { VideoType type = new VideoType(cc.getId()); type.setName(cc.getName()); type.setShow("1"); type.setCategoryType("area"); list.add(type); } } else { List clist = classService.getFirstTypeList(parentId); list = new ArrayList(); if (clist != null) for (VideoType vt : clist) list.add(vt); VideoType type = new VideoType(Integer.parseInt(parentId)); if (!isVersionV2) type.setName("全部"); else type.setName("推荐"); type.setShow("1"); type.setCategoryType("genre"); list.add(0, type); } object.put("count", list.size()); 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())); } public void getHotType(String uid, HttpServletRequest request, PrintWriter out) { String method = request.getParameter("Method"); String system = request.getParameter("System"); String sign = request.getParameter("Sign"); String packageName = request.getParameter("Package"); String platform = request.getParameter("Platform"); if (StringUtil.isNullOrEmpty(method)) { out.print(JsonUtil.loadFalseJson("Method")); return; } if (StringUtil.isNullOrEmpty(uid)) { out.print(JsonUtil.loadFalseJson("Uid")); return; } if (StringUtil.isNullOrEmpty(system)) { out.print(JsonUtil.loadFalseJson("System")); return; } if (StringUtil.isNullOrEmpty(sign)) { out.print(JsonUtil.loadFalseJson("Sign")); return; } if (StringUtil.isNullOrEmpty(platform)) { out.print(JsonUtil.loadFalseJson("Platform")); return; } DetailSystem detailSystem = systemService.getDetailSystemByPackage(packageName); UserInfo user = userService.getUserInfo(uid); if (Utils.isTest(request, user, detailSystem.getId())) detailSystem = systemService.getDetailSystemById(40 + ""); List list = hotVideoTypeService.getSuperHotTypeList(detailSystem.getId()); JSONObject object = new JSONObject(); object.put("count", list.size()); 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())); } public void getSpecialList(String uid, HttpServletRequest request, PrintWriter out) { request.getParameterMap(); String method = request.getParameter("Method"); String system = request.getParameter("System"); String sign = request.getParameter("Sign"); String packageName = request.getParameter("Package"); String page = request.getParameter("Page"); String platform = request.getParameter("Platform"); if (StringUtil.isNullOrEmpty(method)) { out.print(JsonUtil.loadFalseJson("Method")); return; } if (StringUtil.isNullOrEmpty(uid)) { out.print(JsonUtil.loadFalseJson("Uid")); return; } if (StringUtil.isNullOrEmpty(system)) { out.print(JsonUtil.loadFalseJson("System")); return; } if (StringUtil.isNullOrEmpty(sign)) { out.print(JsonUtil.loadFalseJson("Sign")); return; } if (StringUtil.isNullOrEmpty(platform)) { out.print(JsonUtil.loadFalseJson("Platform")); return; } int pageIndex = 1; pageIndex = Integer.parseInt(page); DetailSystem detailSystem = systemService.getDetailSystemByPackage(packageName); UserInfo user = userService.getUserInfo(uid); if (Utils.isTest(request, user, detailSystem.getId())) detailSystem = systemService.getDetailSystemById(40 + ""); List list = specialService.getSpecialList(detailSystem.getId(), pageIndex); long count = specialService.getSpecialCount(detailSystem.getId()); JSONObject object = new JSONObject(); object.put("count", count); 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())); } public void getSpecialDetail(String uid, HttpServletRequest request, PrintWriter out) { String method = request.getParameter("Method"); String system = request.getParameter("System"); String sign = request.getParameter("Sign"); String packageName = request.getParameter("Package"); String specialid = request.getParameter("Id"); String version = request.getParameter("Version"); String platform = request.getParameter("Platform"); if (StringUtil.isNullOrEmpty(method)) { out.print(JsonUtil.loadFalseJson("Method")); return; } if (StringUtil.isNullOrEmpty(uid)) { out.print(JsonUtil.loadFalseJson("Uid")); return; } if (StringUtil.isNullOrEmpty(system)) { out.print(JsonUtil.loadFalseJson("System")); return; } if (StringUtil.isNullOrEmpty(sign)) { out.print(JsonUtil.loadFalseJson("Sign")); return; } if (StringUtil.isNullOrEmpty(platform)) { out.print(JsonUtil.loadFalseJson("Platform")); return; } Special special = specialService.getSpecial(specialid); List list = specialService.getSpecialVideoList(specialid); JSONObject object = new JSONObject(); object.put("count", list.size()); JSONArray array = new JSONArray(); for (int i = 0; i < list.size(); i++) { list.get(i).setPicture(VideoPictureUtil.getShowPicture(list.get(i), platform, version)); array.add(StringUtil.outPutResultJson(list.get(i))); } object.put("data", array); object.put("special", StringUtil.outPutResultJson(special)); DetailSystem detailSystem = systemService.getDetailSystemByPackage(packageName); UserInfo user = userService.getUserInfo(uid); if (Utils.isTest(request, user, detailSystem.getId())) out.print(""); else out.print(JsonUtil.loadTrueJson(object.toString())); } public void getRecommendCategoryVideoBanner(String uid, HttpServletRequest request, PrintWriter out) { String method = request.getParameter("Method"); String system = request.getParameter("System"); String sign = request.getParameter("Sign"); String packageName = request.getParameter("Package"); String typeid = request.getParameter("Type"); String platform = request.getParameter("Platform"); if (StringUtil.isNullOrEmpty(method)) { out.print(JsonUtil.loadFalseJson("Method")); return; } if (StringUtil.isNullOrEmpty(uid)) { out.print(JsonUtil.loadFalseJson("Uid")); return; } if (StringUtil.isNullOrEmpty(system)) { out.print(JsonUtil.loadFalseJson("System")); return; } if (StringUtil.isNullOrEmpty(sign)) { out.print(JsonUtil.loadFalseJson("Sign")); return; } if (StringUtil.isNullOrEmpty(platform)) { out.print(JsonUtil.loadFalseJson("Platform")); return; } DetailSystem detailSystem = systemService.getDetailSystemByPackage(packageName); List crvList = categoryRecommendVideoService .getCategoryRecommendVideoBannerList(detailSystem.getId(), Integer.parseInt(typeid)); int pid = CommonAdUtil.getCommonAdPositionByVideoType(Integer.parseInt(typeid), platform); List adList = adService.getCommonAdByPid("" + pid); if (adList != null && adList.size() > 0) { for (int i = 0; i < adList.size(); i++) { int p = adList.get(i).getPosition(); CategoryRecommendVideo sc = new CategoryRecommendVideo(); CommonAd ca = adList.get(i).getAd(); ca.setPid(pid + ""); sc.setPicture(ca.getPicture()); sc.setDesc(ca.getDesc()); sc.setAd(ca); if (p < crvList.size()) { crvList.add(p, sc); } else {// 直接加到末尾 crvList.add(sc); } } } JSONObject object = new JSONObject(); object.put("count", crvList.size()); JSONArray array = new JSONArray(); for (int i = 0; i < crvList.size(); i++) array.add(StringUtil.outPutResultJson(crvList.get(i))); object.put("data", array); out.print(JsonUtil.loadTrueJson(object.toString())); } public void getRecommendCategoryVideoList(String uid, HttpServletRequest request, PrintWriter out) { String method = request.getParameter("Method"); String system = request.getParameter("System"); String sign = request.getParameter("Sign"); String packageName = request.getParameter("Package"); String typeid = request.getParameter("Type"); String platform = request.getParameter("Platform"); String version = request.getParameter("Version"); if (StringUtil.isNullOrEmpty(method)) { out.print(JsonUtil.loadFalseJson("Method")); return; } if (StringUtil.isNullOrEmpty(uid)) { out.print(JsonUtil.loadFalseJson("Uid")); return; } if (StringUtil.isNullOrEmpty(system)) { out.print(JsonUtil.loadFalseJson("System")); return; } if (StringUtil.isNullOrEmpty(sign)) { out.print(JsonUtil.loadFalseJson("Sign")); return; } if (StringUtil.isNullOrEmpty(platform)) { out.print(JsonUtil.loadFalseJson("Platform")); return; } DetailSystem detailSystem = systemService.getDetailSystemByPackage(packageName); int count = categoryRecommendVideoService.getRankVideoNumber(Integer.parseInt(typeid)); List list = recommendService.getCategoryRecommendVideoList(Integer.parseInt(typeid), count); list = banQuanService.getBanQuanVideo(list, detailSystem.getId(), CacheUtil.getMD5VideoInfo(list)); for (VideoInfo vi : list) {// 清除无用数据,防止浪费带宽 vi.setIntroduction(""); vi.setMainActor(""); vi.setPicture(VideoPictureUtil.getShowPicture(vi, platform, version)); } JSONObject object = new JSONObject(); object.put("count", list.size()); 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())); } }