74:第六章:开发文章服务:7:定时发布文章;(使用到了Spring的定时任务;)(这儿的方案,需要定期全局扫描article表,这效率是很低的,后面会使用MQ来做优化;)

说明:

(1)本篇博客内容:开发定时发布文章的逻辑;

目录

一:发表文章时,可以定时发布;

二:定时任务技术,简介;

三:本项目,定时发布的处理逻辑;

四:编写定时发布任务,所需的Service层和Dao层逻辑;

1.1 在【article】文章服务中,创建ArticleMapperCustom这个mapper接口:定义了一个修改文章发布状态的方法;

1.2 在【article】文章服务中,创建ArticleMapperCustom.xml:去编写修改文章发布状态的方法的SQL实现;

2.1 在【article】文章服务中的ArticleService接口中:定义了一个修改文章发布状态的方法;

2.2 在【article】文章服务中的ArticleServiceImpl实现类中:去实现修改文章发布状态的方法;

五:使用Spring的定时任务技术,去实现定时发布文章;(重点)

六:效果;

七:本篇博客需要改正的一个点:每隔3秒就要全局扫描一遍article表,效率是很低的;(后面会通过MQ来做优化)


一:发表文章时,可以定时发布;


二:定时任务技术,简介;

(1)在【SSM开发书评网27:Spring-Task定时任务,来实现【更新评分、评价人数】的功能;(其中,包括Cron表达式,@Scheduled任务调度注解)】中,我们第一次介绍了Spring的定时任务;务必去参考一下;

(2.1)Cron表达式生成器:【在线Cron表达式生成器】,通过这个在线工具,可以帮我们生成Cron表达式;

(2.2)然后,Spring提供的@Scheduled()中,是不支持年的;所以,我们使用这个Cron表达式生成器生成Cron表达式后,记得要去除最后一位年;


三:本项目,定时发布的处理逻辑;

即其逻辑是:

           ● 我们定时发布文章时,和正常发布文章一样;文章图片会上传到阿里OSS,文章内容也会写到article表中;

           ● 只是,该文章在article中的那条记录中;is_apponit文章发布状态会是1(定时发布),publish_time文章预发布时间会是我们设置的时间;

           ● 因为文章的is_apponit文章发布状态是1,所以在前台显示所有文章的地方,这篇文章不会被查出来;

           ● 当到了定时发布的时间时,我们就去修改is_apponit为0(即时发布);这样一来,在前台显示所有文章的地方,这篇文章就会被查出来,也就相当于这篇文章发布了;(感觉,CSDN这儿的处理逻辑,也差不多是这样的)


四:编写定时发布任务,所需的Service层和Dao层逻辑;

1.1 在【article】文章服务中,创建ArticleMapperCustom这个mapper接口:定义了一个修改文章发布状态的方法;

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值