| | |
| | | package com.yeshi.buwan.iqiyi.util; |
| | | |
| | | import java.io.IOException; |
| | | import java.io.Serializable; |
| | | import java.math.BigInteger; |
| | | import java.util.ArrayList; |
| | | import java.util.Collections; |
| | | import java.util.Comparator; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import java.util.Timer; |
| | | import java.util.TimerTask; |
| | | |
| | | import javax.annotation.Resource; |
| | | |
| | | import org.apache.log4j.Logger; |
| | | import org.hibernate.HibernateException; |
| | | import org.hibernate.Session; |
| | | import org.jsoup.Jsoup; |
| | | import org.jsoup.nodes.Document; |
| | | import org.jsoup.select.Elements; |
| | | import org.springframework.orm.hibernate4.HibernateCallback; |
| | | import org.springframework.stereotype.Component; |
| | | |
| | | import com.google.gson.Gson; |
| | | import com.google.gson.GsonBuilder; |
| | | import com.yeshi.buwan.dao.VideoResourceDao; |
| | | import com.yeshi.buwan.dao.juhe.IqiyiVideoInfoDao; |
| | | import com.yeshi.buwan.dao.juhe.VideoIqiyiDao; |
| | | import com.yeshi.buwan.dao.juhe.iqiyi.IqiyiVideoInfoDao; |
| | | import com.yeshi.buwan.dao.juhe.iqiyi.VideoIqiyiDao; |
| | | import com.yeshi.buwan.domain.CategoryVideo; |
| | | import com.yeshi.buwan.domain.VideoInfo; |
| | | import com.yeshi.buwan.domain.VideoResource; |
| | | import com.yeshi.buwan.domain.VideoType; |
| | | import com.yeshi.buwan.domain.entity.PlayUrl; |
| | | import com.yeshi.buwan.iqiyi.IqiYiAPI; |
| | | import com.yeshi.buwan.iqiyi.entity.IqiyiAlbum; |
| | | import com.yeshi.buwan.iqiyi.entity.IqiyiChannel; |
| | | import com.yeshi.buwan.iqiyi.entity.IqiyiVideoInfo; |
| | | import com.yeshi.buwan.iqiyi.entity.PlayControls; |
| | | import com.yeshi.buwan.iqiyi.entity.VideoIqiyi; |
| | | import com.yeshi.buwan.iqiyi.entity.*; |
| | | import com.yeshi.buwan.log.LogHelper; |
| | | import com.yeshi.buwan.service.imp.juhe.IqiyiService; |
| | | import com.yeshi.buwan.util.JuheVideoUtil; |
| | | import com.yeshi.buwan.util.StringUtil; |
| | | import com.yeshi.buwan.util.TimeUtil; |
| | | |
| | | import net.sf.json.JSONArray; |
| | | import net.sf.json.JSONObject; |
| | | import org.apache.log4j.Logger; |
| | | import org.hibernate.HibernateException; |
| | | import org.hibernate.Session; |
| | | import org.springframework.orm.hibernate4.HibernateCallback; |
| | | import org.springframework.stereotype.Component; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.io.Serializable; |
| | | import java.math.BigInteger; |
| | | import java.util.*; |
| | | import java.util.regex.Matcher; |
| | | import java.util.regex.Pattern; |
| | | |
| | | @Component |
| | | public class IqiyiUtil { |
| | | @Resource |
| | | private IqiyiVideoInfoDao iqiyiVideoInfoDao; |
| | | @Resource |
| | | private VideoIqiyiDao videoIqiyiDao; |
| | | @Resource |
| | | private IqiyiService iqiyiService; |
| | | @Resource |
| | | private VideoResourceDao videoResourceDao; |
| | | @Resource |
| | | private IqiyiVideoInfoDao iqiyiVideoInfoDao; |
| | | @Resource |
| | | private VideoIqiyiDao videoIqiyiDao; |
| | | @Resource |
| | | private IqiyiService iqiyiService; |
| | | @Resource |
| | | private VideoResourceDao videoResourceDao; |
| | | |
| | | static Logger logger = Logger.getLogger(IqiyiUtil.class); |
| | | static Logger logger = Logger.getLogger(IqiyiUtil.class); |
| | | |
| | | public final int PLAY_NONE = 0;// 不能播放 |
| | | public final int PLAY_HTML = 1;// 跳转移动端网页播放 |
| | | public final int PLAY_SWF = 2;// 嵌套网页播放 |
| | | |
| | | public int getPlayType(IqiyiVideoInfo info) { |
| | | IqiyiVideoInfo vinfo = IqiYiAPI.getVideoInfo(info.getTvId() + ""); |
| | | if (vinfo == null) |
| | | LogHelper.iqiyi(info.getTvId()); |
| | | if (vinfo != null) { |
| | | JSONArray array = new JSONArray(); |
| | | for (PlayControls pc : vinfo.getPlayControls()) { |
| | | if (pc.getPlatformId() == 15)// 移动端 |
| | | array.add(new Gson().toJson(pc)); |
| | | } |
| | | info.setPlaycontrols(array.toString()); |
| | | iqiyiVideoInfoDao.update(info); |
| | | info = vinfo; |
| | | } |
| | | public final static int RESOURCE_ID = 13; |
| | | public final static String RESOURCE_NAME = "爱奇艺"; |
| | | |
| | | int type = PLAY_NONE; |
| | | public final int PLAY_NONE = 0;// 不能播放 |
| | | public final int PLAY_HTML = 1;// 跳转移动端网页播放 |
| | | public final int PLAY_SWF = 2;// 嵌套网页播放 |
| | | |
| | | if (info.getVideoStatus() == 0) |
| | | type = PLAY_NONE; |
| | | public int getPlayType(IqiyiVideoInfo info) { |
| | | IqiyiVideoInfo vinfo = IqiYiAPI.getVideoInfo(info.getTvId() + ""); |
| | | if (vinfo == null) |
| | | LogHelper.iqiyi(info.getTvId()); |
| | | if (vinfo != null) { |
| | | JSONArray array = new JSONArray(); |
| | | for (PlayControls pc : vinfo.getPlayControls()) { |
| | | if (pc.getPlatformId() == 15)// 移动端 |
| | | array.add(new Gson().toJson(pc)); |
| | | } |
| | | info.setPlaycontrols(array.toString()); |
| | | iqiyiVideoInfoDao.update(info); |
| | | info = vinfo; |
| | | } |
| | | |
| | | for (PlayControls pc : info.getPlayControls()) { |
| | | if (pc.getPlatformId() == 15)// 移动端 |
| | | { |
| | | if (pc.getAvailableStatus() == 1 && pc.getCooperationAllowed() == 1) |
| | | type = PLAY_SWF; |
| | | else if (pc.getAvailableStatus() == 1 && pc.getCooperationAllowed() == 0) |
| | | type = PLAY_HTML; |
| | | } |
| | | } |
| | | if (info.getCategoryId() == 1 || info.getCategoryId() == 2 || info.getCategoryId() == 4 |
| | | || info.getCategoryId() == 6) { |
| | | if (type == PLAY_SWF) |
| | | type = PLAY_HTML; |
| | | } else { |
| | | if (type == PLAY_SWF && info.getTimeLength() > 3600)// 1个小时以上的长视频 |
| | | type = PLAY_HTML; |
| | | } |
| | | int type = PLAY_NONE; |
| | | |
| | | return type; |
| | | } |
| | | if (info.getVideoStatus() == 0) |
| | | type = PLAY_NONE; |
| | | |
| | | public static String getAlbumTag(IqiyiAlbum album, Session session) { |
| | | String tag = ""; |
| | | if (album.getCategoryId() == 1) { |
| | | if (album.getSourceId() > 0) |
| | | tag = "更新至" + TimeUtil.getGernalTime(TimeUtil.convertGernalTime(album.getTvYear(), "yyyyMMdd"), |
| | | "yyyy-MM-dd"); |
| | | else |
| | | tag = "评分:" + album.getScore(); |
| | | } else if (album.getCategoryId() == 2) { |
| | | if (album.getSourceId() <= 0) {// 剧集形式 |
| | | IqiyiVideoInfo video = IqiyiService.getLatestVideoInfo(album.getAlbumId() + "", session); |
| | | for (PlayControls pc : info.getPlayControls()) { |
| | | if (pc.getPlatformId() == 15)// 移动端 |
| | | { |
| | | if (pc.getAvailableStatus() == 1 && pc.getCooperationAllowed() == 1) |
| | | type = PLAY_SWF; |
| | | else if (pc.getAvailableStatus() == 1 && pc.getCooperationAllowed() == 0) |
| | | type = PLAY_HTML; |
| | | } |
| | | } |
| | | if (info.getCategoryId() == 1 || info.getCategoryId() == 2 || info.getCategoryId() == 4 |
| | | || info.getCategoryId() == 6) { |
| | | if (type == PLAY_SWF) |
| | | type = PLAY_HTML; |
| | | } else { |
| | | if (type == PLAY_SWF && info.getTimeLength() > 3600)// 1个小时以上的长视频 |
| | | type = PLAY_HTML; |
| | | } |
| | | |
| | | if (video == null) { |
| | | JSONArray array = JSONArray.fromObject(album.getTvIds()); |
| | | for (int i = 0; i < array.size(); i++) |
| | | IqiYiAPI.getVideoInfo(array.optString(i)); |
| | | return type; |
| | | } |
| | | |
| | | if (array.size() > 0) |
| | | return ""; |
| | | } |
| | | public static String getAlbumTag(IqiyiAlbum album, Session session) { |
| | | String tag = ""; |
| | | if (album.getCategoryId() == 1) { |
| | | if (album.getSourceId() > 0) |
| | | tag = "更新至" + TimeUtil.getGernalTime(TimeUtil.convertGernalTime(album.getTvYear(), "yyyyMMdd"), |
| | | "yyyy-MM-dd"); |
| | | else |
| | | tag = "评分:" + album.getScore(); |
| | | } else if (album.getCategoryId() == 2) { |
| | | if (album.getSourceId() <= 0) {// 剧集形式 |
| | | IqiyiVideoInfo video = IqiyiService.getLatestVideoInfo(album.getAlbumId() + "", session); |
| | | |
| | | tag = "更新至" + video.getPlayOrder() + "集"; |
| | | if (video.getPlayOrder() == album.getSets()) { |
| | | tag = album.getSets() + "集全"; |
| | | } |
| | | } else {// 日期形式 |
| | | tag = "更新至" + TimeUtil.getGernalTime(TimeUtil.convertGernalTime(album.getTvYear(), "yyyyMMdd"), |
| | | "yyyy-MM-dd"); |
| | | } |
| | | } else if (album.getCategoryId() == 6) { |
| | | tag = "更新至" |
| | | + TimeUtil.getGernalTime(TimeUtil.convertGernalTime(album.getTvYear(), "yyyyMMdd"), "yyyy-MM-dd") |
| | | + "期"; |
| | | } else if (album.getCategoryId() == 4) { |
| | | if (album.getSourceId() <= 0) {// 剧集形式 |
| | | if (video == null) { |
| | | JSONArray array = JSONArray.fromObject(album.getTvIds()); |
| | | for (int i = 0; i < array.size(); i++) |
| | | IqiYiAPI.getVideoInfo(array.optString(i)); |
| | | |
| | | IqiyiVideoInfo video = IqiyiService.getLatestVideoInfo(album.getAlbumId() + "", session); |
| | | if (video == null) { |
| | | JSONArray array = JSONArray.fromObject(album.getTvIds()); |
| | | for (int i = 0; i < array.size(); i++) |
| | | IqiYiAPI.getVideoInfo(array.optString(i)); |
| | | if (array.size() > 0) |
| | | return ""; |
| | | } |
| | | |
| | | if (array.size() > 0) |
| | | getAlbumTag(album, session); |
| | | } |
| | | tag = "更新至" + video.getPlayOrder() + "集"; |
| | | if (video.getPlayOrder() == album.getSets()) { |
| | | tag = album.getSets() + "集全"; |
| | | } |
| | | } else {// 日期形式 |
| | | tag = "更新至" + TimeUtil.getGernalTime(TimeUtil.convertGernalTime(album.getTvYear(), "yyyyMMdd"), |
| | | "yyyy-MM-dd"); |
| | | } |
| | | } else if (album.getCategoryId() == 6) { |
| | | tag = "更新至" |
| | | + TimeUtil.getGernalTime(TimeUtil.convertGernalTime(album.getTvYear(), "yyyyMMdd"), "yyyy-MM-dd") |
| | | + "期"; |
| | | } else if (album.getCategoryId() == 4) { |
| | | if (album.getSourceId() <= 0) {// 剧集形式 |
| | | |
| | | tag = "更新至" + video.getPlayOrder() + "集"; |
| | | if (video.getPlayOrder() == album.getSets()) { |
| | | tag = album.getSets() + "集全"; |
| | | } |
| | | } else |
| | | tag = "更新至" + TimeUtil.getGernalTime(TimeUtil.convertGernalTime(album.getTvYear(), "yyyyMMdd"), |
| | | "yyyy-MM-dd"); |
| | | } |
| | | return tag; |
| | | } |
| | | IqiyiVideoInfo video = IqiyiService.getLatestVideoInfo(album.getAlbumId() + "", session); |
| | | if (video == null) { |
| | | JSONArray array = JSONArray.fromObject(album.getTvIds()); |
| | | for (int i = 0; i < array.size(); i++) |
| | | IqiYiAPI.getVideoInfo(array.optString(i)); |
| | | |
| | | public static long getType(int categoryId) { |
| | | if (categoryId == 1) {// 电影 |
| | | return 151; |
| | | } else if (categoryId == 2) {// 电视剧 |
| | | return 150; |
| | | } else if (categoryId == 3) {// 娱乐 |
| | | return 155; |
| | | } else if (categoryId == 4) {// 动漫 |
| | | return 153; |
| | | } else if (categoryId == 5) {// 音乐 |
| | | return 155; |
| | | } else if (categoryId == 6) {// 综艺 |
| | | return 153; |
| | | } else if (categoryId == 7) {// 娱乐 |
| | | return 155; |
| | | } else if (categoryId == 8) {// 游戏 |
| | | return 154; |
| | | } else if (categoryId == 9) {// |
| | | return 151; |
| | | } else if (categoryId == 10) {// 片花 |
| | | return 152; |
| | | } else if (categoryId == 12) {// 教育 |
| | | return 157; |
| | | } else if (categoryId == 13) {// 时尚 |
| | | return 157; |
| | | } else if (categoryId == 15) {// 少儿 |
| | | return 157; |
| | | } else if (categoryId == 17) {// 体育 |
| | | return 158; |
| | | } else if (categoryId == 21) {// 生活 |
| | | return 157; |
| | | } else if (categoryId == 22) {// 搞笑 |
| | | return 155; |
| | | } else if (categoryId == 25) {// 资讯 |
| | | return 159; |
| | | } else if (categoryId == 26) {// 汽车 |
| | | return 156; |
| | | } |
| | | if (array.size() > 0) |
| | | getAlbumTag(album, session); |
| | | } |
| | | |
| | | return categoryId; |
| | | } |
| | | tag = "更新至" + video.getPlayOrder() + "集"; |
| | | if (video.getPlayOrder() == album.getSets()) { |
| | | tag = album.getSets() + "集全"; |
| | | } |
| | | } else |
| | | tag = "更新至" + TimeUtil.getGernalTime(TimeUtil.convertGernalTime(album.getTvYear(), "yyyyMMdd"), |
| | | "yyyy-MM-dd"); |
| | | } |
| | | return tag; |
| | | } |
| | | |
| | | // 更新聚合形式的专辑 |
| | | public void updateSourceAlbum() { |
| | | List<List<String>> list = iqiyiService.getSourceAlbumList(); |
| | | for (int i = 0; i < list.size(); i++) { |
| | | Map<String, Object> map = IqiYiAPI.getAlbumList(list.get(i).get(1), list.get(i).get(0), 1, 1, -1);// addAlbum |
| | | int count = Integer.parseInt(map.get("count") + ""); |
| | | for (int n = 1; n < count / 100 + 2; n++) { |
| | | map = IqiYiAPI.getAlbumList(list.get(i).get(1), list.get(i).get(0), n, 100, -1); |
| | | List<IqiyiAlbum> dataList = (List<IqiyiAlbum>) map.get("data"); |
| | | if (dataList != null && dataList.size() > 0) |
| | | addAlbum(dataList); |
| | | } |
| | | } |
| | | } |
| | | public static long getType(int categoryId) { |
| | | if (categoryId == 1) {// 电影 |
| | | return 151; |
| | | } else if (categoryId == 2) {// 电视剧 |
| | | return 150; |
| | | } else if (categoryId == 3) {// 娱乐 |
| | | return 155; |
| | | } else if (categoryId == 4) {// 动漫 |
| | | return 153; |
| | | } else if (categoryId == 5) {// 音乐 |
| | | return 155; |
| | | } else if (categoryId == 6) {// 综艺 |
| | | return 153; |
| | | } else if (categoryId == 7) {// 娱乐 |
| | | return 155; |
| | | } else if (categoryId == 8) {// 游戏 |
| | | return 154; |
| | | } else if (categoryId == 9) {// |
| | | return 151; |
| | | } else if (categoryId == 10) {// 片花 |
| | | return 152; |
| | | } else if (categoryId == 12) {// 教育 |
| | | return 157; |
| | | } else if (categoryId == 13) {// 时尚 |
| | | return 157; |
| | | } else if (categoryId == 15) {// 少儿 |
| | | return 157; |
| | | } else if (categoryId == 17) {// 体育 |
| | | return 158; |
| | | } else if (categoryId == 21) {// 生活 |
| | | return 157; |
| | | } else if (categoryId == 22) {// 搞笑 |
| | | return 155; |
| | | } else if (categoryId == 25) {// 资讯 |
| | | return 159; |
| | | } else if (categoryId == 26) {// 汽车 |
| | | return 156; |
| | | } |
| | | |
| | | // 更新聚合形式的专辑 |
| | | public void updateSourceAlbum(String sourceId) { |
| | | List<IqiyiAlbum> dataAllList = new ArrayList<>(); |
| | | List<List<String>> list = iqiyiService.getSourceAlbumListBySourceId(sourceId); |
| | | for (int i = 0; i < list.size(); i++) { |
| | | Map<String, Object> map = IqiYiAPI.getAlbumList(list.get(i).get(1), list.get(i).get(0), 1, 1, -1);// addAlbum |
| | | int count = Integer.parseInt(map.get("count") + ""); |
| | | for (int n = 1; n < count / 100 + 2; n++) { |
| | | map = IqiYiAPI.getAlbumList(list.get(i).get(1), list.get(i).get(0), n, 100, -1); |
| | | List<IqiyiAlbum> dataList = (List<IqiyiAlbum>) map.get("data"); |
| | | if (dataList != null && dataList.size() > 0) |
| | | dataAllList.addAll(dataList); |
| | | } |
| | | } |
| | | return categoryId; |
| | | } |
| | | |
| | | for (int i = 0; i < dataAllList.size(); i++) { |
| | | if (dataAllList.get(i).getContentType() != 1) { |
| | | dataAllList.remove(i); |
| | | i--; |
| | | } |
| | | } |
| | | |
| | | addAlbum(dataAllList); |
| | | } |
| | | // 更新聚合形式的专辑 |
| | | public void updateSourceAlbum(String sourceId) { |
| | | List<IqiyiAlbum> dataAllList = new ArrayList<>(); |
| | | List<List<String>> list = iqiyiService.getSourceAlbumListBySourceId(sourceId); |
| | | for (int i = 0; i < list.size(); i++) { |
| | | Map<String, Object> map = IqiYiAPI.getAlbumList(list.get(i).get(1), list.get(i).get(0), 1, 1, -1);// addAlbum |
| | | int count = Integer.parseInt(map.get("count") + ""); |
| | | for (int n = 1; n < count / 100 + 2; n++) { |
| | | map = IqiYiAPI.getAlbumList(list.get(i).get(1), list.get(i).get(0), n, 100, -1); |
| | | List<IqiyiAlbum> dataList = (List<IqiyiAlbum>) map.get("data"); |
| | | if (dataList != null && dataList.size() > 0) |
| | | dataAllList.addAll(dataList); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 更新所有的专辑 |
| | | */ |
| | | public void updateAllAlbum() { |
| | | List<IqiyiChannel> chalList = IqiYiAPI.getChannelList(); |
| | | for (int c = 0; c < chalList.size(); c++) { |
| | | final String channelId = chalList.get(c).getCategoryId(); |
| | | new Timer().schedule(new TimerTask() { |
| | | for (int i = 0; i < dataAllList.size(); i++) { |
| | | if (dataAllList.get(i).getContentType() != 1) { |
| | | dataAllList.remove(i); |
| | | i--; |
| | | } |
| | | } |
| | | |
| | | @SuppressWarnings("unchecked") |
| | | @Override |
| | | public void run() {// 两个小时更新一次 |
| | | long endt = System.currentTimeMillis(); |
| | | Map<String, Object> map = IqiYiAPI.updateAlbum( |
| | | TimeUtil.getGernalTime(endt - 1000 * 60 * 150L, "yyyyMMddHHmmss"), |
| | | TimeUtil.getGernalTime(endt, "yyyyMMddHHmmss"), null, 100, Integer.parseInt(channelId),0); |
| | | int count = Integer.parseInt(map.get("count") + ""); |
| | | List<IqiyiAlbum> list = (List<IqiyiAlbum>) map.get("data"); |
| | | addAlbum(list); |
| | | list.clear(); |
| | | addAlbum(dataAllList); |
| | | } |
| | | |
| | | if (count > 100) { |
| | | for (int i = 2; i < count / 100 + 2; i++) { |
| | | map = IqiYiAPI.updateAlbum( |
| | | TimeUtil.getGernalTime(endt - 1000 * 60 * 60 * 3, "yyyyMMddHHmmss"), |
| | | TimeUtil.getGernalTime(endt, "yyyyMMddHHmmss"), |
| | | list.get(list.size() - 1).getAlbumId(), 100, Integer.parseInt(channelId),0); |
| | | list = (List<IqiyiAlbum>) map.get("data"); |
| | | addAlbum(list); |
| | | } |
| | | } |
| | | } |
| | | }, 0, 1000 * 60 * 60 * 2L); |
| | | } |
| | | } |
| | | public void updateAll(final String key) { |
| | | List<IqiyiChannel> chalList = IqiYiAPI.getChannelList(); |
| | | LogHelper.iqiyi("更新" + chalList.size() + "个分类"); |
| | | for (int c = 0; c < chalList.size(); c++) { |
| | | final String channelId = chalList.get(c).getCategoryId(); |
| | | final IqiyiChannel channel = chalList.get(c); |
| | | //排除正片的更新 |
| | | boolean update = true; |
| | | String[] channelIds = new String[]{"1", "2", "4", "6"}; |
| | | for (String cId : channelIds) |
| | | if (cId.equalsIgnoreCase(channelId)) { |
| | | update = false; |
| | | break; |
| | | } |
| | | if (!update) |
| | | break; |
| | | |
| | | public void updateAll(final String key) { |
| | | List<IqiyiChannel> chalList = IqiYiAPI.getChannelList(); |
| | | LogHelper.iqiyi("更新" + chalList.size() + "个分类"); |
| | | for (int c = 0; c < chalList.size(); c++) { |
| | | final String channelId = chalList.get(c).getCategoryId(); |
| | | final IqiyiChannel channel = chalList.get(c); |
| | | // if (!channel.getCategoryId().equalsIgnoreCase("1")) |
| | | // continue; |
| | | LogHelper.iqiyi("更新" + channel.getCategoryName()); |
| | | new Timer().schedule(new TimerTask() { |
| | | LogHelper.iqiyi("更新" + channel.getCategoryName()); |
| | | new Timer().schedule(new TimerTask() { |
| | | |
| | | @SuppressWarnings("unchecked") |
| | | @Override |
| | | public void run() { |
| | | // if (!StringUtil.isNullOrEmpty(key) && |
| | | // !channel.getCategoryName().contains(key)) |
| | | // return; |
| | | @SuppressWarnings("unchecked") |
| | | @Override |
| | | public void run() { |
| | | // if (!StringUtil.isNullOrEmpty(key) && |
| | | // !channel.getCategoryName().contains(key)) |
| | | // return; |
| | | |
| | | long current = System.currentTimeMillis(); |
| | | long endt = System.currentTimeMillis(); |
| | | int day = 10; |
| | | long spaceTime = 1000 * 60 * 60 * 24 * 2L; |
| | | if ("2".equalsIgnoreCase(channelId) || "4".equalsIgnoreCase(channelId)) |
| | | day = 10; |
| | | else |
| | | day = 2; |
| | | long startt = endt - spaceTime;// 更新2天的 |
| | | long current = System.currentTimeMillis(); |
| | | long endt = System.currentTimeMillis(); |
| | | int day = 10; |
| | | long spaceTime = 1000 * 60 * 60 * 24 * 2L; |
| | | if ("2".equalsIgnoreCase(channelId) || "4".equalsIgnoreCase(channelId)) |
| | | day = 10; |
| | | else |
| | | day = 2; |
| | | long startt = endt - spaceTime;// 更新2天的 |
| | | |
| | | // 3小时为一个节点 |
| | | for (int p = 0; p < 8 * day; p++) { |
| | | endt = current - p * 3 * 1000 * 60 * 60L; |
| | | startt = endt - 3 * 1000 * 60 * 60L; |
| | | // 3小时为一个节点 |
| | | for (int p = 0; p < 8 * day; p++) { |
| | | endt = current - p * 3 * 1000 * 60 * 60L; |
| | | startt = endt - 3 * 1000 * 60 * 60L; |
| | | |
| | | String startTime = TimeUtil.getGernalTime(startt, "yyyyMMddHHmmss"); |
| | | String endTime = TimeUtil.getGernalTime(endt, "yyyyMMddHHmmss"); |
| | | int shortVideo = 0; |
| | | if ("7".equalsIgnoreCase(channelId) || "25".equalsIgnoreCase(channelId) |
| | | || "22".equalsIgnoreCase(channelId)||"1".equalsIgnoreCase(channelId)) |
| | | shortVideo = 1; |
| | | Map<String, Object> map = IqiYiAPI.updateAlbum(startTime, endTime, null, 20, |
| | | Integer.parseInt(channelId), shortVideo); |
| | | String startTime = TimeUtil.getGernalTime(startt, "yyyyMMddHHmmss"); |
| | | String endTime = TimeUtil.getGernalTime(endt, "yyyyMMddHHmmss"); |
| | | int shortVideo = 0; |
| | | if ("7".equalsIgnoreCase(channelId) || "25".equalsIgnoreCase(channelId) |
| | | || "22".equalsIgnoreCase(channelId) || "1".equalsIgnoreCase(channelId)) |
| | | shortVideo = 1; |
| | | Map<String, Object> map = IqiYiAPI.updateAlbum(startTime, endTime, null, 20, |
| | | Integer.parseInt(channelId), shortVideo); |
| | | |
| | | int count = Integer.parseInt(map.get("count") + ""); |
| | | if (count > 3000) |
| | | count = 3000; |
| | | System.out.println(channelId + "--" + channel.getCategoryName() + "--" + count); |
| | | List<IqiyiAlbum> list = null; |
| | | for (int i = 1; i < count / 100 + 2; i++) { |
| | | map = IqiYiAPI.updateAlbum(startTime, endTime, |
| | | (i == 1 ? null : list.get(list.size() - 1).getAlbumId()), 100, |
| | | Integer.parseInt(channelId), shortVideo); |
| | | list = (List<IqiyiAlbum>) map.get("data"); |
| | | System.out.println("频道名称" + channel.getCategoryName() + "页码:" + i); |
| | | addAlbum(list, channelId); |
| | | } |
| | | LogHelper.iqiyi("终于更新" + channel.getCategoryName() + "结束"); |
| | | } |
| | | } |
| | | }, 0); |
| | | } |
| | | } |
| | | int count = Integer.parseInt(map.get("count") + ""); |
| | | if (count > 3000) |
| | | count = 3000; |
| | | System.out.println(channelId + "--" + channel.getCategoryName() + "--" + count); |
| | | List<IqiyiAlbum> list = null; |
| | | for (int i = 1; i < count / 100 + 2; i++) { |
| | | map = IqiYiAPI.updateAlbum(startTime, endTime, |
| | | (i == 1 ? null : list.get(list.size() - 1).getAlbumId()), 100, |
| | | Integer.parseInt(channelId), shortVideo); |
| | | list = (List<IqiyiAlbum>) map.get("data"); |
| | | System.out.println("频道名称" + channel.getCategoryName() + "页码:" + i); |
| | | addAlbum(list, channelId); |
| | | } |
| | | LogHelper.iqiyi("终于更新" + channel.getCategoryName() + "结束"); |
| | | } |
| | | } |
| | | }, 0); |
| | | } |
| | | } |
| | | |
| | | public void updateAlbum(String aid) { |
| | | IqiyiAlbum album = IqiYiAPI.getAlbumDetail(aid); |
| | | if (album != null && album.getSourceId() > 0) { |
| | | updateSourceAlbum(album.getSourceId() + ""); |
| | | } |
| | | public void updateAlbum(String aid) { |
| | | IqiyiAlbum album = IqiYiAPI.getAlbumDetail(aid); |
| | | if (album != null && album.getSourceId() > 0) { |
| | | updateSourceAlbum(album.getSourceId() + ""); |
| | | } |
| | | |
| | | List<IqiyiAlbum> list = new ArrayList<IqiyiAlbum>(); |
| | | list.add(album); |
| | | addAlbum(list); |
| | | } |
| | | List<IqiyiAlbum> list = new ArrayList<IqiyiAlbum>(); |
| | | list.add(album); |
| | | addAlbum(list); |
| | | } |
| | | |
| | | public void updateAll(final int channelId, int hour) { |
| | | long endt = System.currentTimeMillis(); |
| | | long startt = endt - 1000 * 60 * 60L * hour; |
| | | String startTime = TimeUtil.getGernalTime(startt, "yyyyMMddHHmmss"); |
| | | String endTime = TimeUtil.getGernalTime(endt, "yyyyMMddHHmmss"); |
| | | Map<String, Object> map = IqiYiAPI.updateAlbum(startTime, endTime, null, 20, channelId,0); |
| | | public void updateAll(final int channelId, int hour) { |
| | | long endt = System.currentTimeMillis(); |
| | | long startt = endt - 1000 * 60 * 60L * hour; |
| | | String startTime = TimeUtil.getGernalTime(startt, "yyyyMMddHHmmss"); |
| | | String endTime = TimeUtil.getGernalTime(endt, "yyyyMMddHHmmss"); |
| | | Map<String, Object> map = IqiYiAPI.updateAlbum(startTime, endTime, null, 20, channelId, 0); |
| | | |
| | | int count = Integer.parseInt(map.get("count") + ""); |
| | | if (count > 3000) |
| | | count = 3000; |
| | | System.out.println(channelId + "--" + count); |
| | | List<IqiyiAlbum> list = null; |
| | | for (int i = 1; i < count / 100 + 2; i++) { |
| | | map = IqiYiAPI.updateAlbum(startTime, endTime, (i == 1 ? null : list.get(list.size() - 1).getAlbumId()), |
| | | 100, channelId,0); |
| | | list = (List<IqiyiAlbum>) map.get("data"); |
| | | System.out.println("页码:" + i); |
| | | addAlbum(list); |
| | | } |
| | | } |
| | | int count = Integer.parseInt(map.get("count") + ""); |
| | | if (count > 3000) |
| | | count = 3000; |
| | | System.out.println(channelId + "--" + count); |
| | | List<IqiyiAlbum> list = null; |
| | | for (int i = 1; i < count / 100 + 2; i++) { |
| | | map = IqiYiAPI.updateAlbum(startTime, endTime, (i == 1 ? null : list.get(list.size() - 1).getAlbumId()), |
| | | 100, channelId, 0); |
| | | list = (List<IqiyiAlbum>) map.get("data"); |
| | | System.out.println("页码:" + i); |
| | | addAlbum(list); |
| | | } |
| | | } |
| | | |
| | | @SuppressWarnings("unchecked") |
| | | public void parseAll() { |
| | | final List<IqiyiChannel> list = IqiYiAPI.getChannelList(); |
| | | for (int c = 1; c < list.size(); c++) { |
| | | final int p = c; |
| | | new Thread(new Runnable() { |
| | | @SuppressWarnings("unchecked") |
| | | public void parseAll() { |
| | | final List<IqiyiChannel> list = IqiYiAPI.getChannelList(); |
| | | for (int c = 1; c < list.size(); c++) { |
| | | final int p = c; |
| | | new Thread(new Runnable() { |
| | | |
| | | public void run() { |
| | | Map<String, Object> map = IqiYiAPI.getAlbumList(list.get(p).getCategoryId(), "", 1, 1, -1);// addAlbum |
| | | int count = Integer.parseInt(map.get("count") + ""); |
| | | if (count > 5000) |
| | | count = 5000; |
| | | for (int i = 1; i < count / 100 + 1; i++) {// 从后往前解析 |
| | | System.out.println("ChannelId:" + list.get(p).getCategoryId() + " ----page:" + i); |
| | | map = IqiYiAPI.getAlbumList(list.get(p).getCategoryId(), "", i, 100, -1);// addAlbum |
| | | List<IqiyiAlbum> dataList = (List<IqiyiAlbum>) map.get("data"); |
| | | addAlbum(dataList); |
| | | } |
| | | } |
| | | }).start(); |
| | | public void run() { |
| | | Map<String, Object> map = IqiYiAPI.getAlbumList(list.get(p).getCategoryId(), "", 1, 1, -1);// addAlbum |
| | | int count = Integer.parseInt(map.get("count") + ""); |
| | | if (count > 5000) |
| | | count = 5000; |
| | | for (int i = 1; i < count / 100 + 1; i++) {// 从后往前解析 |
| | | System.out.println("ChannelId:" + list.get(p).getCategoryId() + " ----page:" + i); |
| | | map = IqiYiAPI.getAlbumList(list.get(p).getCategoryId(), "", i, 100, -1);// addAlbum |
| | | List<IqiyiAlbum> dataList = (List<IqiyiAlbum>) map.get("data"); |
| | | addAlbum(dataList); |
| | | } |
| | | } |
| | | }).start(); |
| | | |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | public void addAlbum(List<IqiyiAlbum> list) { |
| | | addAlbum(list, "2"); |
| | | } |
| | | public void addAlbum(List<IqiyiAlbum> list) { |
| | | addAlbum(list, "2"); |
| | | } |
| | | |
| | | public void addAlbum(List<IqiyiAlbum> list, String channelId) { |
| | | Gson gson = new GsonBuilder().setVersion(1.0).create(); |
| | | if (list != null) |
| | | for (IqiyiAlbum ia : list) { |
| | | public void addAlbum(List<IqiyiAlbum> list, String channelId) { |
| | | Gson gson = new GsonBuilder().setVersion(1.0).create(); |
| | | if (list != null) |
| | | for (IqiyiAlbum ia : list) { |
| | | |
| | | // if (!ia.getAlbumName().contains("真爱的谎言之破冰者")) |
| | | // continue; |
| | | // if (!ia.getAlbumName().contains("真爱的谎言之破冰者")) |
| | | // continue; |
| | | |
| | | final String name = ia.getAlbumName(); |
| | | if (!(Boolean) videoResourceDao.excute(new HibernateCallback<Boolean>() { |
| | | public Boolean doInHibernate(Session session) throws HibernateException { |
| | | return JuheVideoUtil.isNeedAdd(session, name); |
| | | } |
| | | })) |
| | | continue; |
| | | final String name = ia.getAlbumName(); |
| | | if (!(Boolean) videoResourceDao.excute(new HibernateCallback<Boolean>() { |
| | | public Boolean doInHibernate(Session session) throws HibernateException { |
| | | return JuheVideoUtil.isNeedAdd(session, name); |
| | | } |
| | | })) |
| | | continue; |
| | | |
| | | System.out.println(ia.getAlbumName()); |
| | | if (ia.getAlbumName().contains("(VR)")) |
| | | continue; |
| | | System.out.println(ia.getAlbumName()); |
| | | if (ia.getAlbumName().contains("(VR)")) |
| | | continue; |
| | | |
| | | // if ((ia.getAlbumId() == ia.getOwnerAlbumId()) || |
| | | // ia.getOwnerAlbumId() == -1) { |
| | | // if ((ia.getAlbumId() == ia.getOwnerAlbumId()) || |
| | | // ia.getOwnerAlbumId() == -1) { |
| | | |
| | | try { |
| | | System.out.println(ia.getAlbumName()); |
| | | ia = IqiYiAPI.getAlbumDetail(ia.getAlbumId() + ""); |
| | | JSONArray array = JSONArray.fromObject(ia.getTvIds()); |
| | | List<IqiyiVideoInfo> videoList = new ArrayList<IqiyiVideoInfo>(); |
| | | for (int p = 0; p < array.size(); p++) { |
| | | IqiyiVideoInfo info = IqiYiAPI.getVideoInfo(array.optString(p)); |
| | | try { |
| | | System.out.println(ia.getAlbumName()); |
| | | ia = IqiYiAPI.getAlbumDetail(ia.getAlbumId() + ""); |
| | | JSONArray array = JSONArray.fromObject(ia.getTvIds()); |
| | | List<IqiyiVideoInfo> videoList = new ArrayList<IqiyiVideoInfo>(); |
| | | for (int p = 0; p < array.size(); p++) { |
| | | IqiyiVideoInfo info = IqiYiAPI.getVideoInfo(array.optString(p)); |
| | | |
| | | JSONArray obj = new JSONArray(); |
| | | for (PlayControls pc : info.getPlayControls()) |
| | | if (pc.getPlatformId() == 15 && pc.getAvailableStatus() == 1) { |
| | | obj.add(gson.toJson(pc)); |
| | | } |
| | | info.setPlaycontrols(obj.toString()); |
| | | if (info.getIsPurchase() == 0) |
| | | videoList.add(info); |
| | | } |
| | | JSONArray obj = new JSONArray(); |
| | | for (PlayControls pc : info.getPlayControls()) |
| | | if (pc.getPlatformId() == 15 && pc.getAvailableStatus() == 1) { |
| | | obj.add(gson.toJson(pc)); |
| | | } |
| | | info.setPlaycontrols(obj.toString()); |
| | | if (info.getIsPurchase() == 0) |
| | | videoList.add(info); |
| | | } |
| | | |
| | | Comparator<IqiyiVideoInfo> c = new Comparator<IqiyiVideoInfo>() { |
| | | Comparator<IqiyiVideoInfo> c = new Comparator<IqiyiVideoInfo>() { |
| | | |
| | | public int compare(IqiyiVideoInfo o1, IqiyiVideoInfo o2) { |
| | | return o2.getPlayOrder() - o1.getPlayOrder(); |
| | | } |
| | | }; |
| | | // if("2".equals(channelId)){ |
| | | LogHelper.iqiyi("名称:" + name + ":" + videoList.size()); |
| | | // } |
| | | Collections.sort(videoList, c); |
| | | // 此处暂时无效 |
| | | IqiyiVideoInfo latestInfo = iqiyiService.getLatestVideoInfo(ia.getAlbumId() + ""); |
| | | boolean isUpdate = false; |
| | | if (latestInfo != null && videoList.size() > 0) |
| | | isUpdate = videoList.get(0).getPlayOrder() > latestInfo.getPlayOrder(); |
| | | if (ia.getCategoryId() == 6) { |
| | | for (IqiyiVideoInfo video : videoList) |
| | | iqiyiService.deleteByTvId(video.getTvId() + ""); |
| | | } |
| | | public int compare(IqiyiVideoInfo o1, IqiyiVideoInfo o2) { |
| | | return o2.getPlayOrder() - o1.getPlayOrder(); |
| | | } |
| | | }; |
| | | // if("2".equals(channelId)){ |
| | | LogHelper.iqiyi("名称:" + name + ":" + videoList.size()); |
| | | // } |
| | | Collections.sort(videoList, c); |
| | | // 此处暂时无效 |
| | | IqiyiVideoInfo latestInfo = iqiyiService.getLatestVideoInfo(ia.getAlbumId() + ""); |
| | | boolean isUpdate = false; |
| | | if (latestInfo != null && videoList.size() > 0) |
| | | isUpdate = videoList.get(0).getPlayOrder() > latestInfo.getPlayOrder(); |
| | | if (ia.getCategoryId() == 6) { |
| | | for (IqiyiVideoInfo video : videoList) |
| | | iqiyiService.deleteByTvId(video.getTvId() + ""); |
| | | } |
| | | |
| | | String aid = iqiyiService.saveAlbumVideoInfo(ia, videoList);// 保存专辑与视频 |
| | | ia.setId(aid); |
| | | if (!StringUtil.isNullOrEmpty(aid)) { |
| | | String vid = iqiyiService.insertAlbumToVideoInfo(ia, videoList, isUpdate);// 将专辑加入到videoinfo |
| | | if (!StringUtil.isNullOrEmpty(vid)) |
| | | insertVideoToVideoType(vid); |
| | | } |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | } |
| | | // } |
| | | } |
| | | } |
| | | String aid = iqiyiService.saveAlbumVideoInfo(ia, videoList);// 保存专辑与视频 |
| | | ia.setId(aid); |
| | | if (!StringUtil.isNullOrEmpty(aid)) { |
| | | String vid = iqiyiService.insertAlbumToVideoInfo(ia, videoList, isUpdate);// 将专辑加入到videoinfo |
| | | if (!StringUtil.isNullOrEmpty(vid)) |
| | | insertVideoToVideoType(vid); |
| | | } |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | } |
| | | // } |
| | | } |
| | | } |
| | | |
| | | public void parseSingleAlbum(String albumId) { |
| | | Gson gson = new GsonBuilder().create(); |
| | | IqiyiAlbum ia = IqiYiAPI.getAlbumDetail(albumId); |
| | | JSONArray array = JSONArray.fromObject(ia.getTvIds()); |
| | | List<IqiyiVideoInfo> videoList = new ArrayList<IqiyiVideoInfo>(); |
| | | for (int p = 0; p < array.size(); p++) { |
| | | IqiyiVideoInfo info = IqiYiAPI.getVideoInfo(array.optString(p)); |
| | | public void parseSingleAlbum(String albumId) { |
| | | Gson gson = new GsonBuilder().create(); |
| | | IqiyiAlbum ia = IqiYiAPI.getAlbumDetail(albumId); |
| | | JSONArray array = JSONArray.fromObject(ia.getTvIds()); |
| | | List<IqiyiVideoInfo> videoList = new ArrayList<IqiyiVideoInfo>(); |
| | | for (int p = 0; p < array.size(); p++) { |
| | | IqiyiVideoInfo info = IqiYiAPI.getVideoInfo(array.optString(p)); |
| | | |
| | | JSONArray obj = new JSONArray(); |
| | | for (PlayControls pc : info.getPlayControls()) |
| | | if (pc.getPlatformId() == 14 || pc.getPlatformId() == 15) { |
| | | obj.add(gson.toJson(pc)); |
| | | } |
| | | info.setPlaycontrols(obj.toString()); |
| | | videoList.add(info); |
| | | } |
| | | JSONArray obj = new JSONArray(); |
| | | for (PlayControls pc : info.getPlayControls()) |
| | | if (pc.getPlatformId() == 14 || pc.getPlatformId() == 15) { |
| | | obj.add(gson.toJson(pc)); |
| | | } |
| | | info.setPlaycontrols(obj.toString()); |
| | | videoList.add(info); |
| | | } |
| | | |
| | | Comparator<IqiyiVideoInfo> c = new Comparator<IqiyiVideoInfo>() { |
| | | Comparator<IqiyiVideoInfo> c = new Comparator<IqiyiVideoInfo>() { |
| | | |
| | | public int compare(IqiyiVideoInfo o1, IqiyiVideoInfo o2) { |
| | | return o2.getPlayOrder() - o1.getPlayOrder(); |
| | | } |
| | | }; |
| | | public int compare(IqiyiVideoInfo o1, IqiyiVideoInfo o2) { |
| | | return o2.getPlayOrder() - o1.getPlayOrder(); |
| | | } |
| | | }; |
| | | |
| | | Collections.sort(videoList, c); |
| | | // 此处暂时无效 |
| | | IqiyiVideoInfo latestInfo = iqiyiService.getLatestVideoInfo(ia.getAlbumId() + ""); |
| | | boolean isUpdate = false; |
| | | if (latestInfo != null && videoList.size() > 0) |
| | | isUpdate = videoList.get(0).getPlayOrder() > latestInfo.getPlayOrder(); |
| | | Collections.sort(videoList, c); |
| | | // 此处暂时无效 |
| | | IqiyiVideoInfo latestInfo = iqiyiService.getLatestVideoInfo(ia.getAlbumId() + ""); |
| | | boolean isUpdate = false; |
| | | if (latestInfo != null && videoList.size() > 0) |
| | | isUpdate = videoList.get(0).getPlayOrder() > latestInfo.getPlayOrder(); |
| | | |
| | | String aid = iqiyiService.saveAlbumVideoInfo(ia, videoList);// 保存专辑与视频 |
| | | ia.setId(aid); |
| | | if (!StringUtil.isNullOrEmpty(aid)) { |
| | | String vid = iqiyiService.insertAlbumToVideoInfo(ia, videoList, isUpdate);// 将专辑加入到videoinfo |
| | | if (!StringUtil.isNullOrEmpty(vid)) |
| | | insertVideoToVideoType(vid); |
| | | } |
| | | } |
| | | String aid = iqiyiService.saveAlbumVideoInfo(ia, videoList);// 保存专辑与视频 |
| | | ia.setId(aid); |
| | | if (!StringUtil.isNullOrEmpty(aid)) { |
| | | String vid = iqiyiService.insertAlbumToVideoInfo(ia, videoList, isUpdate);// 将专辑加入到videoinfo |
| | | if (!StringUtil.isNullOrEmpty(vid)) |
| | | insertVideoToVideoType(vid); |
| | | } |
| | | } |
| | | |
| | | public PlayUrl getPlayUrl(String detailSystemId, String resourceId, String type, String id) { |
| | | logger.info(String.format("%s#%s#%s#%s", detailSystemId, resourceId, type, id)); |
| | | VideoResource vr = null; |
| | | vr = (VideoResource) videoResourceDao.find(VideoResource.class, resourceId); |
| | | public PlayUrl getPlayUrl(String detailSystemId, String resourceId, String type, String id) { |
| | | logger.info(String.format("%s#%s#%s#%s", detailSystemId, resourceId, type, id)); |
| | | VideoResource vr = null; |
| | | vr = (VideoResource) videoResourceDao.find(VideoResource.class, resourceId); |
| | | |
| | | long tvid = 0; |
| | | long tvid = 0; |
| | | |
| | | if (type.contains("album")) {// 专辑形式的 |
| | | List<IqiyiVideoInfo> infoList = iqiyiVideoInfoDao.list("from IqiyiVideoInfo i where i.albumId=?", |
| | | new String[] { id }); |
| | | if (infoList != null && infoList.size() > 0) {// 有数据 |
| | | tvid = infoList.get(0).getTvId(); |
| | | } |
| | | if (type.contains("album")) {// 专辑形式的 |
| | | List<IqiyiVideoInfo> infoList = iqiyiVideoInfoDao.list("from IqiyiVideoInfo i where i.albumId=?", |
| | | new String[]{id}); |
| | | if (infoList != null && infoList.size() > 0) {// 有数据 |
| | | tvid = infoList.get(0).getTvId(); |
| | | } |
| | | |
| | | } else if (type.contains("tv")) {// tv形式的 |
| | | } else if (type.contains("tv")) {// tv形式的 |
| | | |
| | | List<IqiyiVideoInfo> infoList = iqiyiVideoInfoDao.list("from IqiyiVideoInfo i where i.tvId=" + id); |
| | | if (infoList != null && infoList.size() > 0) {// 有数据 |
| | | tvid = infoList.get(0).getTvId(); |
| | | } |
| | | } |
| | | List<IqiyiVideoInfo> infoList = iqiyiVideoInfoDao.list("from IqiyiVideoInfo i where i.tvId=" + id); |
| | | if (infoList != null && infoList.size() > 0) {// 有数据 |
| | | tvid = infoList.get(0).getTvId(); |
| | | } |
| | | } |
| | | |
| | | if (tvid > 0) { |
| | | if (tvid > 0) { |
| | | |
| | | List<IqiyiVideoInfo> infoList = iqiyiVideoInfoDao.list("from IqiyiVideoInfo i where i.tvId=" + tvid); |
| | | IqiyiVideoInfo info = infoList.get(0); |
| | | List<IqiyiVideoInfo> infoList = iqiyiVideoInfoDao.list("from IqiyiVideoInfo i where i.tvId=" + tvid); |
| | | IqiyiVideoInfo info = infoList.get(0); |
| | | |
| | | if (!StringUtil.isNullOrEmpty(info.getPlaycontrols())) { |
| | | JSONArray array = JSONArray.fromObject(info.getPlaycontrols()); |
| | | Gson gson = new GsonBuilder().setVersion(1.0).create(); |
| | | for (int i = 0; i < array.size(); i++) { |
| | | if (info.getPlayControls() == null) |
| | | info.setPlayControls(new ArrayList<PlayControls>()); |
| | | info.getPlayControls().add(gson.fromJson(array.optJSONObject(i).toString(), PlayControls.class)); |
| | | } |
| | | } |
| | | int t = getPlayType(info); |
| | | if (info != null) |
| | | iqiyiService.addPlayStatistic(detailSystemId, info); |
| | | if (!StringUtil.isNullOrEmpty(info.getPlaycontrols())) { |
| | | JSONArray array = JSONArray.fromObject(info.getPlaycontrols()); |
| | | Gson gson = new GsonBuilder().setVersion(1.0).create(); |
| | | for (int i = 0; i < array.size(); i++) { |
| | | if (info.getPlayControls() == null) |
| | | info.setPlayControls(new ArrayList<PlayControls>()); |
| | | info.getPlayControls().add(gson.fromJson(array.optJSONObject(i).toString(), PlayControls.class)); |
| | | } |
| | | } |
| | | int t = getPlayType(info); |
| | | if (info != null) |
| | | iqiyiService.addPlayStatistic(detailSystemId, info); |
| | | |
| | | t = PLAY_HTML; |
| | | PlayUrl pu = new PlayUrl(); |
| | | pu.setParams(""); |
| | | pu.setPlayType(t); |
| | | pu.setResource(vr); |
| | | t = PLAY_HTML; |
| | | PlayUrl pu = new PlayUrl(); |
| | | pu.setParams(""); |
| | | pu.setPlayType(t); |
| | | pu.setResource(vr); |
| | | |
| | | if (t == PLAY_NONE) { |
| | | pu.setUrl(""); |
| | | } else if (t == PLAY_HTML) { |
| | | pu.setUrl(info.getHtml5PlayUrl()); |
| | | } else if (t == PLAY_SWF) { |
| | | if ("44".equalsIgnoreCase(detailSystemId)) |
| | | pu.setPlayType(PLAY_HTML); |
| | | pu.setUrl(info.getCommonSwf()); |
| | | } |
| | | if (t == PLAY_NONE) { |
| | | pu.setUrl(""); |
| | | } else if (t == PLAY_HTML) { |
| | | pu.setUrl(info.getHtml5PlayUrl()); |
| | | } else if (t == PLAY_SWF) { |
| | | if ("44".equalsIgnoreCase(detailSystemId)) |
| | | pu.setPlayType(PLAY_HTML); |
| | | pu.setUrl(info.getCommonSwf()); |
| | | } |
| | | |
| | | if (t == PLAY_NONE) { |
| | | LogHelper.iqiyi(tvid); |
| | | } |
| | | if (t == PLAY_NONE) { |
| | | LogHelper.iqiyi(tvid); |
| | | } |
| | | |
| | | return pu; |
| | | } |
| | | return null; |
| | | } |
| | | return pu; |
| | | } |
| | | return null; |
| | | } |
| | | |
| | | public int getShowType(String videoid) { |
| | | List<VideoIqiyi> list = videoIqiyiDao.list("from VideoIqiyi vi where vi.video.id=?", 0, 1, |
| | | new Serializable[] { videoid }); |
| | | if (list != null && list.size() > 0) |
| | | if (list.get(0).getAlbum().getCategoryId() == 1 || list.get(0).getAlbum().getCategoryId() == 6 |
| | | || list.get(0).getAlbum().getCategoryId() == 3) |
| | | return 1; |
| | | else if (list.get(0).getAlbum().getCategoryId() == 2 || list.get(0).getAlbum().getCategoryId() == 4) |
| | | return 2; |
| | | else if (list.get(0).getAlbum().getSourceId() > 0)// 长条 |
| | | return 1; |
| | | else |
| | | return 2;// 短条 |
| | | return 1; |
| | | } |
| | | public int getShowType(String videoid) { |
| | | List<VideoIqiyi> list = videoIqiyiDao.list("from VideoIqiyi vi where vi.video.id=?", 0, 1, |
| | | new Serializable[]{videoid}); |
| | | if (list != null && list.size() > 0) |
| | | if (list.get(0).getAlbum().getCategoryId() == 1 || list.get(0).getAlbum().getCategoryId() == 6 |
| | | || list.get(0).getAlbum().getCategoryId() == 3) |
| | | return 1; |
| | | else if (list.get(0).getAlbum().getCategoryId() == 2 || list.get(0).getAlbum().getCategoryId() == 4) |
| | | return 2; |
| | | else if (list.get(0).getAlbum().getSourceId() > 0)// 长条 |
| | | return 1; |
| | | else |
| | | return 2;// 短条 |
| | | return 1; |
| | | } |
| | | |
| | | public List<Integer> getMyCategory(int qiyiType) { |
| | | List<Integer> list = new ArrayList<Integer>(); |
| | | switch (qiyiType) { |
| | | public List<Integer> getMyCategory(int qiyiType) { |
| | | List<Integer> list = new ArrayList<Integer>(); |
| | | switch (qiyiType) { |
| | | |
| | | // 电影类型 |
| | | case 8: |
| | | list.add(172); |
| | | break;// 喜剧 |
| | | case 13: |
| | | list.add(173); |
| | | break;// 悲剧 |
| | | case 6: |
| | | list.add(174); |
| | | break;// 爱情 |
| | | case 11: |
| | | list.add(175); |
| | | break;// 动作 |
| | | case 131: |
| | | list.add(176); |
| | | break;// 枪战 |
| | | case 291: |
| | | list.add(177); |
| | | break;// 犯罪 |
| | | case 128: |
| | | list.add(178); |
| | | break;// 惊悚 |
| | | case 10: |
| | | list.add(179); |
| | | break;// 恐怖 |
| | | case 289: |
| | | list.add(180); |
| | | break;// 悬疑 |
| | | case 12: |
| | | list.add(181); |
| | | break;// 动画 |
| | | case 27356: |
| | | list.add(182); |
| | | break;// 家庭 |
| | | case 1284: |
| | | list.add(183); |
| | | break;// 奇幻 |
| | | case 129: |
| | | list.add(184); |
| | | break;// 魔幻 |
| | | case 9: |
| | | list.add(185); |
| | | break;// 科幻 |
| | | case 7: |
| | | list.add(186); |
| | | break;// 战争 |
| | | case 130: |
| | | list.add(251); |
| | | break;// 青春 |
| | | case 1007: |
| | | list.add(249); |
| | | break;// 电影片花 |
| | | // 电影类型 |
| | | case 8: |
| | | list.add(172); |
| | | break;// 喜剧 |
| | | case 13: |
| | | list.add(173); |
| | | break;// 悲剧 |
| | | case 6: |
| | | list.add(174); |
| | | break;// 爱情 |
| | | case 11: |
| | | list.add(175); |
| | | break;// 动作 |
| | | case 131: |
| | | list.add(176); |
| | | break;// 枪战 |
| | | case 291: |
| | | list.add(177); |
| | | break;// 犯罪 |
| | | case 128: |
| | | list.add(178); |
| | | break;// 惊悚 |
| | | case 10: |
| | | list.add(179); |
| | | break;// 恐怖 |
| | | case 289: |
| | | list.add(180); |
| | | break;// 悬疑 |
| | | case 12: |
| | | list.add(181); |
| | | break;// 动画 |
| | | case 27356: |
| | | list.add(182); |
| | | break;// 家庭 |
| | | case 1284: |
| | | list.add(183); |
| | | break;// 奇幻 |
| | | case 129: |
| | | list.add(184); |
| | | break;// 魔幻 |
| | | case 9: |
| | | list.add(185); |
| | | break;// 科幻 |
| | | case 7: |
| | | list.add(186); |
| | | break;// 战争 |
| | | case 130: |
| | | list.add(251); |
| | | break;// 青春 |
| | | case 1007: |
| | | list.add(249); |
| | | break;// 电影片花 |
| | | |
| | | // 电视剧 |
| | | case 20: |
| | | list.add(160); |
| | | break;// 言情剧 |
| | | case 21: |
| | | list.add(161); |
| | | break;// 历史剧 |
| | | case 23: |
| | | list.add(162); |
| | | break;// 武侠剧 |
| | | case 24: |
| | | list.add(163); |
| | | break;// 古装剧 |
| | | case 27: |
| | | list.add(164); |
| | | break;// 年代剧 |
| | | case 29: |
| | | list.add(165); |
| | | break;// 农村剧 |
| | | case 30: |
| | | list.add(166); |
| | | break;// 偶像剧 |
| | | case 32: |
| | | list.add(167); |
| | | break;// 悬疑剧 |
| | | case 34: |
| | | list.add(168); |
| | | break;// 科幻剧 |
| | | case 135: |
| | | list.add(169); |
| | | break;// 喜剧 |
| | | case 139: |
| | | list.add(170); |
| | | break;// 宫廷剧 |
| | | case 140: |
| | | list.add(171); |
| | | break;// 商战剧 |
| | | case 145: |
| | | list.add(252); |
| | | break;// 神话剧 |
| | | case 148: |
| | | list.add(253); |
| | | break;// 穿越剧 |
| | | case 149: |
| | | list.add(254); |
| | | break;// 罪案剧 |
| | | case 290: |
| | | list.add(255); |
| | | break;// 谍战剧 |
| | | case 1653: |
| | | list.add(256); |
| | | break;// 青春剧 |
| | | case 1654: |
| | | list.add(257); |
| | | break;// 家庭剧 |
| | | case 1655: |
| | | list.add(258); |
| | | break;// 军旅剧 |
| | | case 24063: |
| | | list.add(259); |
| | | break;// 剧情 |
| | | case 24064: |
| | | list.add(260); |
| | | break;// 都市 |
| | | case 24065: |
| | | list.add(261); |
| | | break;// 网络 |
| | | case 1006: |
| | | list.add(282);// 电视剧相关 |
| | | break;// 电视剧片花 |
| | | // 电视剧 |
| | | case 20: |
| | | list.add(160); |
| | | break;// 言情剧 |
| | | case 21: |
| | | list.add(161); |
| | | break;// 历史剧 |
| | | case 23: |
| | | list.add(162); |
| | | break;// 武侠剧 |
| | | case 24: |
| | | list.add(163); |
| | | break;// 古装剧 |
| | | case 27: |
| | | list.add(164); |
| | | break;// 年代剧 |
| | | case 29: |
| | | list.add(165); |
| | | break;// 农村剧 |
| | | case 30: |
| | | list.add(166); |
| | | break;// 偶像剧 |
| | | case 32: |
| | | list.add(167); |
| | | break;// 悬疑剧 |
| | | case 34: |
| | | list.add(168); |
| | | break;// 科幻剧 |
| | | case 135: |
| | | list.add(169); |
| | | break;// 喜剧 |
| | | case 139: |
| | | list.add(170); |
| | | break;// 宫廷剧 |
| | | case 140: |
| | | list.add(171); |
| | | break;// 商战剧 |
| | | case 145: |
| | | list.add(252); |
| | | break;// 神话剧 |
| | | case 148: |
| | | list.add(253); |
| | | break;// 穿越剧 |
| | | case 149: |
| | | list.add(254); |
| | | break;// 罪案剧 |
| | | case 290: |
| | | list.add(255); |
| | | break;// 谍战剧 |
| | | case 1653: |
| | | list.add(256); |
| | | break;// 青春剧 |
| | | case 1654: |
| | | list.add(257); |
| | | break;// 家庭剧 |
| | | case 1655: |
| | | list.add(258); |
| | | break;// 军旅剧 |
| | | case 24063: |
| | | list.add(259); |
| | | break;// 剧情 |
| | | case 24064: |
| | | list.add(260); |
| | | break;// 都市 |
| | | case 24065: |
| | | list.add(261); |
| | | break;// 网络 |
| | | case 1006: |
| | | list.add(282);// 电视剧相关 |
| | | break;// 电视剧片花 |
| | | |
| | | // 动漫 |
| | | // 动漫 |
| | | |
| | | case 41: |
| | | list.add(197); |
| | | break;// 动作 |
| | | case 41: |
| | | list.add(197); |
| | | break;// 动作 |
| | | |
| | | case 42: |
| | | list.add(198); |
| | | break;// 热血 |
| | | case 42: |
| | | list.add(198); |
| | | break;// 热血 |
| | | |
| | | case 43: |
| | | case 43: |
| | | |
| | | // 机战 |
| | | // 机战 |
| | | |
| | | case 44: |
| | | list.add(199); |
| | | break;// 战争 |
| | | case 44: |
| | | list.add(199); |
| | | break;// 战争 |
| | | |
| | | case 47: |
| | | list.add(200); |
| | | break;// 侦探 |
| | | case 47: |
| | | list.add(200); |
| | | break;// 侦探 |
| | | |
| | | case 48: |
| | | list.add(201); |
| | | break;// 冒险 |
| | | case 48: |
| | | list.add(201); |
| | | break;// 冒险 |
| | | |
| | | case 49: |
| | | // 竞技 |
| | | case 49: |
| | | // 竞技 |
| | | |
| | | case 50: |
| | | list.add(202); |
| | | break;// 体育 |
| | | case 50: |
| | | list.add(202); |
| | | break;// 体育 |
| | | |
| | | case 51: |
| | | list.add(204); |
| | | break;// 搞笑 |
| | | case 51: |
| | | list.add(204); |
| | | break;// 搞笑 |
| | | |
| | | case 52: |
| | | case 52: |
| | | |
| | | // 言情 |
| | | // 言情 |
| | | |
| | | case 53: |
| | | // 校园 |
| | | case 53: |
| | | // 校园 |
| | | |
| | | case 54: |
| | | list.add(205); |
| | | break;// 都市 |
| | | case 54: |
| | | list.add(205); |
| | | break;// 都市 |
| | | |
| | | case 55: |
| | | case 55: |
| | | |
| | | // 魔幻 |
| | | // 魔幻 |
| | | |
| | | case 56: |
| | | list.add(206); |
| | | break;// 科幻 |
| | | case 56: |
| | | list.add(206); |
| | | break;// 科幻 |
| | | |
| | | case 59: |
| | | list.add(207); |
| | | break;// 剧情 |
| | | case 59: |
| | | list.add(207); |
| | | break;// 剧情 |
| | | |
| | | case 60: |
| | | list.add(200); |
| | | break;// 悬疑 |
| | | case 60: |
| | | list.add(200); |
| | | break;// 悬疑 |
| | | |
| | | case 45: |
| | | // 古代 |
| | | case 45: |
| | | // 古代 |
| | | |
| | | case 46: |
| | | // 未来 |
| | | case 46: |
| | | // 未来 |
| | | |
| | | case 61: |
| | | // 宠物 |
| | | list.add(208); |
| | | break; |
| | | case 62: |
| | | // LOLI |
| | | case 63: |
| | | // ACG |
| | | case 64: |
| | | // Cosplay |
| | | case 61: |
| | | // 宠物 |
| | | list.add(208); |
| | | break; |
| | | case 62: |
| | | // LOLI |
| | | case 63: |
| | | // ACG |
| | | case 64: |
| | | // Cosplay |
| | | |
| | | list.add(283); |
| | | break; |
| | | case 297: |
| | | // 励志 |
| | | list.add(283); |
| | | break; |
| | | case 297: |
| | | // 励志 |
| | | |
| | | case 298: |
| | | // 益智 |
| | | case 298: |
| | | // 益智 |
| | | |
| | | case 299: |
| | | // 童话 |
| | | case 299: |
| | | // 童话 |
| | | |
| | | case 300: |
| | | // 真人 |
| | | case 300: |
| | | // 真人 |
| | | |
| | | case 301: |
| | | // 神话 |
| | | case 301: |
| | | // 神话 |
| | | |
| | | case 302: |
| | | // 青春 |
| | | case 302: |
| | | // 青春 |
| | | |
| | | case 316: |
| | | // 亲子 |
| | | case 316: |
| | | // 亲子 |
| | | |
| | | case 1092: |
| | | // 原创 |
| | | case 1092: |
| | | // 原创 |
| | | |
| | | case 1094: |
| | | // 传媒大学作品 |
| | | case 1094: |
| | | // 传媒大学作品 |
| | | |
| | | case 1095: |
| | | // 电影学院作品 |
| | | case 1095: |
| | | // 电影学院作品 |
| | | |
| | | case 1096: |
| | | // 动画电影 |
| | | case 1096: |
| | | // 动画电影 |
| | | |
| | | case 1108: |
| | | // 教育 |
| | | case 1108: |
| | | // 教育 |
| | | |
| | | case 1309: |
| | | // 怀旧 |
| | | list.add(208); |
| | | break; |
| | | case 2297: |
| | | // 同人 |
| | | case 2298: |
| | | list.add(283); |
| | | break;// 短片 |
| | | case 1309: |
| | | // 怀旧 |
| | | list.add(208); |
| | | break; |
| | | case 2297: |
| | | // 同人 |
| | | case 2298: |
| | | list.add(283); |
| | | break;// 短片 |
| | | |
| | | // 综艺 |
| | | case 155: |
| | | list.add(187); |
| | | break; // 播报 |
| | | case 156: |
| | | list.add(188); |
| | | break;// 访谈 |
| | | case 157: |
| | | list.add(189); |
| | | break;// 搞笑 |
| | | case 158: |
| | | list.add(190); |
| | | break;// 游戏 |
| | | case 159: |
| | | list.add(191); |
| | | break;// 选秀 |
| | | case 160: |
| | | list.add(192); |
| | | break;// 时尚 |
| | | case 163: |
| | | list.add(193); |
| | | break;// 情感 |
| | | case 292: |
| | | list.add(194); |
| | | break;// 盛会 |
| | | case 293: |
| | | list.add(195); |
| | | break;// 曲艺 |
| | | case 1002: |
| | | list.add(196); |
| | | break;// 粤语 |
| | | case 1003: |
| | | list.add(263); |
| | | list.add(228); |
| | | break;// 美食 |
| | | case 2117: |
| | | list.add(264); |
| | | break;// 少儿 |
| | | case 2118: |
| | | list.add(265); |
| | | break;// 脱口秀 |
| | | |
| | | case 2119:// 职场 |
| | | list.add(266); |
| | | break; |
| | | case 2120:// 相亲 |
| | | list.add(267); |
| | | break; |
| | | case 2121:// 歌舞 |
| | | list.add(268); |
| | | break; |
| | | case 2122:// 伦理 |
| | | list.add(269); |
| | | break; |
| | | case 2224:// 真人秀 |
| | | list.add(270); |
| | | break; |
| | | case 161:// 其它 |
| | | list.add(271); |
| | | break; |
| | | |
| | | // 纪录片 |
| | | case 70:// 人物 |
| | | |
| | | case 72:// 军事 |
| | | |
| | | case 74:// 历史 |
| | | // 综艺 |
| | | case 155: |
| | | list.add(187); |
| | | break; // 播报 |
| | | case 156: |
| | | list.add(188); |
| | | break;// 访谈 |
| | | case 157: |
| | | list.add(189); |
| | | break;// 搞笑 |
| | | case 158: |
| | | list.add(190); |
| | | break;// 游戏 |
| | | case 159: |
| | | list.add(191); |
| | | break;// 选秀 |
| | | case 160: |
| | | list.add(192); |
| | | break;// 时尚 |
| | | case 163: |
| | | list.add(193); |
| | | break;// 情感 |
| | | case 292: |
| | | list.add(194); |
| | | break;// 盛会 |
| | | case 293: |
| | | list.add(195); |
| | | break;// 曲艺 |
| | | case 1002: |
| | | list.add(196); |
| | | break;// 粤语 |
| | | case 1003: |
| | | list.add(263); |
| | | list.add(228); |
| | | break;// 美食 |
| | | case 2117: |
| | | list.add(264); |
| | | break;// 少儿 |
| | | case 2118: |
| | | list.add(265); |
| | | break;// 脱口秀 |
| | | |
| | | case 73:// 探索 |
| | | case 2119:// 职场 |
| | | list.add(266); |
| | | break; |
| | | case 2120:// 相亲 |
| | | list.add(267); |
| | | break; |
| | | case 2121:// 歌舞 |
| | | list.add(268); |
| | | break; |
| | | case 2122:// 伦理 |
| | | list.add(269); |
| | | break; |
| | | case 2224:// 真人秀 |
| | | list.add(270); |
| | | break; |
| | | case 161:// 其它 |
| | | list.add(271); |
| | | break; |
| | | |
| | | case 77:// 文化 |
| | | // 纪录片 |
| | | case 70:// 人物 |
| | | |
| | | case 71:// 社会 |
| | | case 72:// 军事 |
| | | |
| | | case 28119:// 科学 |
| | | case 74:// 历史 |
| | | |
| | | case 310:// 旅游 |
| | | case 73:// 探索 |
| | | |
| | | case 28137:// 真人秀 |
| | | case 77:// 文化 |
| | | |
| | | case 28138:// 政治 |
| | | case 71:// 社会 |
| | | |
| | | break; |
| | | case 28119:// 科学 |
| | | |
| | | // 资讯 |
| | | case 20031:// 社会 |
| | | list.add(242); |
| | | break; |
| | | case 20321:// 科技 |
| | | list.add(244); |
| | | break; |
| | | case 21314:// 军事 |
| | | list.add(243); |
| | | break; |
| | | case 21315:// 评论 |
| | | list.add(291); |
| | | break; |
| | | case 21739:// 国内 |
| | | list.add(290); |
| | | break; |
| | | case 21740:// 国际 |
| | | list.add(290); |
| | | break; |
| | | case 310:// 旅游 |
| | | |
| | | // 娱乐 |
| | | case 169:// 独家 |
| | | case 28137:// 真人秀 |
| | | |
| | | case 170:// 热点 |
| | | case 28138:// 政治 |
| | | |
| | | case 171:// 原创 |
| | | break; |
| | | |
| | | case 175:// 八卦 |
| | | // 资讯 |
| | | case 20031:// 社会 |
| | | list.add(242); |
| | | break; |
| | | case 20321:// 科技 |
| | | list.add(244); |
| | | break; |
| | | case 21314:// 军事 |
| | | list.add(243); |
| | | break; |
| | | case 21315:// 评论 |
| | | list.add(291); |
| | | break; |
| | | case 21739:// 国内 |
| | | list.add(290); |
| | | break; |
| | | case 21740:// 国际 |
| | | list.add(290); |
| | | break; |
| | | |
| | | case 176:// 选秀 |
| | | // 娱乐 |
| | | case 169:// 独家 |
| | | |
| | | case 177:// 情感 |
| | | case 170:// 热点 |
| | | |
| | | case 178:// 时尚 |
| | | case 171:// 原创 |
| | | |
| | | case 179:// 游戏 |
| | | case 175:// 八卦 |
| | | |
| | | case 180:// 搞笑 |
| | | case 176:// 选秀 |
| | | |
| | | case 182:// 颁奖 |
| | | case 177:// 情感 |
| | | |
| | | case 183:// 活动 |
| | | case 178:// 时尚 |
| | | |
| | | case 349:// 结婚 |
| | | case 179:// 游戏 |
| | | |
| | | case 350:// 去世 |
| | | case 180:// 搞笑 |
| | | |
| | | case 351:// 生子 |
| | | case 182:// 颁奖 |
| | | |
| | | case 352:// 探班 |
| | | case 183:// 活动 |
| | | |
| | | case 353:// 事故 |
| | | case 349:// 结婚 |
| | | |
| | | case 637:// 票房 |
| | | case 350:// 去世 |
| | | |
| | | case 950:// 盘点 |
| | | case 351:// 生子 |
| | | |
| | | case 951:// 纠纷 |
| | | case 352:// 探班 |
| | | |
| | | case 952:// 官司 |
| | | case 353:// 事故 |
| | | |
| | | case 1001:// 星座 |
| | | case 637:// 票房 |
| | | |
| | | case 1088:// 演唱会 |
| | | case 950:// 盘点 |
| | | |
| | | case 1657:// 环保 |
| | | case 951:// 纠纷 |
| | | |
| | | case 1658:// 慈善 |
| | | list.add(219); |
| | | case 952:// 官司 |
| | | |
| | | break; |
| | | case 1001:// 星座 |
| | | |
| | | // 财经 |
| | | case 2233: |
| | | // 宏观 |
| | | case 2234: |
| | | // 民生 |
| | | case 2235: |
| | | // 产经 |
| | | case 2236: |
| | | // 市场 |
| | | case 2237: |
| | | // 理财 |
| | | case 2238: |
| | | list.add(227); |
| | | break; // 访谈 |
| | | case 1088:// 演唱会 |
| | | |
| | | // 微电影 |
| | | case 1293: |
| | | case 1294: |
| | | case 1295: |
| | | case 1296: |
| | | case 1297: |
| | | case 1298: |
| | | case 1299: |
| | | case 1300: |
| | | case 1301: |
| | | case 1302: |
| | | case 1303: |
| | | case 1304: |
| | | case 1305: |
| | | case 1306: |
| | | case 1307: |
| | | case 1315: |
| | | case 2287: |
| | | case 2289: |
| | | case 2290: |
| | | case 2329: |
| | | case 1308: |
| | | case 1657:// 环保 |
| | | |
| | | break; |
| | | case 1658:// 慈善 |
| | | list.add(219); |
| | | |
| | | // 游戏 |
| | | case 21275: |
| | | // 网络游戏 |
| | | case 21276: |
| | | list.add(212); |
| | | break;// 电子竞技 |
| | | case 21277: |
| | | list.add(213); |
| | | break;// 单机游戏 |
| | | case 21278: |
| | | list.add(214); |
| | | break;// 手机游戏 |
| | | case 21279: |
| | | list.add(272); |
| | | break;// 游戏美女 |
| | | break; |
| | | |
| | | // 音乐 |
| | | case 23556: |
| | | list.add(301); |
| | | break;// 单曲MV |
| | | case 23557: |
| | | list.add(301); |
| | | break;// 单曲现场 |
| | | case 23558: |
| | | list.add(301); |
| | | break;// 演唱会 |
| | | case 23559: |
| | | // 新闻 |
| | | case 23560: |
| | | // 访谈 |
| | | case 23561: |
| | | // 音乐记录 |
| | | case 23562: |
| | | // 财经 |
| | | case 2233: |
| | | // 宏观 |
| | | case 2234: |
| | | // 民生 |
| | | case 2235: |
| | | // 产经 |
| | | case 2236: |
| | | // 市场 |
| | | case 2237: |
| | | // 理财 |
| | | case 2238: |
| | | list.add(227); |
| | | break; // 访谈 |
| | | |
| | | // 音乐周边 |
| | | case 23563: |
| | | list.add(280); |
| | | break;// 音乐节目 |
| | | case 23564: |
| | | list.add(279); |
| | | break;// 影视原声 |
| | | case 23565: |
| | | list.add(280); |
| | | break;// 音乐短片 |
| | | case 23566: |
| | | list.add(280); |
| | | break;// 其他 |
| | | // 微电影 |
| | | case 1293: |
| | | case 1294: |
| | | case 1295: |
| | | case 1296: |
| | | case 1297: |
| | | case 1298: |
| | | case 1299: |
| | | case 1300: |
| | | case 1301: |
| | | case 1302: |
| | | case 1303: |
| | | case 1304: |
| | | case 1305: |
| | | case 1306: |
| | | case 1307: |
| | | case 1315: |
| | | case 2287: |
| | | case 2289: |
| | | case 2290: |
| | | case 2329: |
| | | case 1308: |
| | | |
| | | // 军事 |
| | | case 21789: |
| | | // 军情 |
| | | case 21790: |
| | | // 深度 |
| | | case 21791: |
| | | // 兵器 |
| | | case 21792: |
| | | // 战史 |
| | | case 21793: |
| | | list.add(223); |
| | | break;// 人物 |
| | | break; |
| | | |
| | | // 教育 |
| | | case 1934:// 幼儿 |
| | | break; |
| | | case 1935:// 小学 |
| | | break; |
| | | case 1936:// 初中 |
| | | break; |
| | | case 1937:// 高中 |
| | | break; |
| | | case 1939:// 外语学习 |
| | | // 游戏 |
| | | case 21275: |
| | | // 网络游戏 |
| | | case 21276: |
| | | list.add(212); |
| | | break;// 电子竞技 |
| | | case 21277: |
| | | list.add(213); |
| | | break;// 单机游戏 |
| | | case 21278: |
| | | list.add(214); |
| | | break;// 手机游戏 |
| | | case 21279: |
| | | list.add(272); |
| | | break;// 游戏美女 |
| | | |
| | | case 1940:// 职业教育 |
| | | // 音乐 |
| | | case 23556: |
| | | list.add(301); |
| | | break;// 单曲MV |
| | | case 23557: |
| | | list.add(301); |
| | | break;// 单曲现场 |
| | | case 23558: |
| | | list.add(301); |
| | | break;// 演唱会 |
| | | case 23559: |
| | | // 新闻 |
| | | case 23560: |
| | | // 访谈 |
| | | case 23561: |
| | | // 音乐记录 |
| | | case 23562: |
| | | |
| | | case 1941:// 管理培训 |
| | | // 音乐周边 |
| | | case 23563: |
| | | list.add(280); |
| | | break;// 音乐节目 |
| | | case 23564: |
| | | list.add(279); |
| | | break;// 影视原声 |
| | | case 23565: |
| | | list.add(280); |
| | | break;// 音乐短片 |
| | | case 23566: |
| | | list.add(280); |
| | | break;// 其他 |
| | | |
| | | case 2111:// 学历教育 |
| | | // 军事 |
| | | case 21789: |
| | | // 军情 |
| | | case 21790: |
| | | // 深度 |
| | | case 21791: |
| | | // 兵器 |
| | | case 21792: |
| | | // 战史 |
| | | case 21793: |
| | | list.add(223); |
| | | break;// 人物 |
| | | |
| | | case 2124:// 公开课 |
| | | case 28524:// 教育咨询 |
| | | case 21436:// 实用教程 |
| | | case 28530:// 文化艺术 |
| | | list.add(225); |
| | | break; |
| | | // 教育 |
| | | case 1934:// 幼儿 |
| | | break; |
| | | case 1935:// 小学 |
| | | break; |
| | | case 1936:// 初中 |
| | | break; |
| | | case 1937:// 高中 |
| | | break; |
| | | case 1939:// 外语学习 |
| | | |
| | | // 体育 |
| | | case 1673: |
| | | break;// 足球 |
| | | case 1688: |
| | | break;// 篮球 |
| | | case 1700: |
| | | break;// 网球 |
| | | case 1707: |
| | | list.add(292); |
| | | break;// 高尔夫 |
| | | case 1708: |
| | | list.add(294); |
| | | break;// 赛车 |
| | | case 1711: |
| | | list.add(234); |
| | | break;// 极限运动 |
| | | case 1712: |
| | | list.add(293); |
| | | break;// 台球 |
| | | case 22178: |
| | | list.add(235); |
| | | break;// 健身 |
| | | case 1715: |
| | | list.add(287); |
| | | break;// 其它 |
| | | case 1940:// 职业教育 |
| | | |
| | | // 旅游 |
| | | case 1941:// 管理培训 |
| | | |
| | | case 354: |
| | | // 风光 |
| | | case 2111:// 学历教育 |
| | | |
| | | case 355: |
| | | // 饮食 |
| | | case 2124:// 公开课 |
| | | case 28524:// 教育咨询 |
| | | case 21436:// 实用教程 |
| | | case 28530:// 文化艺术 |
| | | list.add(225); |
| | | break; |
| | | |
| | | case 356: |
| | | // 住宿 |
| | | // 体育 |
| | | case 1673: |
| | | break;// 足球 |
| | | case 1688: |
| | | break;// 篮球 |
| | | case 1700: |
| | | break;// 网球 |
| | | case 1707: |
| | | list.add(292); |
| | | break;// 高尔夫 |
| | | case 1708: |
| | | list.add(294); |
| | | break;// 赛车 |
| | | case 1711: |
| | | list.add(234); |
| | | break;// 极限运动 |
| | | case 1712: |
| | | list.add(293); |
| | | break;// 台球 |
| | | case 22178: |
| | | list.add(235); |
| | | break;// 健身 |
| | | case 1715: |
| | | list.add(287); |
| | | break;// 其它 |
| | | |
| | | case 357: |
| | | // 访谈 |
| | | // 旅游 |
| | | |
| | | case 638: |
| | | // 出行 |
| | | case 354: |
| | | // 风光 |
| | | |
| | | case 28065: |
| | | // 综艺 |
| | | case 355: |
| | | // 饮食 |
| | | |
| | | case 2328: |
| | | // 啪啪奇 |
| | | case 356: |
| | | // 住宿 |
| | | |
| | | case 639: |
| | | list.add(229); |
| | | break;// 奇趣 |
| | | case 357: |
| | | // 访谈 |
| | | |
| | | // 时尚 |
| | | case 1229: |
| | | // 公告牌 |
| | | case 638: |
| | | // 出行 |
| | | |
| | | case 1230: |
| | | // 奇艺自制 |
| | | case 28065: |
| | | // 综艺 |
| | | |
| | | case 1231: |
| | | // 热门综艺 |
| | | case 2328: |
| | | // 啪啪奇 |
| | | |
| | | case 1232: |
| | | // 名利场 |
| | | case 639: |
| | | list.add(229); |
| | | break;// 奇趣 |
| | | |
| | | case 1233: |
| | | // 趋势报道 |
| | | // 时尚 |
| | | case 1229: |
| | | // 公告牌 |
| | | |
| | | case 1234: |
| | | // 本季流行 |
| | | case 1230: |
| | | // 奇艺自制 |
| | | |
| | | case 1235: |
| | | // 秀场 |
| | | case 1231: |
| | | // 热门综艺 |
| | | |
| | | case 1236: |
| | | // 广告大片 |
| | | case 1232: |
| | | // 名利场 |
| | | |
| | | case 1237: |
| | | // 街拍 |
| | | case 1233: |
| | | // 趋势报道 |
| | | |
| | | case 1238: |
| | | // 人物 |
| | | case 1234: |
| | | // 本季流行 |
| | | |
| | | case 1239: |
| | | // 派对&);红毯 |
| | | case 1235: |
| | | // 秀场 |
| | | |
| | | case 1240: |
| | | // 乐活 |
| | | case 1236: |
| | | // 广告大片 |
| | | |
| | | case 1241: |
| | | list.add(232); |
| | | break;// 其它 |
| | | case 1237: |
| | | // 街拍 |
| | | |
| | | // 生活 |
| | | case 2218: |
| | | list.add(228); |
| | | break;// 美食 |
| | | case 1238: |
| | | // 人物 |
| | | |
| | | case 1879: |
| | | list.add(230); |
| | | break;// 家居 |
| | | case 1239: |
| | | // 派对&);红毯 |
| | | |
| | | case 2228: |
| | | list.add(230); |
| | | break;// 宠物 |
| | | case 1240: |
| | | // 乐活 |
| | | |
| | | case 1898: |
| | | list.add(232); |
| | | break;// 美尚 |
| | | case 1241: |
| | | list.add(232); |
| | | break;// 其它 |
| | | |
| | | case 1878: |
| | | list.add(230); |
| | | break;// 健康 |
| | | // 生活 |
| | | case 2218: |
| | | list.add(228); |
| | | break;// 美食 |
| | | |
| | | case 2226: |
| | | list.add(303); |
| | | break;// 舞蹈 |
| | | case 1879: |
| | | list.add(230); |
| | | break;// 家居 |
| | | |
| | | case 1873: |
| | | list.add(222); |
| | | break;// 科技 |
| | | case 2228: |
| | | list.add(230); |
| | | break;// 宠物 |
| | | |
| | | case 2225: |
| | | list.add(230); |
| | | break;// 健身 |
| | | case 1898: |
| | | list.add(232); |
| | | break;// 美尚 |
| | | |
| | | case 2115: |
| | | break;// 婚嫁 |
| | | case 1878: |
| | | list.add(230); |
| | | break;// 健康 |
| | | |
| | | case 2230: |
| | | break;// 情感 |
| | | case 2226: |
| | | list.add(303); |
| | | break;// 舞蹈 |
| | | |
| | | case 1876: |
| | | list.add(288); |
| | | break;// 奇闻 |
| | | case 1873: |
| | | list.add(222); |
| | | break;// 科技 |
| | | |
| | | case 1899: |
| | | break;// 汽车 |
| | | case 2225: |
| | | list.add(230); |
| | | break;// 健身 |
| | | |
| | | case 2229: |
| | | list.add(286); |
| | | break;// 魔术 |
| | | case 2115: |
| | | break;// 婚嫁 |
| | | |
| | | case 2227: |
| | | break;// 休闲 |
| | | case 2230: |
| | | break;// 情感 |
| | | |
| | | case 28901: |
| | | break;// 书画 |
| | | case 1876: |
| | | list.add(288); |
| | | break;// 奇闻 |
| | | |
| | | // 汽车 |
| | | case 1899: |
| | | break;// 汽车 |
| | | |
| | | case 20529: |
| | | // 资讯 |
| | | case 2229: |
| | | list.add(286); |
| | | break;// 魔术 |
| | | |
| | | case 20530: |
| | | // 专访 |
| | | case 2227: |
| | | break;// 休闲 |
| | | |
| | | case 20531: |
| | | // 新车 |
| | | case 28901: |
| | | break;// 书画 |
| | | |
| | | case 20532: |
| | | // 试驾 |
| | | // 汽车 |
| | | |
| | | case 20533: |
| | | // 用车 |
| | | case 20529: |
| | | // 资讯 |
| | | |
| | | case 20534: |
| | | // 赛事 |
| | | case 20530: |
| | | // 专访 |
| | | |
| | | case 20535: |
| | | // 交通 |
| | | case 20531: |
| | | // 新车 |
| | | |
| | | case 20536: |
| | | // 娱乐 |
| | | case 20532: |
| | | // 试驾 |
| | | |
| | | case 20537: |
| | | // 车模 |
| | | case 20533: |
| | | // 用车 |
| | | |
| | | case 20538: |
| | | // 改装 |
| | | case 20534: |
| | | // 赛事 |
| | | |
| | | case 20539: |
| | | // 车微剧 |
| | | case 20535: |
| | | // 交通 |
| | | |
| | | case 20540: |
| | | // 爱汽车制造 |
| | | case 20536: |
| | | // 娱乐 |
| | | |
| | | case 28463: |
| | | // 品牌 |
| | | case 20537: |
| | | // 车模 |
| | | |
| | | case 28464: |
| | | // 车展 |
| | | case 20538: |
| | | // 改装 |
| | | |
| | | case 28534: |
| | | // 航空 |
| | | case 20539: |
| | | // 车微剧 |
| | | |
| | | case 28535: |
| | | // 游艇 |
| | | case 20540: |
| | | // 爱汽车制造 |
| | | |
| | | case 28536: |
| | | list.add(226); |
| | | break;// 轨道 |
| | | case 28463: |
| | | // 品牌 |
| | | |
| | | // 搞笑 |
| | | case 28464: |
| | | // 车展 |
| | | |
| | | case 22169: |
| | | // 欢乐精选 |
| | | case 28534: |
| | | // 航空 |
| | | |
| | | case 29115: |
| | | // 娱乐八卦 |
| | | case 28535: |
| | | // 游艇 |
| | | |
| | | case 29116: |
| | | // 搞笑短片 |
| | | case 28536: |
| | | list.add(226); |
| | | break;// 轨道 |
| | | |
| | | case 29139: |
| | | // 影视剧吐槽 |
| | | // 搞笑 |
| | | |
| | | case 22172: |
| | | // 雷人囧事 |
| | | case 22169: |
| | | // 欢乐精选 |
| | | |
| | | case 22171: |
| | | // 爆笑节目 |
| | | case 29115: |
| | | // 娱乐八卦 |
| | | |
| | | case 1909: |
| | | // 童趣 |
| | | case 29116: |
| | | // 搞笑短片 |
| | | |
| | | case 1900: |
| | | // 奇闻趣事 |
| | | case 29139: |
| | | // 影视剧吐槽 |
| | | |
| | | case 1902: |
| | | case 22172: |
| | | // 雷人囧事 |
| | | |
| | | list.add(216); |
| | | break;// 恶搞配音 |
| | | case 1905: |
| | | list.add(216); |
| | | list.add(220); |
| | | // 萌宠 |
| | | break; |
| | | case 1903: |
| | | // 相声 |
| | | case 22171: |
| | | // 爆笑节目 |
| | | |
| | | case 1904: |
| | | list.add(217); |
| | | break;// 小品 |
| | | case 1909: |
| | | // 童趣 |
| | | |
| | | case 2327: |
| | | break;// 啪啪奇 |
| | | case 1900: |
| | | // 奇闻趣事 |
| | | |
| | | case 22170: |
| | | list.add(288); |
| | | // 猎奇 |
| | | break; |
| | | case 1902: |
| | | |
| | | // 母婴 |
| | | case 24083: |
| | | // 萌宝乐园 |
| | | list.add(216); |
| | | break;// 恶搞配音 |
| | | case 1905: |
| | | list.add(216); |
| | | list.add(220); |
| | | // 萌宠 |
| | | break; |
| | | case 1903: |
| | | // 相声 |
| | | |
| | | case 24084: |
| | | // 孕期 |
| | | case 1904: |
| | | list.add(217); |
| | | break;// 小品 |
| | | |
| | | case 24085: |
| | | // 分娩 |
| | | case 2327: |
| | | break;// 啪啪奇 |
| | | |
| | | case 24086: |
| | | // 妈咪饮食 |
| | | case 22170: |
| | | list.add(288); |
| | | // 猎奇 |
| | | break; |
| | | |
| | | case 24087: |
| | | // 宝宝饮食 |
| | | // 母婴 |
| | | case 24083: |
| | | // 萌宝乐园 |
| | | |
| | | case 24088: |
| | | // 早教课堂 |
| | | case 24084: |
| | | // 孕期 |
| | | |
| | | case 24089: |
| | | // 婴幼儿常见疾病 |
| | | case 24085: |
| | | // 分娩 |
| | | |
| | | case 27345: |
| | | // 时尚辣妈圈 |
| | | case 24086: |
| | | // 妈咪饮食 |
| | | |
| | | case 27350: |
| | | // 亲子生活馆 |
| | | case 24087: |
| | | // 宝宝饮食 |
| | | |
| | | case 29619: |
| | | // 宝宝养育 |
| | | case 24088: |
| | | // 早教课堂 |
| | | |
| | | case 29746: |
| | | break;// 趣味玩具 |
| | | case 24089: |
| | | // 婴幼儿常见疾病 |
| | | |
| | | // 科技 |
| | | case 27972: |
| | | // IT业界 |
| | | case 27345: |
| | | // 时尚辣妈圈 |
| | | |
| | | case 27973: |
| | | // 互联网 |
| | | case 27350: |
| | | // 亲子生活馆 |
| | | |
| | | case 28521: |
| | | // APP |
| | | case 29619: |
| | | // 宝宝养育 |
| | | |
| | | case 27942: |
| | | // 手机 |
| | | case 29746: |
| | | break;// 趣味玩具 |
| | | |
| | | case 27943: |
| | | // 笔记本 |
| | | // 科技 |
| | | case 27972: |
| | | // IT业界 |
| | | |
| | | case 27944: |
| | | // 智能硬件 |
| | | case 27973: |
| | | // 互联网 |
| | | |
| | | case 27945: |
| | | // 平板电脑 |
| | | case 28521: |
| | | // APP |
| | | |
| | | case 27946: |
| | | // 数码相机 |
| | | case 27942: |
| | | // 手机 |
| | | |
| | | case 27948: |
| | | // PC |
| | | case 27943: |
| | | // 笔记本 |
| | | |
| | | case 27949: |
| | | // 家电 |
| | | case 27944: |
| | | // 智能硬件 |
| | | |
| | | case 27950: |
| | | // 游戏机 |
| | | case 27945: |
| | | // 平板电脑 |
| | | |
| | | case 27953: |
| | | // 爱科技出品 |
| | | list.add(221); |
| | | break; |
| | | case 27951: |
| | | // 前沿技术 |
| | | case 27946: |
| | | // 数码相机 |
| | | |
| | | case 27952: |
| | | list.add(222); |
| | | break;// 科学探索 |
| | | case 27948: |
| | | // PC |
| | | |
| | | // 脱口秀 |
| | | case 27507: |
| | | // 文化 |
| | | case 27508: |
| | | // 娱乐 |
| | | case 27509: |
| | | // 访谈 |
| | | case 27510: |
| | | // 社会 |
| | | case 27511: |
| | | // 搞笑 |
| | | case 27512: |
| | | // 财经 |
| | | case 27513: |
| | | // 时尚 |
| | | case 27514: |
| | | // 历史 |
| | | case 29117: |
| | | break;// 电台 |
| | | case 27949: |
| | | // 家电 |
| | | |
| | | // 健康 |
| | | case 28068: |
| | | break;// 资讯 |
| | | case 27950: |
| | | // 游戏机 |
| | | |
| | | case 28069: |
| | | break;// 医疗 |
| | | case 27953: |
| | | // 爱科技出品 |
| | | list.add(221); |
| | | break; |
| | | case 27951: |
| | | // 前沿技术 |
| | | |
| | | case 28081: |
| | | list.add(230); |
| | | break;// 两性 |
| | | case 27952: |
| | | list.add(222); |
| | | break;// 科学探索 |
| | | |
| | | case 28082: |
| | | break;// 养生 |
| | | // 脱口秀 |
| | | case 27507: |
| | | // 文化 |
| | | case 27508: |
| | | // 娱乐 |
| | | case 27509: |
| | | // 访谈 |
| | | case 27510: |
| | | // 社会 |
| | | case 27511: |
| | | // 搞笑 |
| | | case 27512: |
| | | // 财经 |
| | | case 27513: |
| | | // 时尚 |
| | | case 27514: |
| | | // 历史 |
| | | case 29117: |
| | | break;// 电台 |
| | | |
| | | case 28441: |
| | | break;// 健身 |
| | | // 健康 |
| | | case 28068: |
| | | break;// 资讯 |
| | | |
| | | case 28449: |
| | | break;// 美容 |
| | | case 28069: |
| | | break;// 医疗 |
| | | |
| | | case 28450: |
| | | break;// 心理 |
| | | case 28081: |
| | | list.add(230); |
| | | break;// 两性 |
| | | |
| | | case 28451: |
| | | break;// 常识 |
| | | case 28082: |
| | | break;// 养生 |
| | | |
| | | case 28452: |
| | | break;// 儿科 |
| | | case 28441: |
| | | break;// 健身 |
| | | |
| | | case 28456: |
| | | break;// 老年 |
| | | case 28449: |
| | | break;// 美容 |
| | | |
| | | case 28459: |
| | | list.add(230); |
| | | break;// 宠物 |
| | | case 28450: |
| | | break;// 心理 |
| | | |
| | | case 28462: |
| | | break;// 交流分享 |
| | | case 28451: |
| | | break;// 常识 |
| | | |
| | | } |
| | | case 28452: |
| | | break;// 儿科 |
| | | |
| | | return list; |
| | | case 28456: |
| | | break;// 老年 |
| | | |
| | | } |
| | | case 28459: |
| | | list.add(230); |
| | | break;// 宠物 |
| | | |
| | | /** |
| | | * 将视频插入表 |
| | | * |
| | | * @param videoid |
| | | */ |
| | | public void insertVideoToVideoType(String videoid) { |
| | | case 28462: |
| | | break;// 交流分享 |
| | | |
| | | List<Integer> list = getVideoTypeList(videoid); |
| | | for (int vt : list) { |
| | | addVideoToVideoType(videoid, vt + ""); |
| | | } |
| | | } |
| | | |
| | | } |
| | | return list; |
| | | |
| | | public List<Integer> getVideoTypeList(String videoid) { |
| | | List<Integer> list = new ArrayList<Integer>(); |
| | | } |
| | | |
| | | List<VideoIqiyi> videoList = videoIqiyiDao.list(" from VideoIqiyi vi where vi.video.id=?", 0, 1, |
| | | new String[] { videoid }); |
| | | if (videoList != null && videoList.size() > 0) { |
| | | String threeCtgs = videoList.get(0).getAlbum().getThreeCtgs(); |
| | | JSONArray array = JSONArray.fromObject(threeCtgs); |
| | | for (int i = 0; i < array.size(); i++) { |
| | | List<Integer> typeList = getMyCategory(array.optJSONObject(i).optInt("id")); |
| | | for (Integer typeId : typeList) { |
| | | if (typeId > 0) { |
| | | if (!list.contains(typeId)) |
| | | list.add(typeId); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | /** |
| | | * 将视频插入表 |
| | | * |
| | | * @param videoid |
| | | */ |
| | | public void insertVideoToVideoType(String videoid) { |
| | | |
| | | // 如果为空值就加入默认分类 |
| | | if (list.size() == 0) |
| | | list.add(299); |
| | | List<Integer> list = getVideoTypeList(videoid); |
| | | for (int vt : list) { |
| | | addVideoToVideoType(videoid, vt + ""); |
| | | } |
| | | |
| | | return list; |
| | | } |
| | | } |
| | | |
| | | public void addVideoToVideoType(final String videoid, final String typeid) { |
| | | iqiyiVideoInfoDao.excute(new HibernateCallback() { |
| | | public Object doInHibernate(Session session) throws HibernateException { |
| | | try { |
| | | session.getTransaction().begin(); |
| | | Object obj = session |
| | | .createQuery( |
| | | "select count(*) from CategoryVideo cv where cv.video.id=? and cv.videoType.id=?") |
| | | .setParameter(0, videoid).setParameter(1, Long.parseLong(typeid)).uniqueResult(); |
| | | if (Integer.parseInt(obj + "") <= 0) { |
| | | CategoryVideo cv = new CategoryVideo(); |
| | | cv.setVideo(new VideoInfo(videoid)); |
| | | cv.setVideoType(new VideoType(Long.parseLong(typeid))); |
| | | session.persist(cv); |
| | | } |
| | | session.flush(); |
| | | session.getTransaction().commit(); |
| | | } catch (Exception e) { |
| | | logger.error("addVideoToVideoType"); |
| | | logger.error(e.getMessage()); |
| | | e.printStackTrace(); |
| | | } |
| | | return null; |
| | | } |
| | | }); |
| | | public List<Integer> getVideoTypeList(String videoid) { |
| | | List<Integer> list = new ArrayList<Integer>(); |
| | | |
| | | } |
| | | List<VideoIqiyi> videoList = videoIqiyiDao.list(" from VideoIqiyi vi where vi.video.id=?", 0, 1, |
| | | new String[]{videoid}); |
| | | if (videoList != null && videoList.size() > 0) { |
| | | String threeCtgs = videoList.get(0).getAlbum().getThreeCtgs(); |
| | | JSONArray array = JSONArray.fromObject(threeCtgs); |
| | | for (int i = 0; i < array.size(); i++) { |
| | | List<Integer> typeList = getMyCategory(array.optJSONObject(i).optInt("id")); |
| | | for (Integer typeId : typeList) { |
| | | if (typeId > 0) { |
| | | if (!list.contains(typeId)) |
| | | list.add(typeId); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | public String getHighVerPicture(String org) { |
| | | return org.replace(".jpg", "_260_360.jpg"); |
| | | } |
| | | // 如果为空值就加入默认分类 |
| | | if (list.size() == 0) |
| | | list.add(299); |
| | | |
| | | @SuppressWarnings("rawtypes") |
| | | public void updateIqiyiAvaiable() { |
| | | iqiyiVideoInfoDao.excute(new HibernateCallback() { |
| | | @SuppressWarnings("unchecked") |
| | | public Object doInHibernate(Session session) throws HibernateException { |
| | | for (int i = 0; i < 100; i++) { |
| | | List<IqiyiVideoInfo> list = session.createQuery("from IqiyiVideoInfo iv order by iv.id DESC") |
| | | .setFirstResult(i * 10000).setMaxResults(1000).list(); |
| | | return list; |
| | | } |
| | | |
| | | try { |
| | | for (IqiyiVideoInfo vi : list) { |
| | | if (!StringUtil.isNullOrEmpty(vi.getPlaycontrols())) { |
| | | JSONArray array = JSONArray.fromObject(vi.getPlaycontrols()); |
| | | Gson gson = new GsonBuilder().setVersion(1.0).create(); |
| | | for (int n = 0; n < array.size(); n++) { |
| | | if (vi.getPlayControls() == null) |
| | | vi.setPlayControls(new ArrayList<PlayControls>()); |
| | | vi.getPlayControls() |
| | | .add(gson.fromJson(array.optJSONObject(n).toString(), PlayControls.class)); |
| | | } |
| | | } |
| | | if (vi.getPlayControls() != null) |
| | | if (getPlayType(vi) == PLAY_NONE)// 隐藏该视频 |
| | | { |
| | | List ilist = session.createSQLQuery( |
| | | "SELECT i.`videoid` FROM wk_iqiyi_album_tvid tv LEFT JOIN wk_video_iqiyi i ON i.`albumid`=tv.`albumid` WHERE tv.`id`=" |
| | | + vi.getId()) |
| | | .list(); |
| | | if (ilist != null && ilist.size() > 0 |
| | | && !StringUtil.isNullOrEmpty(ilist.get(0) + "")) { |
| | | VideoInfo v = (VideoInfo) session.get(VideoInfo.class, ilist.get(0) + ""); |
| | | v.setShow("0"); |
| | | session.getTransaction().begin(); |
| | | session.update(v); |
| | | session.flush(); |
| | | session.getTransaction().commit(); |
| | | } |
| | | } |
| | | } |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | } |
| | | } |
| | | return null; |
| | | } |
| | | }); |
| | | public void addVideoToVideoType(final String videoid, final String typeid) { |
| | | iqiyiVideoInfoDao.excute(new HibernateCallback() { |
| | | public Object doInHibernate(Session session) throws HibernateException { |
| | | try { |
| | | session.getTransaction().begin(); |
| | | Object obj = session |
| | | .createQuery( |
| | | "select count(*) from CategoryVideo cv where cv.video.id=? and cv.videoType.id=?") |
| | | .setParameter(0, videoid).setParameter(1, Long.parseLong(typeid)).uniqueResult(); |
| | | if (Integer.parseInt(obj + "") <= 0) { |
| | | CategoryVideo cv = new CategoryVideo(); |
| | | cv.setVideo(new VideoInfo(videoid)); |
| | | cv.setVideoType(new VideoType(Long.parseLong(typeid))); |
| | | session.persist(cv); |
| | | } |
| | | session.flush(); |
| | | session.getTransaction().commit(); |
| | | } catch (Exception e) { |
| | | logger.error("addVideoToVideoType"); |
| | | logger.error(e.getMessage()); |
| | | e.printStackTrace(); |
| | | } |
| | | return null; |
| | | } |
| | | }); |
| | | |
| | | } |
| | | } |
| | | |
| | | @SuppressWarnings("unchecked") |
| | | public List<IqiyiAlbum> getIqiyiAlbumByCatoryIdAndContentType(final int cid, final int ctype) { |
| | | return (List<IqiyiAlbum>) videoIqiyiDao.excute(new HibernateCallback<List<IqiyiAlbum>>() { |
| | | @SuppressWarnings("rawtypes") |
| | | public void updateIqiyiAvaiable() { |
| | | iqiyiVideoInfoDao.excute(new HibernateCallback() { |
| | | @SuppressWarnings("unchecked") |
| | | public Object doInHibernate(Session session) throws HibernateException { |
| | | for (int i = 0; i < 100; i++) { |
| | | List<IqiyiVideoInfo> list = session.createQuery("from IqiyiVideoInfo iv order by iv.id DESC") |
| | | .setFirstResult(i * 10000).setMaxResults(1000).list(); |
| | | |
| | | @Override |
| | | public List<IqiyiAlbum> doInHibernate(Session session) throws HibernateException { |
| | | return session |
| | | .createQuery("from IqiyiAlbum a where a.categoryId=" + cid + " and a.contentType=" + ctype) |
| | | .list(); |
| | | } |
| | | }); |
| | | } |
| | | try { |
| | | for (IqiyiVideoInfo vi : list) { |
| | | if (!StringUtil.isNullOrEmpty(vi.getPlaycontrols())) { |
| | | JSONArray array = JSONArray.fromObject(vi.getPlaycontrols()); |
| | | Gson gson = new GsonBuilder().setVersion(1.0).create(); |
| | | for (int n = 0; n < array.size(); n++) { |
| | | if (vi.getPlayControls() == null) |
| | | vi.setPlayControls(new ArrayList<PlayControls>()); |
| | | vi.getPlayControls() |
| | | .add(gson.fromJson(array.optJSONObject(n).toString(), PlayControls.class)); |
| | | } |
| | | } |
| | | if (vi.getPlayControls() != null) |
| | | if (getPlayType(vi) == PLAY_NONE)// 隐藏该视频 |
| | | { |
| | | List ilist = session.createSQLQuery( |
| | | "SELECT i.`videoid` FROM wk_iqiyi_album_tvid tv LEFT JOIN wk_video_iqiyi i ON i.`albumid`=tv.`albumid` WHERE tv.`id`=" |
| | | + vi.getId()) |
| | | .list(); |
| | | if (ilist != null && ilist.size() > 0 |
| | | && !StringUtil.isNullOrEmpty(ilist.get(0) + "")) { |
| | | VideoInfo v = (VideoInfo) session.get(VideoInfo.class, ilist.get(0) + ""); |
| | | v.setShow("0"); |
| | | session.getTransaction().begin(); |
| | | session.update(v); |
| | | session.flush(); |
| | | session.getTransaction().commit(); |
| | | } |
| | | } |
| | | } |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | } |
| | | } |
| | | return null; |
| | | } |
| | | }); |
| | | |
| | | /** |
| | | * 更新原来属于爱奇艺VIP的视频 |
| | | */ |
| | | @SuppressWarnings("unchecked") |
| | | public void updateIqiyiVIP() { |
| | | List<BigInteger> list = (List<BigInteger>) videoIqiyiDao.excute(new HibernateCallback<List<BigInteger>>() { |
| | | @Override |
| | | public List<BigInteger> doInHibernate(Session session) throws HibernateException { |
| | | List list = session |
| | | .createSQLQuery( |
| | | "SELECT a.`albumId` FROM wk_iqiyi_album a WHERE a.`isPurchase`=1 AND a.`contentType`=1 AND a.`categoryId`=1") |
| | | .list(); |
| | | return (List<BigInteger>) list; |
| | | } |
| | | }); |
| | | } |
| | | |
| | | for (BigInteger aid : list) { |
| | | updateAlbum(aid.toString()); |
| | | } |
| | | /** |
| | | * 更新原来属于爱奇艺VIP的视频 |
| | | */ |
| | | @SuppressWarnings("unchecked") |
| | | public void updateIqiyiVIP() { |
| | | List<BigInteger> list = (List<BigInteger>) videoIqiyiDao.excute(new HibernateCallback<List<BigInteger>>() { |
| | | @Override |
| | | public List<BigInteger> doInHibernate(Session session) throws HibernateException { |
| | | List list = session |
| | | .createSQLQuery( |
| | | "SELECT a.`albumId` FROM wk_iqiyi_album a WHERE a.`isPurchase`=1 AND a.`contentType`=1 AND a.`categoryId`=1") |
| | | .list(); |
| | | return (List<BigInteger>) list; |
| | | } |
| | | }); |
| | | |
| | | } |
| | | for (BigInteger aid : list) { |
| | | updateAlbum(aid.toString()); |
| | | } |
| | | |
| | | public static String getAlbumIdFromPlayUrl(String url) { |
| | | try { |
| | | Document doc = Jsoup.connect(url) |
| | | .userAgent( |
| | | "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.84 Safari/537.36") |
| | | .timeout(6000).get(); |
| | | } |
| | | |
| | | try { |
| | | Elements els = doc.getElementsByTag("script"); |
| | | String albumId = null; |
| | | for (int i = 0; i < els.size(); i++) { |
| | | System.out.println(els.get(i).toString()); |
| | | if (els.get(i).toString().contains("Q.PageInfo.playPageInfo") |
| | | && els.get(i).toString().contains("albumId")) { |
| | | String content = els.get(i).html(); |
| | | content = content.substring(content.indexOf("albumId"), content.length()); |
| | | albumId = content.split(",")[0].replace("albumId", "").replace("\"", "").replace(":", "") |
| | | .replace(";", "").trim(); |
| | | if (!StringUtil.isNullOrEmpty(albumId) && Long.parseLong(albumId) > 0) |
| | | return albumId; |
| | | } |
| | | } |
| | | /** |
| | | * 添加爱奇艺小视频 |
| | | * |
| | | * @param albumId |
| | | */ |
| | | public void addShortVideo(String albumId) { |
| | | IqiyiAlbum album = IqiYiAPI.getAlbumDetail(albumId); |
| | | // String aid = iqiyiService.saveAlbumVideoInfo(album, videoList);// |
| | | // 保存专辑与视频 |
| | | // ia.setId(aid); |
| | | // if (!StringUtil.isNullOrEmpty(aid)) { |
| | | // String vid = iqiyiService.insertAlbumToVideoInfo(ia, videoList, |
| | | // isUpdate);// 将专辑加入到videoinfo |
| | | // if (!StringUtil.isNullOrEmpty(vid)) |
| | | // insertVideoToVideoType(vid); |
| | | // } |
| | | |
| | | if (StringUtil.isNullOrEmpty(albumId) || Long.parseLong(albumId) <= 0) { |
| | | for (int i = 0; i < els.size(); i++) { |
| | | if (els.get(i).toString().contains("window.QiyiPlayerLoader") |
| | | && els.get(i).toString().contains("param['albumid']")) { |
| | | String content = els.get(i).html(); |
| | | content = content.substring(content.indexOf("param['albumid'] ="), content.length()); |
| | | albumId = content.split(";")[0].replace("param['albumid'] =", "").replace("\"", "").trim(); |
| | | return albumId; |
| | | } |
| | | } |
| | | } |
| | | } catch (Exception e) { |
| | | } |
| | | String json = doc.getElementById("iqiyi-main").getElementsByTag("div").get(0).attr(":page-info"); |
| | | return JSONObject.fromObject(json).optString("albumId"); |
| | | } catch (IOException e) { |
| | | e.printStackTrace(); |
| | | } |
| | | return null; |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 添加爱奇艺小视频 |
| | | * |
| | | * @param aid |
| | | */ |
| | | public void addShortVideo(String albumId) { |
| | | IqiyiAlbum album = IqiYiAPI.getAlbumDetail(albumId); |
| | | // String aid = iqiyiService.saveAlbumVideoInfo(album, videoList);// |
| | | // 保存专辑与视频 |
| | | // ia.setId(aid); |
| | | // if (!StringUtil.isNullOrEmpty(aid)) { |
| | | // String vid = iqiyiService.insertAlbumToVideoInfo(ia, videoList, |
| | | // isUpdate);// 将专辑加入到videoinfo |
| | | // if (!StringUtil.isNullOrEmpty(vid)) |
| | | // insertVideoToVideoType(vid); |
| | | // } |
| | | //http://pic7.iqiyipic.com/image/20201029/c8/70/a_100417138_m_601_m12.jpg |
| | | //http://pic7.iqiyipic.com/image/20201027/68/fb/v_154231741_m_601.jpg |
| | | public static String getHPicture(String url) { |
| | | String regex = "(_m[0-9]+\\.jpg)|(_m_[0-9]+\\.jpg)"; |
| | | Pattern p = Pattern.compile(regex); |
| | | Matcher m = p.matcher(url); |
| | | if (m.find()) { |
| | | return url.replace(".jpg", "#.jpg").replace("#", "_480_270"); |
| | | } else { |
| | | return url; |
| | | } |
| | | } |
| | | |
| | | } |
| | | public static String getVPicture(String url) { |
| | | String regex = "(_m[0-9]+\\.jpg)|(_m_[0-9]+\\.jpg)"; |
| | | Pattern p = Pattern.compile(regex); |
| | | Matcher m = p.matcher(url); |
| | | if (m.find()) { |
| | | return url.replace(".jpg", "#.jpg").replace("#", "_260_360"); |
| | | } else { |
| | | return url; |
| | | } |
| | | } |
| | | |
| | | } |