package com.fs.qw.qwTask;

import com.fs.qw.service.IQwExternalContactService;
import com.fs.qw.service.IQwGroupMsgService;
import com.fs.sop.service.impl.QwSopLogsServiceImpl;
import com.fs.sop.service.impl.QwSopServiceImpl;
import com.fs.sop.service.ISopUserLogsService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

@Component("qwTask")
public class qwTask {

    @Autowired
    private QwSopServiceImpl qwSopService;

    @Autowired
    private QwSopLogsServiceImpl qwSopLogsService;

    @Autowired
    private IQwGroupMsgService qwGroupMsgService;

    @Autowired
    private ISopUserLogsService sopUserLogsService;
    @Autowired
    private IQwExternalContactService qwExternalContactService;
    //正在使用
    public void qwExternalContact()
    {
        qwExternalContactService.qwExternalContactSync();
    }
    //正在使用
    public void qwExternalContactAddAndDel()
    {
        qwExternalContactService.qwExternalContactSyncAddAndDel();
    }
    //正在使用
    public void qwExternalContactSyncAddRedis()
    {
        qwExternalContactService.qwExternalContactSyncAddRedis();
    }
    //正在使用
    public void qwExternalContactAddRedis()
    {
        qwExternalContactService.qwExternalContactAddRedis();
    }
    //正在使用
    public void qwExternalContactAddAndDelByRedis()
    {
        qwExternalContactService.qwExternalContactAddAndDelByRedis();
    }
    //正在使用
    public void qwExternalContactAddTag()
    {
        qwExternalContactService.qwExternalContactAddCourseTag();
    }

    /**
    * 定时任务 将 qw_sop任务 符合条件的录入到sop_user_Logs(clickHouse)
    */
    public void qwCheckSopRuleTime()
    {
        qwSopService.checkSopRuleTime();
    }

    /**
    * 定时任务 将 clickHouse的sopUserLogs(营期表)按每小时的巡回 录入clickHouse的qw_sop_logs(消息发送表)
    */
    public void selectSopUserLogsListByTime(){
        sopUserLogsService.selectSopUserLogsListByTime();
    }

    /**
    * 定时 发送 通过调用 企业微信接口 发送的 SOP 群发消息
    */
    public void SendQwApiSopLogTimer(){
        qwSopLogsService.checkQwSopLogs();
    }

    /**
    * 定时获取 通过调用 企业微信接口 发送的 SOP 客户群发消息 的反馈结果
    */
    public void GetQwApiSopLogResultTimer(){
        qwSopLogsService.qwSopLogsResult();
    }

    /**
    * 定时群发API接口的 客户/群 群发
    */
    public void sendQwGroupMsgTask(){
        qwGroupMsgService.qwGroupMsgTask();
    }

    /**
    *  定时更新 待发送中已经算过期了的不能发的消息
    */
    public void updateQwSopLogsBySendStatusTask(){
        qwSopLogsService.updateQwSopLogsBySendStatus();
    }
}
