admin
2021-07-30 19533a17aa55fafc70d0a385928e785cb50e1ebc
src/test/java/com/hxh/spring/test/Iqiyi2.java
@@ -1,25 +1,48 @@
package com.hxh.spring.test;
import com.google.gson.Gson;
import com.yeshi.buwan.dao.juhe.iqiyi.IqiyiAlbum2Dao;
import com.yeshi.buwan.dao.juhe.iqiyi.VideoIqiyiDao;
import com.yeshi.buwan.domain.ResourceVideo;
import com.yeshi.buwan.domain.VideoInfo;
import com.yeshi.buwan.domain.VideoResource;
import com.yeshi.buwan.iqiyi.IqiYiNewAPI;
import com.yeshi.buwan.iqiyi.entity.IqiyiAlbum2;
import com.yeshi.buwan.iqiyi.entity.VideoIqiyi;
import com.yeshi.buwan.iqiyi.util.IqiyiUtil2;
import com.yeshi.buwan.iqiyi.vo.IqiyiAlbumListResult;
import com.yeshi.buwan.job.video.Iqiyi2VideoUpdate;
import com.yeshi.buwan.query.Iqiyi2AlbumQuery;
import com.yeshi.buwan.service.imp.CategoryVideoService;
import com.yeshi.buwan.service.imp.ResourceVideoService;
import com.yeshi.buwan.service.imp.VideoInfoService;
import com.yeshi.buwan.service.inter.juhe.Iqiyi2Service;
import com.yeshi.buwan.service.manager.SolrAlbumVideoDataManager;
import com.yeshi.buwan.util.*;
import com.yeshi.buwan.util.mq.CMQManager;
import net.sf.json.JSONArray;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import org.springframework.test.context.web.WebAppConfiguration;
import javax.annotation.Resource;
import java.io.*;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Scanner;
//
@RunWith(SpringJUnit4ClassRunner.class) //使用junit4进行测试
@ContextConfiguration(locations = {"classpath:spring.xml"})
@WebAppConfiguration
public class Iqiyi2 {
    private final static Logger errorLogger = LoggerFactory.getLogger("errorLogger");
    @Resource
    private IqiyiUtil2 iqiyiUtil2;
@@ -30,10 +53,19 @@
    @Resource
    private Iqiyi2Service iqiyi2Service;
    @Resource
    private CategoryVideoService categoryVideoService;
    @Resource
    private ResourceVideoService resourceVideoService;
    @Resource
    private Iqiyi2VideoUpdate iqiyi2VideoUpdate;
    @Test
    public void syncAll() {
        iqiyiUtil2.syncAllZongYi();
        iqiyiUtil2.updateTodayAlbumAndVideo(IqiYiNewAPI.TYPE_DIANYING);
    }
    @Test
@@ -43,7 +75,7 @@
    @Test
    public void addToVideoInfo() {
        List<IqiyiAlbum2> list = iqiyiAlbum2Dao.listByChannelId(1, null, 1,11000, 3000);
        List<IqiyiAlbum2> list = iqiyiAlbum2Dao.listByChannelId(1, null, 1, 11000, 3000);
        for (IqiyiAlbum2 album : list)
            try {
                iqiyi2Service.addToVideoInfo(album);
@@ -75,24 +107,35 @@
    @Test
    public void syncByAid() {
        Long[] ids = new Long[]{
                246508201L, 248886801L, 230798901L, 1569537751867101L,
//        Long[] ids = new Long[]{
//                246508201L, 248886801L, 230798901L, 1569537751867101L,
//        };
        };
        iqiyiUtil2.syncByAid(240793601L);
//        iqiyiUtil2.syncByAid(7643537550826500L);
//        IqiyiAlbum2 album2 = iqiyi2Service.selectAlbumById(240793601L);
//        if (album2 != null) {
//            iqiyi2Service.addToVideoInfo(album2);
//        }
        Long qikuID = 6544570339302501L;
        IqiyiAlbum2 album2 = iqiyi2Service.selectAlbumById(qikuID);
        if (album2 != null) {
            iqiyi2Service.addToVideoInfo(album2);
        }
//        CMQManager.getInstance().addSolrMsg(8169108L+"");
//        errorLogger.error("测试错误");
    }
    @Test
    public void updateLatest() {
        List<String> urlList = IqiyiUtil2.getAlbumUrlsFromUrl("https://list.iqiyi.com/www/2/15-------------11-1-1-iqiyi--.html?s_source=PCW_LC");
        List<String> urlList = IqiyiUtil2.getAlbumUrlsFromUrl("https://www.iqiyi.com/v_u3d4t2dr7o.html?vfrm=pcw_dianshiju&vfrmblk=B&vfrmrst=fcs_2_p2");
        for (String url : urlList) {
            String aid = IqiYiNewAPI.getAidByUrl(url);
            iqiyiUtil2.syncByAid(Long.parseLong(aid));
@@ -101,9 +144,157 @@
    @Test
    public void test6() {
        List<IqiyiAlbum2> list = iqiyiAlbum2Dao.listByChannelId(1, null, 1, 0, 1000);
        for (IqiyiAlbum2 album : list)
            System.out.println(album.getName());
        try {
            iqiyi2VideoUpdate.updateVideoByPlayerUrl("https://www.iqiyi.com/v_u3d4t2dr7o.html?vfrm=pcw_dianshiju&vfrmblk=B&vfrmrst=fcs_2_p2");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    private void saveToFile(List<Long> list) {
        FileWriter fw = null;
        try {
            //如果文件存在,则追加内容;如果文件不存在,则创建文件
            File f = new File("E:\\iqiyialbum_invalid.txt");
            fw = new FileWriter(f, true);
        } catch (IOException e) {
            e.printStackTrace();
        }
        PrintWriter pw = new PrintWriter(fw);
        pw.println(new Gson().toJson(list));
        pw.flush();
        try {
            fw.flush();
            pw.close();
            fw.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    @Test
    public void count() {
//        long count = iqiyiAlbum2Dao.countVideoByAid(253120001L);
//        System.out.println(count);
        IqiyiAlbum2 album2 = iqiyiAlbum2Dao.get(7974832045751601L);
        iqiyi2Service.addToVideoInfo(album2);
    }
    @Test
    public void sync() {
        iqiyi2Service.convertAlbumToVideoInfo(iqiyiAlbum2Dao.get(253593801L));
    }
    public static void main(String[] args) {
        Date startTime = new Date(TimeUtil.convertGernalTime("2020-10-23", "yyyy-MM-dd"));
        Date endTime = new Date(TimeUtil.convertGernalTime("2020-10-23 03", "yyyy-MM-dd HH"));
        IqiyiAlbumListResult result = IqiYiNewAPI.getUpdateAlbumList(IqiYiNewAPI.TYPE_DIANYING + "", startTime, endTime, null, false, 20);
        System.out.println(result);
    }
    @Test
    public void deleteAlbum() {
        try {
            Scanner scanner = new Scanner(new FileInputStream(new File("E:\\iqiyialbum_invalid.txt")));
            while (scanner.hasNextLine()) {
                String text = scanner.nextLine();
                if (!StringUtil.isNullOrEmpty(text)) {
                    JSONArray array = JSONArray.fromObject(text);
                    for (int i = 0; i < array.size(); i++) {
                        iqiyi2Service.deleteByAid(array.optLong(i));
                    }
                }
            }
            scanner.close();
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }
    }
    @Test
    public void addToMQ() {
        Iqiyi2AlbumQuery query = new Iqiyi2AlbumQuery();
        query.setContentType(1);
        query.setFeatureAlbumId(0L);
        query.setChannelId(2);
        long count = iqiyiAlbum2Dao.countByAid(query);
        int page = (int) (count % 100 == 0 ? count / 100 : count / 100 + 1);
        for (int i = 0; i < page; i++) {
            List<IqiyiAlbum2> album2List = iqiyiAlbum2Dao.listByAid(query, IqiyiAlbum2.SORT_ID, i * 100, 100);
            for (IqiyiAlbum2 album2 : album2List) {
                System.out.println(album2.getName());
                if (IqiyiUtil2.albumIsValid(album2)) {
                    CMQManager.getInstance().addIqiyiAlbumUpdateMsg(album2.getId());
                }
            }
        }
    }
    @Test
    public void addCategory() {
        List<String[]> list = HtmlToolUtil.parseSQLYogExportHtmData("C:\\Users\\Administrator\\Desktop\\爱奇艺分类缺失.htm", 2);
        for (String[] sts : list) {
            String videoId = sts[0];
            String videoType = sts[1];
            categoryVideoService.addCategoryVideo(videoId, Long.parseLong(videoType));
        }
    }
    @Resource
    private VideoIqiyiDao videoIqiyiDao;
    @Test
    public void deleteOldIqiyiVideo() {
        List<String[]> list = HtmlToolUtil.parseSQLYogExportHtmData("C:\\Users\\Administrator\\Desktop\\爱奇艺老版正片.htm", 3);
        for (String[] sts : list) {
            String videoId = sts[0];
            List<VideoIqiyi> list1 = videoIqiyiDao.listByVideoId(videoId);
            if (list1 != null)
                for (VideoIqiyi videoIqiyi : list1)
                    videoIqiyiDao.delete(videoIqiyi);
        }
    }
    @Resource
    private VideoInfoService videoInfoService;
    @Resource
    private SolrAlbumVideoDataManager solrDataManager;
    @Test
    public void addResources() {
        try {
            VideoInfo videoInfo = videoInfoService.getVideoInfo(8174476 + "");
            if (videoInfo != null) {
                if ("1".equalsIgnoreCase(videoInfo.getShow())) {
                    List<VideoResource> resourceList = new ArrayList<>();
                    List<ResourceVideo> rvList = resourceVideoService.getResourceList(videoInfo.getId());
                    if (rvList != null)
                        for (ResourceVideo rv : rvList)
                            resourceList.add(rv.getResource());
                    videoInfo.setResourceList(resourceList);
                    solrDataManager.saveOrUpdate(videoInfo);
                } else
                    solrDataManager.deleteById(videoInfo.getId());
            }
        } catch (Exception e) {
        }
    }
    @Test
    public void getDetail() {
        IqiYiNewAPI.getAlbumOrVideoDetail(524533200L);
    }