package org.jeecg.modules.xxl;

import com.xxl.job.core.biz.model.ReturnT;
import com.xxl.job.core.handler.annotation.XxlJob;

import lombok.extern.slf4j.Slf4j;

import org.jeecg.modules.adweb.common.util.CommonUtil;
import org.jeecg.modules.adweb.dmp.service.google.GAReportService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

/**
 * GA报表数据同步任务，{@link GAReportService}
 *
 * @author wfansh
 */
@Slf4j
@Component
public class GAReportJob {

    @Autowired private GAReportService gaReportService;

    /**
     * 查询GA数据 - 报表以为天为单位，且覆盖旧数据，建议每天执行一至三次
     *
     * @param siteCodes
     * @return
     */
    @XxlJob("syncGAReportHandler") // Cron表达式示例：0 0 */8 * * ? 表示每8小时执行一次
    public ReturnT<String> syncGAReportHandler(String siteCodes) {
        log.info("同步GA报表数据...");
        gaReportService.syncGAReport(CommonUtil.splitAndTrim(siteCodes, ","));
        log.info("同步GA报表数据结束");

        return ReturnT.SUCCESS;
    }
}
