AudioJob.java 2.97 KB
package com.cnlive.shenhe.job;

import com.cnlive.shenhe.entity.ShyAudio;
import com.cnlive.shenhe.service.AudioService;
import com.cnlive.shenhe.utils.CommonConst;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;

import java.util.List;

/**
 * @Author: xujincheng
 * @Date: 2020/6/18 13:06
 */
@Component
public class AudioJob {

    private static Logger logger = LoggerFactory.getLogger(AudioJob.class);

    @Autowired
    AudioService audioService;

    /**
     * 白名单sp音频通过
     */
    @Scheduled(fixedRate = 60 * 1000)
    public void updateAudio() {
        ShyAudio shyAudio = new ShyAudio();
        // 审核类型为免审
        shyAudio.setShenhe_type(CommonConst.AUDIT_TYPE_FREE);
        // 审核状态为未审核
        shyAudio.setState(CommonConst.AUDIT_INTT);
        List<ShyAudio> shyAudioList = audioService.findshyAudio(shyAudio);
        if (shyAudioList != null && shyAudioList.size() > 0) {
            for (ShyAudio audio : shyAudioList) {
                logger.info("当前白名单通过的AudioId:" + audio.getAudioId());
                shyAudio.setUploader("白名单");
                // 更新点播音频和审核的音频状态
                audioService.updateAudioAndShenhe(audio, CommonConst.AUDIT_SUCCESS);
            }
        }
    }


    /**
     * 定时向易盾发送点播音频进行检测
     * (每五分钟执行一次)
     */
    @Scheduled(cron = "0 0/5 * * * ?")
    public void audioFilter() {
        ShyAudio shyAudio = new ShyAudio();
        //审核类型为机审
        shyAudio.setShenhe_type(CommonConst.AUDIT_TYPE_MACHANE);
        //待审核状态
        shyAudio.setState(CommonConst.AUDIT_INTT);
        List<ShyAudio> shyAudioList = audioService.findshyAudio(shyAudio);
        if (shyAudioList != null && shyAudioList.size() > 0) {
            for (ShyAudio audio : shyAudioList) {
                logger.info("定时向易盾发送点播音频检测视频的audioId:" + audio.getAudioId());
                audioService.audioFilter(audio);
            }
        }
    }

    /**
     * 自动退领
     * (每天0点执行)
     */
    @Scheduled(cron = "0 0 0 * * ? ")
    public void audioRetReceive() {
        logger.info("音频自动退领的进入.....");
        ShyAudio shyAudio = new ShyAudio();
        //审核状态:未审核
        shyAudio.setState(CommonConst.AUDIT_INTT);
        //已领取
        shyAudio.setReceive(CommonConst.RECEIVE_AFTER);
        List<ShyAudio> shyAudioList = audioService.findshyAudio(shyAudio);
        for (ShyAudio audio : shyAudioList) {
            logger.info("自动退领的音频id:" + audio.getId());
            //未领取
            audio.setReceive(CommonConst.RECEIVE_BEFORE);
            audio.setReceive_user_id(null);
            audioService.updateAudioMsg(audio);
        }
    }
}