发表于: 2019-10-25 10:38:02
1 999
今天完成的事情:(一定要写非常细致的内容,比如说学会了盒子模型,了解了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=''
收获:(通过今天的学习,学到了什么知识)
评论