package org.dromara.factory;


import org.dromara.common.core.utils.SpringUtils;
import org.dromara.domain.communityNews.CommentLikes;
import org.dromara.domain.communityNews.CommentStars;
import org.dromara.service.ICommentLikesService;
import org.dromara.service.ICommentStarsService;

import java.util.TimerTask;

/**
 * 异步工厂（产生任务用）
 *
 * @author ruoyi
 */
public class AsyncFactory
{
    /**
     * 点赞操作
     *
     * @param commentLikes 点赞信息
     * @return 任务task
     */
    public static TimerTask giveTheThumbs(final CommentLikes commentLikes)
    {
        return new TimerTask()
        {
            @Override
            public void run()
            {
                System.out.println("进入异步点赞方法");
                // 进行点赞操作
                SpringUtils.getBean(ICommentLikesService.class).giveTheThumbs(commentLikes);
                System.out.println("完成异步点赞方法");
            }
        };
    }

    /**
     * 社区资讯收藏操作
     *
     * @param commentStars 收藏信息
     * @return 任务task
     */
    public static TimerTask getStars(final CommentStars commentStars)
    {
        return new TimerTask()
        {
            @Override
            public void run()
            {
                System.out.println("进入异步社区资讯收藏方法");
                // 进行收藏操作
                SpringUtils.getBean(ICommentStarsService.class).getStars(commentStars);
                System.out.println("完成异步社区资讯收藏方法");
            }
        };
    }

    /**
     * 党建收藏操作
     *
     * @param commentStars 收藏信息
     * @return 任务task*/

    public static TimerTask getPartyNewsStars(final CommentStars commentStars)
    {
        return new TimerTask()
        {
            @Override
            public void run()
            {
                System.out.println("进入异步党建收藏方法");
                // 进行收藏操作
                SpringUtils.getBean(ICommentStarsService.class).getPartyNewsStars(commentStars);
                System.out.println("完成异步党建收藏方法");
            }
        };
    }


}
