发表于: 2019-10-25 10:38:02

1 996


今天完成的事情:(一定要写非常细致的内容,比如说学会了盒子模型,了解了Margin)

继续学完quartz:

什么是CronTrigger

CronTrigger通常比Simple Trigger更有用,如果您需要基于日历的概念而不是按照SimpleTrigger的精确指定间隔进行重新启动的作业启动计划。

使用CronTrigger,您可以指定号时间表,例如“每周五中午”或“每个工作日和上午9:30”,甚至“每周一至周五上午9:00至10点之间每5分钟”和1月份的星期五“。

即使如此,和SimpleTrigger一样,CronTrigger有一个startTime,它指定何时生效,以及一个(可选的)endTime,用于指定何时停止计划。



明天计划的事情:(一定要写非常细致的内容)
遇到的问题:(遇到什么困难,怎么解决的)

后台消息,立即推送出问题,不能推送。

我修改完之后,发现这个后台接口调用的时候会跳转前台的service实现类。

我将前后台的service实现类改为不同的名字。

        Message message=messageMapper.selectByPrimaryKey(id);
       //该消息
       logger.error("该消息为:"+message);
       message.setPushStatus("已推送");
       message.setPushTime(new Date().getTime()/1000);
       message.setType(0); //改为立即推送
       message.setUpdateAt(new Date().getTime()/1000);
//        Subject subject = SecurityUtils.getSubject();
//        Manager manager1=managerService.getByName(String.valueOf(subject.getPrincipal()));
//        logger.error(String.valueOf(manager1));
//        message.setUpdateBy(manager1.getId());
       message.setUpdateBy(Long.valueOf(1));
       //修改完消息的状态之后,向目标群体推送消息
       int result=messageMapper.updateByPrimaryKeySelective(message);
       logger.error("传入的消息:"+id);
       logger.error("更新结果:"+result);
       //推送到message_user
       List<Integer> list= messageMapper.selectUserIdByMessageTitle(message.getTitle());
       //这里得到对应等级的用户的id
       for (int i=0;i<list.size();i++){
           //遍历整个数组
           //增加到消息用户表
           MessageUser messageUser=new MessageUser();
           messageUser.setUserId(Long.valueOf(list.get(i)));
           messageUser.setMessageId(message.getId());
           //这里设置成未阅读,未删除
           messageUser.setIsread(0);
           messageUser.setIsdelete(0);
           messageUserMapper.insertSelective(messageUser);
       }

这是立即推送的逻辑。

这是关键的sql语句,根据消息的标题搜索指定年级的user

select u.id from user u  JOIN course c on u.grade= c.grade RIGHT JOIN message m on c.course_name=m.title where m.title=''



收获:(通过今天的学习,学到了什么知识)


返回列表 返回列表
评论

    分享到