package com.reyun.task;

import com.reyun.service.SynchronizeCampaignTaskService;
import com.reyun.util.Constant;
import com.reyun.util.RedisUtilNew;
import org.joda.time.DateTime;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

/**
 * Created by mxq on 17/5/27.
 * description:同步gdt推广活动定时任务
 */
@Service
public class SynchronizeCampaignTask {

    private static Logger logger = LoggerFactory.getLogger(SynchronizeCampaignTask.class);
    private static int EXPIRE_PERIOD = 100;

    @Autowired
    private SynchronizeCampaignTaskService synchronizeCampaignTaskService;

    public void run() {

        if (RedisUtilNew.getInstance().tryLock("SynchronizeCampaignTask", EXPIRE_PERIOD) != null) {

            logger.info("实时同步campaign................//开始, 执行时间: {}", DateTime.now());
            if (Constant.awsneed) {
                synchronizeCampaignTaskService.syncThirdCammpaigns("-1");
            }

            logger.info("实时同步campaign...............//结束");
        } else {
            logger.info("另一任务正在执行 实时同步 {}", DateTime.now());
        }


    }

    //2020-05-25 张耀 禅道1053 由于广点通分包子活动Campaignid生成规则变更,现在需要把旧分包子活动表中的Campaignid修改为新生成的Campaignid
    public void synchronizeOldGdtPkgSubCampaign() {
        if (RedisUtilNew.getInstance().tryLock("synchronizeOldGdtPkgSubCampaign", EXPIRE_PERIOD) != null) {

            logger.info("同步广点通分包子活动新规则生成的campaignid................//开始, 执行时间: {}", DateTime.now());
            if (Constant.awsneed) {
                synchronizeCampaignTaskService.synchronizeOldGdtPkgSubCampaign();
            }

            logger.info("同步广点通分包子活动新规则生成的campaignid...............//结束");
        } else {
            logger.info("另一任务正在执行 实时同步 {}", DateTime.now());
        }


    }
}