package org.jeecg; import cn.com.ctop.common.module.entity.BindAccountLogin; import cn.com.ctop.common.module.entity.CtopOauthToken; import cn.com.ctop.common.module.service.IBindAccountLoginService; import cn.com.ctop.common.module.service.ICtopOauthTokenService; import cn.com.ctop.common.module.utils.CtopAdConstant; import cn.com.ctop.crawler.modules.pangolin.entity.PangolinApp; import cn.com.ctop.crawler.modules.pangolin.service.PangolinAppService; import cn.com.ctop.crawler.modules.pangolin.service.PangolinCrawlerService; import cn.com.ctop.crawler.modules.pangolin.service.PangolinLoginService; import cn.com.ctop.kuaishou.modules.graphql.service.IKuaishouWebInterfaceService; import cn.com.ctop.toutiao.modules.report.service.IByteDanceVideoReportDailyService; import cn.com.ctop.toutiao.modules.report.service.IBytedanceReportService; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import lombok.extern.slf4j.Slf4j; import org.jeecg.common.util.DateUtils; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringRunner; import java.text.SimpleDateFormat; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.concurrent.CountDownLatch; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; @RunWith(SpringRunner.class) @SpringBootTest @Slf4j public class SampleTest { @Autowired private IBytedanceReportService bytedanceReportService; @Autowired private IByteDanceVideoReportDailyService byteDanceVideoReportDailyService; @Autowired private ICtopOauthTokenService oauthTokenService; @Test public void testOceanEngineJob() { try { CtopOauthToken byId = oauthTokenService.getById(303094936123368L); String nowDate = DateUtils.getNowDate("yyyy-MM-dd"); String endDate = DateUtils.addDay(nowDate, -180); SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd"); Date start = simpleDateFormat.parse(nowDate); Date end = simpleDateFormat.parse(endDate); List dates = DateUtils.findDates(end,start); for (int i = 0; i < dates.size(); i++) { String formatDate = simpleDateFormat.format(dates.get(i)); int code = bytedanceReportService.bytedanceMaterialReport(byId, formatDate, formatDate); //如果成功的话跑视频清洗数据方法,失败会进入重试库,重试成功后再清洗数据 if (code == 200 || code == 1) { byteDanceVideoReportDailyService.videoInfoListByAccountId(formatDate, formatDate, byId.getAccountId()); } } } catch (Exception e) { e.printStackTrace(); } String account = "3248395570@qq.com"; /* String password = "Ydxq-704127411"; oceanEngineService.login(account,password); oceanEngineService.douyinHotHandler(1,1); oceanEngineService.effectCaseHandler(1); oceanEngineService.hotMaterialHandler(1,4,"抖音"); oceanEngineService.hotMaterialHandler(1,8,"头条"); oceanEngineService.hotMaterialHandler(1,1,"西瓜"); oceanEngineService.hotMaterialHandler(1,3,"火山"); oceanEngineService.hotMaterialHandler(1,9,"穿山甲"); log.info("巨量创意抓取完成");*/ } @Autowired private IBindAccountLoginService bindAccountLoginService; @Autowired private IKuaishouWebInterfaceService kuaishouWebInterfaceService; @Test public void kuaishouLogin() { Long start = System.currentTimeMillis(); List list = bindAccountLoginService.getListByParams(CtopAdConstant.PLATFORM_TYPE_KUAISHOU_PY, 1); if (list != null && !list.isEmpty()) { for (BindAccountLogin login : list) { if (null == login.getCookie() || "".equals(login.getCookie().trim())) { kuaishouWebInterfaceService.getkuaishouWebLoginCookie(login); } } } Long end = System.currentTimeMillis(); log.info("总用时:{}毫秒", end - start); } static ExecutorService executorService = null; static CountDownLatch countDownLatch = null; @Test public void kuaishouCommentDelete() { Long start = System.currentTimeMillis(); List list = bindAccountLoginService.getListByParams(CtopAdConstant.PLATFORM_TYPE_KUAISHOU_PY, 1); if (list != null && !list.isEmpty()) { executorService = Executors.newFixedThreadPool(10); countDownLatch = new CountDownLatch(list.size()); list.forEach(login -> { executorService.submit(() -> { try { if (null != login.getCookie() && !"".equals(login.getCookie().trim())) { kuaishouWebInterfaceService.deleteAllComment(new HashMap<>(), login); } } catch (Exception e) { } finally { countDownLatch.countDown(); } }); }); } try { countDownLatch.await(); } catch (InterruptedException e) { e.printStackTrace(); } Long end = System.currentTimeMillis(); log.info("总用时:{}毫秒", end - start); } @Autowired private PangolinLoginService pangolinLoginService; @Autowired private PangolinCrawlerService pangolinCrawlerService; @Autowired private PangolinAppService pangolinAppService; @Test public void testPangolinLogin(){ QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("login_type","pangolin"); queryWrapper.eq("status",1); List list = bindAccountLoginService.list(queryWrapper); if(list!=null&&!list.isEmpty()){ for (BindAccountLogin login:list) { if(null==login.getCookie()||"".equals(login.getCookie().trim())){ pangolinLoginService.pangolinLogin(login.getAccountName(), login.getPassword()); } } } } @Test public void testPangolinData(){ QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("login_type", "pangolin"); queryWrapper.eq("status", 1); queryWrapper.isNotNull("cookie"); List list = bindAccountLoginService.list(queryWrapper); if (list != null && !list.isEmpty()) { for (BindAccountLogin bindAccountLogin : list) { pangolinCrawlerService.getChannelList(bindAccountLogin); pangolinCrawlerService.getActivationList(bindAccountLogin, DateUtils.getNowDate("yyyy-MM-dd"), 1); pangolinCrawlerService.getCheckList(bindAccountLogin); QueryWrapper queryWrapper1 = new QueryWrapper<>(); queryWrapper1.eq("account_name", bindAccountLogin.getAccountName()); List appList = pangolinAppService.list(queryWrapper1); if (appList != null && !appList.isEmpty()) { appList.forEach(pangolinApp -> pangolinCrawlerService.getRealTimeList(bindAccountLogin, pangolinApp.getId())); } } } } }