admin
2025-02-20 f537abe9f3646c739beaf15076246a2f71a347e9
src/test/java/com/hxh/spring/test/FunTV2.java
@@ -1,21 +1,18 @@
package com.hxh.spring.test;
import com.google.gson.Gson;
import com.yeshi.buwan.dao.juhe.funtv.FunTVAlbum2Dao;
import com.yeshi.buwan.dao.juhe.funtv.FunTVVideo2Dao;
import com.yeshi.buwan.dao.juhe.funtv.VideoFunTV2Dao;
import com.yeshi.buwan.domain.ResourceVideo;
import com.yeshi.buwan.funtv.FunTVNewApi;
import com.yeshi.buwan.funtv.FunTVUtil2;
import com.yeshi.buwan.funtv.entity.FunTVAlbum2;
import com.yeshi.buwan.funtv.entity.FunTVShortVideo2;
import com.yeshi.buwan.funtv.entity.FunTVVideo2;
import com.yeshi.buwan.funtv.entity.VideoFunTV2;
import com.yeshi.buwan.dao.juhe.funtv.VideoFunTVNewDao;
import com.yeshi.buwan.job.video.FunTV2VideoUpdate;
import com.yeshi.buwan.service.imp.ResourceVideoService;
import com.yeshi.buwan.service.imp.VideoInfoService;
import com.yeshi.buwan.service.inter.juhe.FunTV2Service;
import com.yeshi.buwan.vo.video.funtv.Funtv2ResultVO;
import com.yeshi.buwan.util.HtmlToolUtil;
import com.yeshi.buwan.videos.funtv.FunTVUtil;
import com.yeshi.buwan.videos.funtv.entity.FunTVAlbum2;
import com.yeshi.buwan.videos.funtv.entity.FunTVVideo2;
import com.yeshi.buwan.videos.funtv.entity.VideoFunTV2;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.test.context.ContextConfiguration;
@@ -23,9 +20,10 @@
import org.springframework.test.context.web.WebAppConfiguration;
import javax.annotation.Resource;
import java.io.Serializable;
import java.io.FileInputStream;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
@RunWith(SpringJUnit4ClassRunner.class) //使用junit4进行测试
@ContextConfiguration(locations = {"classpath:spring.xml"})
@@ -53,80 +51,15 @@
    @Resource
    private ResourceVideoService resourceVideoService;
    @Test
    public void test1() {
        long now = System.currentTimeMillis();
        for (int d = 200; d >= 100; d--) {
            Funtv2ResultVO result = FunTVNewApi.getVideos(1, 20, now - 1000 * 60 * 60L * 24 * d, now - 1000 * 60 * 60L * 24 * (d - 1), 1013, 1);
            if (result != null && result.getList() != null && result.getList().size() > 0)
                System.out.println(result);
        }
    }
    @Test
    public void syncAlbum() {
        //1-电影 2-电视剧 3-动漫 4-综艺 5-少儿
        int channelId = 5;
        Funtv2ResultVO vo = FunTVNewApi.getAlbums(1, 20, null, null, channelId, 1);
        int totalCount = vo.getCount();
        int pageSize = 20;
        int totalPage = totalCount % pageSize == 0 ? totalCount / pageSize : totalCount / pageSize + 1;
        for (int p = 0; p < totalPage; p++) {
            Funtv2ResultVO result = FunTVNewApi.getAlbums(p + 1, pageSize, null, null, channelId, 1);
            if (result != null)
                for (Serializable a : result.getList()) {
                    FunTVAlbum2 album2 = (FunTVAlbum2) a;
                    funTV2Service.saveAlbum(album2);
                    if (album2.getEpisodes() != null)
                        for (FunTVVideo2 video2 : album2.getEpisodes())
                            funTV2Service.saveVideo(video2);
                }
        }
    }
    @Test
    public void syncShortVideo() {
        long now = System.currentTimeMillis();
        for (int d = 30; d >= 0; d--) {
            List<FunTVShortVideo2> shortVideo2List = new ArrayList<>();
            int pageSize = 100;
            Funtv2ResultVO result = FunTVNewApi.getVideos(1, pageSize, now - 1000 * 60 * 60L * 24 * d, now - 1000 * 60 * 60L * 24 * (d - 1), null, 1);
            if (result != null) {
                for (Serializable a : result.getList()) {
                    FunTVShortVideo2 video2 = (FunTVShortVideo2) a;
                    shortVideo2List.add(video2);
                }
            }
            int count = result.getCount();
            int totalPage = count % pageSize == 0 ? count / pageSize : count / pageSize + 1;
            if (totalPage > 1)
                for (int p = 1; p < totalPage; p++) {
                    result = FunTVNewApi.getVideos(p + 1, pageSize, now - 1000 * 60 * 60L * 24 * d, now - 1000 * 60 * 60L * 24 * (d - 1), null, 1);
                    if (result != null) {
                        for (Serializable a : result.getList()) {
                            FunTVShortVideo2 video2 = (FunTVShortVideo2) a;
                            shortVideo2List.add(video2);
                        }
                    }
                }
            for (FunTVShortVideo2 video2 : shortVideo2List) {
                funTV2Service.saveShortVideo(video2);
            }
        }
    }
    @Test
    public void getAlbumDetail() {
        FunTVAlbum2 album2 = FunTVNewApi.getAlbumsDetail("99989");
        System.out.println(album2);
    }
    @Test
    public void addToVideoInfo() {
        List<FunTVAlbum2> album2List = funTVAlbum2Dao.listByChannelId(3, 2000, 1000);
        List<FunTVAlbum2> album2List = funTVAlbum2Dao.listByChannelId(3, 0, 1000);
        for (FunTVAlbum2 album2 : album2List) {
            //只加入免费的
            if (!album2.getFeeMode().equalsIgnoreCase("0")) {
                continue;
            }
            System.out.println(album2.getName());
            List<FunTVVideo2> list = funTVVideo2Dao.listByMediaId(album2.getId(), 0, 2000);
            album2.setEpisodes(list);
@@ -145,23 +78,26 @@
    @Test
    public void getAccessToken() {
        System.out.println(FunTVNewApi.getAccessToken());
    }
    @Test
    public void addResource() {
        List<String> videoIds = new ArrayList<>();
        List<VideoFunTV2> list = videoFunTV2Dao.listAll(0, 5000);
        for (VideoFunTV2 funTV2 : list) {
           long count = resourceVideoService.countByVideoIdAndResourceId(funTV2.getVideoId() + "", FunTVUtil2.RESOURCE_ID);
            if (count==0L) {
                videoIds.add(funTV2.getVideoId() + "");
            }
        }
        //["7993072","7993075","7993076","7993077","7993078","7993079","7993081","7993082","7993083","7993084","7993085","7993086","7993088","7993089","7993090","7993094","7993095","7993096","7595177","8066187","8066194","8066195","8066196","8076894","7582863","7582643","7582653","7582876","7583418","7582690","7595550","7595195","7582913","7582989","982912","5625845","7582991","7334865","7761779","8077307","8077347","8077354","8077355","8077397","8077399","7728744","7674559","7728747","7726042","359250","7053989","7351834"]
        System.out.println(new Gson().toJson(videoIds));
//        List<String> videoIds = new ArrayList<>();
//        List<VideoFunTV2> list = videoFunTV2Dao.listAll(0, 5000);
//        for (VideoFunTV2 funTV2 : list) {
//            long count = resourceVideoService.countByVideoIdAndResourceId(funTV2.getVideoId() + "", FunTVUtil2.RESOURCE_ID);
//            if (count == 0L) {
//                videoIds.add(funTV2.getVideoId() + "");
//            }
//        }
//        System.out.println(new Gson().toJson(videoIds));
//        String json = "[\"7993076\",\"7993077\",\"7993078\"]";
//        JSONArray array = JSONArray.fromObject(json);
//        for (int i = 0; i < array.size(); i++) {
//            resourceVideoService.addVideoResource(array.optString(i), FunTVUtil2.RESOURCE_ID + "");
//        }
//
//        CMQManager.getInstance().addVideoExtraInfoChanged(new VideoExtraInfoChangeMQMsg(VideoExtraInfoChangeMQMsg.TYPE_RESOURCE, "7993076", VideoExtraInfoChangeMQMsg.ACTION_ADD));
//        resourceVideoService.addVideoResource("7993076", FunTVUtil2.RESOURCE_ID + "");
    }
@@ -170,4 +106,65 @@
        funTV2Service.offLineAlbum("565");
    }
    @Resource
    private VideoFunTVNewDao videoFunTVNewDao;
    @Test
    public void deleteOldFunTVVideo() {
        List<String[]> list = HtmlToolUtil.parseSQLYogExportHtmData("C:\\Users\\Administrator\\Desktop\\风行老版正片.htm", 3);
        for (String[] sts : list) {
            String videoId = sts[0];
            resourceVideoService.delete(videoId, FunTVUtil.RESOURCE_ID + "");
//            List<VideoFunTV> list1 = videoFunTVNewDao.listByVideoId(Long.parseLong(videoId));
//
//            if (list1 != null)
//                for (VideoFunTV videoIqiyi : list1)
//                    videoFunTVNewDao.delete(videoIqiyi.getId());
        }
    }
    @Test
    public void removeAlbum() {
        for (int i = 0; i < 100; i++) {
            List<VideoFunTV2> list = videoFunTV2Dao.listAll(0, 100);
            for (VideoFunTV2 tv2 : list) {
                try {
                    funTV2Service.offLineAlbum(tv2.getMediaId());
                } catch (Exception e) {
                }
            }
        }
    }
    public static void main(String[] args) {
        String[] files = new String[]{
                "video_play.2021-01-06.log", "video_play.2021-01-07.log", "video_play.2021-01-08.log", "video_play.2021-01-09.log", "video_play.2021-01-10.log", "video_play.2021-01-11.log", "video_play.2021-01-12.log", "video_play.2021-01-13.log", "video_play.2021-01-14.log"
        };
        for (String file : files) {
            try {
                List<String> list = getFunTVPlayData("C:\\Users\\Administrator\\Desktop\\日志\\布丸播放\\" + file);
                System.out.println(list.size());
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }
    private static List<String> getFunTVPlayData(String path) throws Exception {
        List<String> list = new ArrayList<>();
        Scanner scanner = new Scanner(new FileInputStream(path));
        while (scanner.hasNextLine()) {
            String line = scanner.nextLine();
            if (line.contains("playStatistic") && line.contains("#24")) {
                list.add(line);
            }
        }
        scanner.close();
        return list;
    }
}