package com.yeshi.buwan.videos.funtv;
|
|
import com.yeshi.buwan.dao.CategoryVideoDao;
|
import com.yeshi.buwan.domain.VideoDetailInfo;
|
import com.yeshi.buwan.domain.VideoInfo;
|
import com.yeshi.buwan.domain.VideoType;
|
import com.yeshi.buwan.videos.funtv.entity.*;
|
import com.yeshi.buwan.service.imp.juhe.FunTVService;
|
import com.yeshi.buwan.util.JuheVideoUtil;
|
import com.yeshi.buwan.util.StringUtil;
|
import com.yeshi.buwan.util.TimeUtil;
|
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.util.*;
|
|
@Component
|
public class FunTVUtil2 {
|
|
public final static int PLAY_NONE = 0;// 不能播放
|
public final static int PLAY_HTML = 1;// 跳转移动端网页播放
|
public final static int PLAY_SDK = 2;// 内嵌SDK播放
|
|
public final static int RESOURCE_ID = 24;
|
public final static String RESOURCE_NAME = "风行.";
|
|
@Resource
|
private FunTVService funTVService;
|
|
@Resource
|
private CategoryVideoDao categoryVideoDao;
|
|
|
public static VideoDetailInfo convertFunTVVideoToVideoDetail(FunTVVideo2 pv, FunTVAlbum2 p) {
|
VideoDetailInfo vinfo = new VideoDetailInfo();
|
vinfo.setExtraId(pv.getId());
|
vinfo.setName(pv.getName());
|
if ("综艺".equalsIgnoreCase(p.getChannel())) {
|
vinfo.setTag(pv.getName());
|
vinfo.setName(p.getName() + " " + pv.getNum());
|
} else if ("电影".equalsIgnoreCase(p.getChannel())) {
|
vinfo.setTag(p.getName());
|
vinfo.setName(p.getName());
|
} else if ("电视剧".equalsIgnoreCase(p.getChannel())) {
|
vinfo.setTag(pv.getNum() + "");
|
vinfo.setName(p.getName() + " 第" + pv.getNum() + "集");
|
} else {
|
vinfo.setTag(pv.getNum() + "");
|
vinfo.setName(p.getName());
|
}
|
vinfo.setType("funtv");
|
vinfo.setId(Long.parseLong(pv.getId()));
|
|
return vinfo;
|
}
|
|
/**
|
* @param p
|
* @return
|
*/
|
public static VideoInfo convertFunTVAlbumToVideoInfo(FunTVAlbum2 p) {
|
long timeStamp = TimeUtil.convertGernalTime(p.getRelease(), "yyyy年MM月dd日");
|
Calendar ca = Calendar.getInstance();
|
ca.setTimeInMillis(timeStamp);
|
int year = ca.get(Calendar.YEAR);
|
int month = ca.get(Calendar.MONTH) + 1;
|
int day = ca.get(Calendar.DAY_OF_MONTH);
|
String director = p.getDirector();
|
String mainActor = p.getActor();
|
|
String score = p.getScore();
|
|
String tag = "";
|
VideoType videoType = new VideoType(getFunTVAlbumType(p));
|
|
if (p.getChannel().contains("电影")) {
|
tag = "评分:" + score;
|
} else if (p.getChannel().contains("电视剧") || p.getChannel().contains("动漫")) {
|
tag = p.getUpdate();
|
} else if (p.getChannel().contains("综艺")) {
|
tag = p.getUpdate();
|
}
|
|
Comparator<FunTVVideo2> cm = new Comparator<FunTVVideo2>() {
|
public int compare(FunTVVideo2 o1, FunTVVideo2 o2) {
|
int t2 = o2.getNum();
|
int t1 = o1.getNum();
|
return (t2 - t1);// 倒序排列
|
}
|
};
|
Collections.sort(p.getEpisodes(), cm);
|
|
String latestHpicture = p.getEpisodes().get(0).getStill();
|
|
long updateTime = System.currentTimeMillis();
|
|
VideoInfo vi = new VideoInfo();
|
vi.setVideoType(videoType);
|
vi.setArea(p.getArea());
|
vi.setBaseurl("");
|
vi.setCanSave(false);
|
vi.setCommentCount(0);
|
vi.setContentType(1);
|
vi.setCreatetime(System.currentTimeMillis());
|
vi.setDay(day + "");
|
vi.setDirector(director);
|
vi.setFocus("");
|
vi.setHpicture(p.getStill());
|
vi.setIntroduction(p.getDescription());
|
vi.setLatestHpicture(latestHpicture);
|
vi.setLatestVpicture("");
|
vi.setMainActor(mainActor);
|
vi.setMonth(month + "");
|
vi.setName(p.getName());
|
vi.setNowNumber(0 + "");
|
vi.setOrderby("0");
|
vi.setPicture(p.getPoster());
|
vi.setScore(score);
|
vi.setShare("0");
|
vi.setShow(1 + "");
|
vi.setTag(tag);
|
vi.setVpicture(p.getPoster());
|
vi.setWatchCount(0 + "");
|
vi.setYear(year + "");
|
vi.setUpdatetime(updateTime + "");
|
vi.setVideocount(p.getEpisodes() != null ? p.getEpisodes().size() : 1);
|
return vi;
|
}
|
|
/**
|
* 短视频转为正片
|
*
|
* @param p
|
* @return
|
*/
|
public static VideoInfo convertVideoToVideoInfo(FunTVShortVideo2 p) {
|
String time = p.getRelease();
|
Calendar ca = Calendar.getInstance();
|
ca.setTimeInMillis(TimeUtil.convertGernalTime(time, "yyyy-MM-dd HH:mm:ss"));
|
int year = ca.get(Calendar.YEAR);
|
int month = ca.get(Calendar.MONTH) + 1;
|
int day = ca.get(Calendar.DAY_OF_MONTH);
|
String score = "9.0";
|
String tag = "";
|
if (StringUtil.isNullOrEmpty(p.getDuration())) {
|
tag = p.getDuration();
|
}
|
|
long updateTime = ca.getTimeInMillis();
|
VideoInfo vi = new VideoInfo();
|
vi.setArea("");
|
vi.setBaseurl(p.getFunH5Url());
|
vi.setCanSave(false);
|
vi.setCommentCount(0);
|
vi.setCreatetime(System.currentTimeMillis());
|
vi.setDay(day + "");
|
vi.setDirector("");
|
vi.setFocus("");
|
vi.setHpicture(p.getStill());
|
vi.setIntroduction("");
|
vi.setLatestHpicture("");
|
vi.setLatestVpicture("");
|
vi.setMainActor("");
|
vi.setMonth(month + "");
|
vi.setName(p.getName());
|
vi.setNowNumber(0 + "");
|
vi.setOrderby("0");
|
vi.setPicture(p.getStill());
|
vi.setScore(score);
|
vi.setShare("0");
|
vi.setShow(1 + "");
|
vi.setTag(tag);
|
vi.setVpicture("");
|
vi.setWatchCount(0 + "");
|
vi.setYear(year + "");
|
vi.setUpdatetime(updateTime + "");
|
vi.setVideocount(1);
|
vi.setContentType(2);
|
return vi;
|
}
|
|
public static int getFunTVAlbumType(FunTVAlbum2 p) {
|
if (p.getChannel().contains("电影")) {
|
return 151;
|
} else if (p.getChannel().contains("电视剧")) {
|
return 150;
|
} else if (p.getChannel().contains("综艺")) {
|
return 152;
|
} else if (p.getChannel().contains("动漫")) {
|
return 153;
|
}
|
return 0;
|
}
|
|
private void addFunTVVideo(FunTVVideo funTVVideo) {
|
final String name = funTVVideo.getTitle();
|
if (!(Boolean) categoryVideoDao.excute(new HibernateCallback<Boolean>() {
|
public Boolean doInHibernate(Session session) throws HibernateException {
|
return JuheVideoUtil.isNeedAdd(session, name);
|
}
|
}))
|
return;
|
|
// 加入videoInfo
|
try {
|
funTVService.saveVideo(funTVVideo);// 存入数据库
|
//拉取数据的时候不处理
|
// funTVVideo.setId(funTVService.getFunTVVideoByVid(funTVVideo.getVid()).getId());
|
// funTVService.addVideoToVideoInfo(funTVVideo);
|
} catch (Exception e) {
|
|
}
|
}
|
|
public void saveFunTVAlbum(FunTVAlbum pm) {
|
final String name = pm.getTitle();
|
if (!(Boolean) categoryVideoDao.excute(new HibernateCallback<Boolean>() {
|
public Boolean doInHibernate(Session session) throws HibernateException {
|
return JuheVideoUtil.isNeedAdd(session, name);
|
}
|
}))
|
return;
|
|
FunTVVideo pv = funTVService.getLatestFunTVVideo(pm.getAid() + "");
|
Comparator<FunTVVideo> cp = new Comparator<FunTVVideo>() {
|
public int compare(FunTVVideo o1, FunTVVideo o2) {
|
long t1 = o1.getNum();
|
long t2 = o2.getNum();
|
return (int) (t1 - t2);
|
}
|
};
|
|
Collections.sort(pm.getVideoList(), cp);
|
List<FunTVVideo> vlist = new ArrayList<>();
|
|
boolean isUpdate = false;
|
if (pm.getVideoList().size() > 0 && pv != null)
|
isUpdate = pm.getVideoList().get(pm.getVideoList().size() - 1).getNum() > pv.getNum();
|
if (pv == null || isUpdate) {//需要更新
|
if (pv == null)// 首次加入
|
funTVService.saveFunTVAlbum(pm, pm.getVideoList());// 保存数据到本地
|
else {
|
for (int i = 0; i < pm.getVideoList().size(); i++) {
|
if (pm.getVideoList().get(i).getVid().equalsIgnoreCase(pv.getVid())) {
|
if (i < pm.getVideoList().size() - 1)
|
vlist = pm.getVideoList().subList(i + 1, pm.getVideoList().size());
|
break;
|
}
|
}
|
funTVService.saveFunTVAlbum(pm, vlist);
|
}
|
}
|
// pm.setId(funTVService.getAlbumByAid(pm.getAid()).getId());
|
//todo 拉取数据的时候不处理
|
// if (pm.getVideoList() != null && pm.getVideoList().size() > 0)
|
// funTVService.addFunTVAlbumToVideoInfo(pm, isUpdate);
|
}
|
|
public static List<Integer> getShortVideoType(FunTVVideo shortVideo, String cate, String subCate) {
|
List<Integer> list = new ArrayList<Integer>();
|
if (cate.equalsIgnoreCase("微电影")) {
|
} else if (cate.equalsIgnoreCase("纪录片")) {
|
} else if (cate.equalsIgnoreCase("热点")) {
|
if ("社会".equalsIgnoreCase(subCate)) {
|
list.add(242);
|
} else if ("民生".equalsIgnoreCase(subCate)) {
|
list.add(242);
|
} else if ("草根".equalsIgnoreCase(subCate)) {
|
list.add(242);
|
} else if ("国际".equalsIgnoreCase(subCate)) {
|
list.add(290);
|
} else if ("政治".equalsIgnoreCase(subCate)) {
|
list.add(290);
|
} else if ("财经".equalsIgnoreCase(subCate)) {
|
list.add(289);
|
}
|
|
} else if (cate.equalsIgnoreCase("娱乐")) {
|
if ("头条".equalsIgnoreCase(subCate)) {
|
list.add(219);
|
} else if ("八卦".equalsIgnoreCase(subCate)) {
|
list.add(219);
|
} else if ("明星资讯".equalsIgnoreCase(subCate)) {
|
list.add(288);
|
} else if ("电影资讯".equalsIgnoreCase(subCate)) {
|
list.add(288);
|
} else if ("电视资讯".equalsIgnoreCase(subCate)) {
|
list.add(288);
|
} else if ("音乐资讯".equalsIgnoreCase(subCate)) {
|
list.add(288);
|
} else if ("风行自制".equalsIgnoreCase(subCate)) {
|
list.add(219);
|
} else if ("MusicVideo".equalsIgnoreCase(subCate)) {
|
list.add(219);
|
}
|
} else if (cate.equalsIgnoreCase("体育")) {
|
|
if ("国际足球".equalsIgnoreCase(subCate)) {
|
list.add(292);
|
} else if ("国内足球".equalsIgnoreCase(subCate)) {
|
list.add(292);
|
} else if ("篮球".equalsIgnoreCase(subCate)) {
|
list.add(292);
|
} else if ("格斗".equalsIgnoreCase(subCate)) {
|
list.add(295);
|
} else if ("综合体育".equalsIgnoreCase(subCate)) {
|
list.add(287);
|
} else if ("风流体坛".equalsIgnoreCase(subCate)) {
|
list.add(287);
|
} else if ("体育节目类".equalsIgnoreCase(subCate)) {
|
list.add(287);
|
}
|
|
} else if (cate.equalsIgnoreCase("游戏")) {
|
if ("解说".equalsIgnoreCase(subCate)) {
|
list.add(272);
|
} else if ("电子竞技".equalsIgnoreCase(subCate)) {
|
list.add(212);
|
} else if ("游戏赛事".equalsIgnoreCase(subCate)) {
|
list.add(212);
|
} else if ("游戏攻略".equalsIgnoreCase(subCate)) {
|
list.add(272);
|
} else if ("网络游戏".equalsIgnoreCase(subCate)) {
|
list.add(212);
|
} else if ("电玩世界".equalsIgnoreCase(subCate)) {
|
list.add(213);
|
} else if ("玩家原创".equalsIgnoreCase(subCate)) {
|
list.add(298);
|
} else if ("主机游戏".equalsIgnoreCase(subCate)) {
|
list.add(213);
|
} else if ("小游戏".equalsIgnoreCase(subCate)) {
|
list.add(213);
|
}
|
|
if (shortVideo.getTitle().contains("王者荣耀")) {
|
list.clear();
|
list.add(214);
|
}
|
|
} else if (cate.equalsIgnoreCase("搞笑")) {
|
if ("疯狂恶搞".equalsIgnoreCase(subCate)) {
|
list.add(216);
|
} else if ("犀利辣评".equalsIgnoreCase(subCate)) {
|
list.add(285);
|
} else if ("萌宠日常".equalsIgnoreCase(subCate)) {
|
list.add(220);
|
} else if ("搞笑联盟".equalsIgnoreCase(subCate)) {
|
list.add(216);
|
} else if ("开心宝贝".equalsIgnoreCase(subCate)) {
|
list.add(216);
|
} else if ("美女恶搞".equalsIgnoreCase(subCate)) {
|
list.add(216);
|
} else if ("小品相声".equalsIgnoreCase(subCate)) {
|
list.add(217);
|
}
|
|
} else if (cate.equalsIgnoreCase("军事")) {
|
list.add(223);
|
} else if (cate.equalsIgnoreCase("广场舞")) {
|
if ("知名舞队".equalsIgnoreCase(subCate)) {
|
list.add(303);
|
} else if ("精彩舞曲".equalsIgnoreCase(subCate)) {
|
list.add(301);
|
} else if ("广场舞教学".equalsIgnoreCase(subCate)) {
|
list.add(303);
|
} else if ("广场舞比赛".equalsIgnoreCase(subCate)) {
|
list.add(303);
|
}
|
} else if (cate.equalsIgnoreCase("汽车")) {
|
if ("风FUN车闻".equalsIgnoreCase(subCate)) {
|
list.add(226);
|
} else if ("风FUN伙伴".equalsIgnoreCase(subCate)) {
|
list.add(226);
|
} else if ("风FUN专访".equalsIgnoreCase(subCate)) {
|
list.add(226);
|
} else if ("风FUN试驾".equalsIgnoreCase(subCate)) {
|
list.add(226);
|
} else if ("香车美女".equalsIgnoreCase(subCate)) {
|
list.add(226);
|
} else if ("用车玩车".equalsIgnoreCase(subCate)) {
|
list.add(226);
|
}
|
} else if (cate.equalsIgnoreCase("旅游")) {
|
if ("编辑推荐".equalsIgnoreCase(subCate)) {
|
list.add(229);
|
} else if ("环球八卦".equalsIgnoreCase(subCate)) {
|
list.add(229);
|
} else if ("寰宇世界".equalsIgnoreCase(subCate)) {
|
list.add(229);
|
} else if ("户外探险".equalsIgnoreCase(subCate)) {
|
list.add(229);
|
} else if ("舌尖刺激".equalsIgnoreCase(subCate)) {
|
list.add(228);
|
}
|
} else if (cate.equalsIgnoreCase("时尚")) {
|
list.add(232);
|
} else if (cate.equalsIgnoreCase("母婴")) {
|
if ("母婴".equalsIgnoreCase(subCate)) {
|
list.add(230);
|
} else if ("妈妈学堂".equalsIgnoreCase(subCate)) {
|
list.add(230);
|
} else if ("亲子秀".equalsIgnoreCase(subCate)) {
|
list.add(230);
|
} else if ("早期教育".equalsIgnoreCase(subCate)) {
|
list.add(230);
|
}
|
} else if (cate.equalsIgnoreCase("健康")) {
|
if ("健康".equalsIgnoreCase(subCate)) {
|
list.add(230);
|
} else if ("健康贴士".equalsIgnoreCase(subCate)) {
|
list.add(230);
|
} else if ("瘦身瑜伽".equalsIgnoreCase(subCate)) {
|
list.add(235);
|
} else if ("常识".equalsIgnoreCase(subCate)) {
|
list.add(230);
|
} else if ("健身".equalsIgnoreCase(subCate)) {
|
list.add(235);
|
} else if ("美容".equalsIgnoreCase(subCate)) {
|
list.add(230);
|
} else if ("两性".equalsIgnoreCase(subCate)) {
|
list.add(230);
|
}
|
} else if (cate.equalsIgnoreCase("科技")) {
|
list.add(222);
|
} else if (cate.equalsIgnoreCase("生活")) {
|
if ("美食".equalsIgnoreCase(subCate)) {
|
list.add(228);
|
} else if ("星座".equalsIgnoreCase(subCate)) {
|
list.add(230);
|
} else if ("妙招".equalsIgnoreCase(subCate)) {
|
list.add(230);
|
} else if ("手工".equalsIgnoreCase(subCate)) {
|
list.add(230);
|
} else if ("家居".equalsIgnoreCase(subCate)) {
|
list.add(230);
|
} else if ("奇闻".equalsIgnoreCase(subCate)) {
|
list.add(230);
|
} else if ("运动".equalsIgnoreCase(subCate)) {
|
list.add(234);
|
} else if ("职场".equalsIgnoreCase(subCate)) {
|
list.add(230);
|
} else if ("法制".equalsIgnoreCase(subCate)) {
|
list.add(230);
|
} else if ("情感".equalsIgnoreCase(subCate)) {
|
list.add(230);
|
} else if ("财经".equalsIgnoreCase(subCate)) {
|
list.add(230);
|
} else if ("房产".equalsIgnoreCase(subCate)) {
|
list.add(230);
|
} else if ("生活百科".equalsIgnoreCase(subCate)) {
|
list.add(230);
|
}
|
|
} else if (cate.equalsIgnoreCase("电影片花")) {
|
} else if (cate.equalsIgnoreCase("电视片花")) {
|
} else if (cate.equalsIgnoreCase("动漫片花")) {
|
} else if (cate.equalsIgnoreCase("综艺片花")) {
|
} else if (cate.equalsIgnoreCase("原创")) {
|
}
|
return list;
|
}
|
|
|
/**
|
* 获取播放类型
|
*
|
* @param acceptData
|
* @param video2
|
* @return
|
*/
|
|
|
public void update(int channelId, Date startTime, Date endTime) {
|
|
}
|
|
}
|