package com.nbclass.activity.task;

import javax.annotation.Resource;

import org.springframework.scheduling.annotation.Async;
import org.springframework.scheduling.annotation.EnableAsync;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;

import com.nbclass.activity.service.WxUserService;

import lombok.extern.slf4j.Slf4j;

/**
 * 定时任务
 * @author Leon
 * @datetime 2020年6月2日 下午6:53:05
 */
@Slf4j
@Component
@EnableScheduling   // 1.开启定时任务
@EnableAsync        // 2.开启多线程/异步注解
public class MultiThreadScheduleTask {

    @Resource
    private WxUserService wxUserService;

    /**
     * 定时同步企业微信用户
     */
    @Async
    @Scheduled(cron="0 0 */6 * * ? ") // 每6小时运行一次
    public void syncWxUser() {
    	log.info("同步企业微信用户 ......");
    	wxUserService.syncWxUser();
    }

    /**
     * 定时同步企业微信部门
     */
    @Async
	/* @Scheduled(fixedDelay = 1000*120) */
    @Scheduled(cron="0 0 1 * * ?") // 每天凌晨1点执行一次
    public void syncWxDepartment() {
    	log.info("同步企业微信部门 ......");
    	wxUserService.syncWxDepartment();
    }

    /**
     * 每天中午12点触发：0 0 12 * * ?
     * 每天凌晨1点执行一次：0 0 1 * * ?
     * 每隔1分钟执行一次：0 *\/1 * * * ?
     */

}
