条令考试小程序辅助器_小程序填坑自动发送考试提醒

填第一个坑,自动发送考试提醒。上次的版本已经可以后台手动发送考试提醒(手动发送微信订阅消息),这次加上一个定时任务,让程序自动发送考试提醒。

我想实现的是:距离考试<=60分钟时,微信自动发送考试提醒。要实现这个,就要用到springboot的定时任务了。

  • 在启动类上开启定时任务
@EnableScheduling  //开启定时任务
  • 使用静态定时任务即可,不需要使用动态定时任务。因为这个提醒时间是固定的,考试前一小时。
@Configuration      //1.主要用于标记配置类,兼备Component的效果。@EnableScheduling   // 2.开启定时任务@AllArgsConstructorpublic class cronConfig {    private final ExamPaperService examPaperService;    private final SendWxMessageController sendWxMessageController;    //3.添加定时任务    @Scheduled(cron = "0 0/30 * * * ?")    //或直接指定时间间隔,例如:5秒    //0 0/30 * * * ?     30分钟执行一次    //0 0/5 * * * ?       5分钟一次    //@Scheduled(fixedRate=5000)    private void configureTasks() throws ParseException {         //过滤试卷,只有考试时间大于现在时间的试卷才查询出来        PaperFilter timeLimitPaperFilter=new PaperFilter();        //限制为时段试卷才发送提醒        timeLimitPaperFilter.setExamPaperType(4);        timeLimitPaperFilter.setDateTime(new Date());        List limitPaper = examPaperService.limitPaper(timeLimitPaperFilter);        for (PaperInfo paperInfo:limitPaper             ) {            SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");            Date a=sdf.parse(sdf.format(paperInfo.getLimitStartTime()));            Date b=sdf.parse(sdf.format(new Date()));            //离考试还有1小时,发送微信提醒            if(a.getTime()-b.getTime()<=3600000)                //发送微信提醒            sendWxMessageController.pushOneUser(paperInfo.getId());        }        //System.err.println("执行静态定时任务时间: " + LocalDateTime.now()+"---"+limitPaper.size());    }}
最终效果如下(测试没有创建测试数据,测试时把筛查条件改成>=3600): 消息发送成功 59eba924d6ce25d242666443b3fca5b2.png控制台日志打印成功 bfe8d7326643a128fc2a04eaea261272.png数据库查询,也只有2个试卷符合 dad077b9b83c4791b1ca334fd5c33450.png
  • 最后,顺便改了下分公司结构
2eb030782ba5eb88bbd760d0f2e2a45f.png最后,剩下的优化抽时间慢慢搞吧。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值