java定时+发送通知服务接口

我做的是每天早上八点,查询数据库过期的任务,然后在页面内向用户发送通知(类似钉钉的企业办公软件)
两个表:
1.通知目标表。
在这里插入图片描述
2.消息通知表
在这里插入图片描述
数据库通知模板
在这里插入图片描述

1.Controller类

import org.springframework.scheduling.annotation.Scheduled;
    //过期任务通知:每天早上八点定时发送
//    @RequestMapping(value = "/pushWorkNotification", method = RequestMethod.POST)--测试用
    @Scheduled(cron = "0 0 8 * * ?")
    public void pushWorkNotification(){
   
        this.service.pushWorkNotification();
    }

2.service类

 public void pushWorkNotification() {
   
        //先查询要过期的工作任务,以及去掉已经发送过的任务,然后遍历发送通知

        ArrayList<WorkTaskEntity> a = service.workTaskMybatisDao.findPushWorkNotificationList();
        //存发送目标的id
        ArrayList<MessageAimEntity> sendEmpIds = new ArrayList<>();
        for (WorkTaskEntity b : a) {
   
            List<Integer> workMembers = service.workTaskMybatisDao.findWorkMembers(b.getId());
            b.setMemberId(workMembers);
            List<Integer> prjMembers = service.workTaskMybatisDao.findPrjMembers(b.getSourceProjectId());
            b.setPrjSourceEmp(prjMembers);
            List<Integer> prjMembers1 = service.workTaskMybatisDao.findPrjMembers(b.getTargetProjectId());
            b.setPrjTargetEmp(prjMembers1);
        }


        for (WorkTaskEntity b : a) {
   
            if (b.getCreateEmpId() != null) {
   
                MessageAimEntity messageAimEntity = new MessageAimEntity();
                messageAimEntity.setEmpId(b.getCreateEmpId
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值