|
@@ -1,109 +0,0 @@
|
|
|
-package org.jeecg.modules.ctop.job;
|
|
|
-
|
|
|
-import cn.com.ctop.common.module.entity.CtopOauthToken;
|
|
|
-import cn.com.ctop.common.module.entity.UserAllocation;
|
|
|
-import cn.com.ctop.common.module.service.ICtopOauthTokenService;
|
|
|
-import cn.com.ctop.common.module.service.IUserAllocationService;
|
|
|
-import cn.com.ctop.common.module.utils.CtopAdConstant;
|
|
|
-import cn.com.ctop.toutiao.modules.report.entity.BytedancePlanDailyReport;
|
|
|
-import cn.com.ctop.toutiao.modules.report.service.IBytedancePlanDailyReportService;
|
|
|
-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.quartz.Job;
|
|
|
-import org.quartz.JobExecutionContext;
|
|
|
-import org.quartz.JobExecutionException;
|
|
|
-import org.springframework.beans.factory.annotation.Autowired;
|
|
|
-
|
|
|
-import java.text.SimpleDateFormat;
|
|
|
-import java.util.Date;
|
|
|
-import java.util.List;
|
|
|
-
|
|
|
-/**
|
|
|
- * DONE
|
|
|
- * 头条计划日报数据任务
|
|
|
- * @author 宋英豪
|
|
|
- */
|
|
|
-@Slf4j
|
|
|
-public class BytedancePlanDailyReportLoadJob implements Job {
|
|
|
- @Autowired
|
|
|
- private ICtopOauthTokenService tokenService;
|
|
|
- @Autowired
|
|
|
- private IReportService reportService;
|
|
|
- @Autowired
|
|
|
- private IUserAllocationService userAllocationService;
|
|
|
- @Autowired
|
|
|
- private IBytedancePlanDailyReportService planDailyReportService;
|
|
|
-
|
|
|
-
|
|
|
- @Override
|
|
|
- public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
|
|
|
- Date getDate = DateUtils.addDay(new Date(), -1);
|
|
|
- //1:查询当日数据
|
|
|
- List<CtopOauthToken> tokens = tokenService.getTokenListByType(CtopAdConstant.PLATFORM_TYPE_BYTEDANCE);
|
|
|
- if (null == tokens || tokens.size() <= 0) {
|
|
|
- log.info("定时获取头条数据异常:为获取到可用的token");
|
|
|
- return;
|
|
|
- }
|
|
|
- tokens.forEach(token -> {
|
|
|
- //获取广告计划信息数据
|
|
|
- reportService.getAdvertiserPlanReport(token, getDate, getDate, CtopAdConstant.BYTEDANCE_REPORT_TYPE_DAILY);
|
|
|
- });
|
|
|
- formatZybData(215, getDate);
|
|
|
- planDailyReportService.cleanChannelCodeData(112, getDate);
|
|
|
- planDailyReportService.cleanChannelCodeData(113, getDate);
|
|
|
- planDailyReportService.cleanChannelCodeData(222, getDate);
|
|
|
- planDailyReportService.cleanYzData(151);
|
|
|
- planDailyReportService.cleanChannelCodeData(235, getDate);
|
|
|
- planDailyReportService.cleanChannelCodeData(270, getDate);
|
|
|
- }
|
|
|
-
|
|
|
- private void formatZybData(Integer projectId, Date getDate) {
|
|
|
- //清洗关于作业帮数据
|
|
|
- //1:查询作业帮相关的用户数据
|
|
|
- QueryWrapper<UserAllocation> wrapper = new QueryWrapper<>();
|
|
|
- wrapper.eq("project_id", projectId);
|
|
|
- List<UserAllocation> allocations = userAllocationService.list(wrapper);
|
|
|
- if(null!=allocations&&allocations.size()>0){
|
|
|
- allocations.forEach(allocation->{
|
|
|
- //根据accountId和时间,查询相关的日报表信息
|
|
|
- QueryWrapper<BytedancePlanDailyReport> queryWrapper = new QueryWrapper<>();
|
|
|
- SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
|
|
|
- String dateString = dateFormat.format(getDate)+" 00:00:00";
|
|
|
- queryWrapper.eq("advertiser_id",allocation.getAccountId())
|
|
|
- .eq("stat_datetime",dateString)
|
|
|
- ;
|
|
|
- List<BytedancePlanDailyReport>bytedancePlanDailyReports = planDailyReportService.list(queryWrapper);
|
|
|
- if(null!=bytedancePlanDailyReports&&bytedancePlanDailyReports.size()>0){
|
|
|
- bytedancePlanDailyReports.forEach(report->{
|
|
|
- String adName = report.getAdName();
|
|
|
- String[] tags = adName.split("-");
|
|
|
- report.setAdsense(tags[1]);
|
|
|
- report.setPlanCode(tags[2]);
|
|
|
- String materialName = tags[3];
|
|
|
- report.setMaterialName(materialName);
|
|
|
- if (materialName.contains("其他")) {
|
|
|
- report.setMaterialType("其他");
|
|
|
- } else if (materialName.contains("图片轮播")) {
|
|
|
- report.setMaterialType("图片轮播");
|
|
|
- } else if (materialName.contains("大字报")) {
|
|
|
- report.setMaterialType("大字报");
|
|
|
- } else if (materialName.contains("文字动画")) {
|
|
|
- report.setMaterialType("文字动画");
|
|
|
- } else if (materialName.contains("采访形式")) {
|
|
|
- report.setMaterialType("采访形式");
|
|
|
- } else if (materialName.contains("剧情")) {
|
|
|
- report.setMaterialType("剧情");
|
|
|
- } else if (materialName.contains("口播")) {
|
|
|
- report.setMaterialType("口播");
|
|
|
- }else{
|
|
|
- report.setMaterialType("其他");
|
|
|
- }
|
|
|
- planDailyReportService.updateById(report);
|
|
|
- });
|
|
|
- }
|
|
|
- });
|
|
|
- }
|
|
|
- }
|
|
|
-}
|