package org.jeecg; import cn.com.ctop.check.component.execute.GroovyScriptExecutor; import cn.com.ctop.check.entity.CtopCheckTaskList; import cn.com.ctop.check.service.ICtopCheckTaskListService; import cn.com.ctop.common.module.entity.BindAccountLogin; import cn.com.ctop.common.module.entity.CtopOauthToken; import cn.com.ctop.common.module.entity.UReportSubscriber; import cn.com.ctop.common.module.entity.UserAllocation; import cn.com.ctop.common.module.message.handle.impl.EmailSendMsgHandle; import cn.com.ctop.common.module.service.*; import cn.com.ctop.common.module.utils.CtopAdConstant; import cn.com.ctop.kuaishou.modules.batch.service.IKuaiShouDailyReportTaskService; import cn.com.ctop.kuaishou.modules.batch.service.IKuaiShouHistoryReportTaskService; import cn.com.ctop.kuaishou.modules.batch.service.IKuaishouInterfaceService; import cn.com.ctop.kuaishou.modules.graphql.service.IKuaishouWebInterfaceService; import cn.com.ctop.kuaishou.modules.report.service.IKuaishouReportDailyAgentService; import cn.com.ctop.oa.modules.service.IWechatCheckinDataService; import cn.com.ctop.oa.modules.service.IWechatDepartmentService; import cn.com.ctop.oa.modules.service.IWechatUserListService; import cn.com.ctop.toutiao.modules.material.service.IByteDanceAdvertiserDataService; import cn.com.ctop.toutiao.modules.report.service.IReportService; 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.ActiveProfiles; import org.springframework.test.context.junit4.SpringRunner; import java.io.File; 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(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) @ActiveProfiles("wps") @Slf4j public class SampleTest { @Autowired private ICtopOauthTokenService oauthTokenService; @Autowired private IKuaishouReportDailyAgentService kuaishouReportDailyAgentService; @Autowired private IReportService reportService; @Autowired private IUserAllocationService userAllocationService; @Autowired private IByteDanceAdvertiserDataService advertiserDataService; @Autowired private IKuaiShouHistoryReportTaskService kuaiShouHistoryReportTaskService; @Autowired private IKuaiShouDailyReportTaskService dailyReportTaskService; @Autowired private IWechatDepartmentService wechatDepartment; @Autowired private IKuaishouInterfaceService kuaishouInterfaceService; @Autowired private IWechatUserListService wechatUserInfoService; @Autowired private IWechatCheckinDataService wechatCheckinDataService; @Test public void getDepartment() { wechatCheckinDataService.getCheckinData(); // wechatUserInfoService.getUserList(); // wechatDepartment.getDepartment(); // kuaishouInterfaceService.getSuZaoList("a34853c230e1b949eddbe569023dbc40", 7022550L, 1, "2020-09-15", "2020-09-16"); } @Test public void loadBytedanceCreativeData() { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("media_id", 2); List list = oauthTokenService.list(queryWrapper); for (CtopOauthToken token : list) { kuaiShouHistoryReportTaskService.createTask(token.getAccountId(), token.getAccessToken(), "2020-03-14", "2020-09-14", "history"); } } @Test public void getTaskList() { kuaiShouHistoryReportTaskService.getTaskList(); } @Autowired private IBindAccountLoginService bindAccountLoginService; @Autowired private IKuaishouWebInterfaceService kuaishouWebInterfaceService; @Test public void loadKuaishouCookie() { List list = bindAccountLoginService.getListByParams(CtopAdConstant.PLATFORM_TYPE_KUAISHOU_PY, 1); if (list != null && !list.isEmpty()) { int i = 0; for (BindAccountLogin login : list) { if (null == login.getCookie() || "".equals(login.getCookie().trim())) { if (i > 5) { break; } kuaishouWebInterfaceService.getkuaishouWebLoginCookie(login); i++; } } } } static ExecutorService executorService = null; //线程计数器/bytedance/bytedanceMaterialReport static CountDownLatch countDownLatch = null; @Test public void deleteKuaishouComment() { Long start = System.currentTimeMillis(); List loginList = bindAccountLoginService.getListByParams(CtopAdConstant.PLATFORM_TYPE_KUAISHOU_PY, 1); if (loginList != null && !loginList.isEmpty()) { executorService = Executors.newFixedThreadPool(5); countDownLatch = new CountDownLatch(loginList.size()); loginList.forEach(login -> executorService.submit(() -> { try { kuaishouWebInterfaceService.deleteAllComment(new HashMap<>(), login); } catch (Exception e) { log.error(e.getMessage(), e); } finally { countDownLatch.countDown(); } })); try { countDownLatch.await(); } catch (InterruptedException e) { e.printStackTrace(); } Long end = System.currentTimeMillis(); log.info("快手删评论所用时长:{}毫秒", end - start); } } @Autowired private IUserAllocationService allocationService; @Test public void testLoadBytedanceData() { List allocations = allocationService.getByParams(435L, null, 0); for (UserAllocation allocation : allocations) { for (int i = 2; i < 10; i++) { CtopOauthToken token = oauthTokenService.getTokenByAccountId(allocation.getAccountId()); Date getDate = DateUtils.addDay(new Date(), -i); reportService.getAdvertiserReport(token, getDate, getDate, CtopAdConstant.BYTEDANCE_REPORT_TYPE_DAILY); } } } @Test public void loadKuaishouAgentData() { kuaishouReportDailyAgentService.loginAgent(); for (int i = 0; i < 20; i++) { String currentDate = DateUtils.formatDate(DateUtils.addDay(new Date(), -i)); kuaishouReportDailyAgentService.getReport(currentDate, DateUtils.getNowDate("yyyy-MM-dd")); } // // try { // for (int i = 1; i < 30; i++) { // kuaishouReportDailyAgentService.getAccount(i); // } // } catch (Exception e) { // e.printStackTrace(); // } } @Autowired private GroovyScriptExecutor groovyScriptExecutor; @Autowired private ICtopCheckTaskListService checkTaskListService; @Test public void checkDataStateJobTest() { //查询需要检查的任务列表 List ctopCheckTaskList = checkTaskListService.queryExecuteList("checkDataStateJob"); if (ctopCheckTaskList != null) { ctopCheckTaskList.forEach(it -> groovyScriptExecutor.execute(it)); } } @Test public void loadAccountData() { CtopOauthToken token = oauthTokenService.getTokenByAccountId(1665922219192387L); reportService.getAdvertiserReport(token, DateUtils.parseDate("2020-09-01", "yy-MM-dd"), DateUtils.parseDate("2020-09-01", "yy-MM-dd"), CtopAdConstant.BYTEDANCE_REPORT_TYPE_HOURLY); } @Autowired IUReportExportService uReportExportService; @Autowired EmailSendMsgHandle emailSendMsgHandle; @Autowired IUReportService uReportService; @Test public void sendUReport() { uReportService.uReportList().forEach(uReport -> { List uReportSubscriber = uReportService.getUReportSubscriberByFileId(uReport.getString("id")); if (!uReportSubscriber.isEmpty()) { String title = uReport.getString("name").replace(".ureport.xml", ""); String content = "您订阅的日报在附件中请注意查收》》》"; //下载文件到本地 uReportExportService.exportExcel(uReport.getString("name")); uReportSubscriber.forEach(sender -> { emailSendMsgHandle.SendAttachment("bijiequan@c-top.com.cn", title, content, new File(System.getProperty("user.dir") + File.separator + "uReport" + File.separator + uReport.getString("name").replace("ureport.xml", "") + "xlsx")); }); } }); //发完全部订阅,删除文件 File file = new File(System.getProperty("user.dir") + File.separator + "uReport"); File[] files = file.listFiles(); if (files != null && files.length > 0) { for (File f : files) { f.delete(); } } } }