| | |
| | | package com.ruoyi.system.task.jobs; |
| | | |
| | | import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
| | | import com.ruoyi.common.constant.Constants; |
| | | import com.ruoyi.common.core.domain.entity.SysUser; |
| | | import com.ruoyi.common.utils.DateUtils; |
| | | import com.ruoyi.system.model.TSysAppUser; |
| | | import com.ruoyi.system.model.TSysLive; |
| | | import com.ruoyi.system.task.base.AbstractJob; |
| | | import org.quartz.JobDataMap; |
| | | import org.quartz.JobExecutionContext; |
| | | import org.quartz.JobExecutionException; |
| | | import org.springframework.util.CollectionUtils; |
| | | |
| | | import java.util.List; |
| | | import java.util.Objects; |
| | | import java.util.Set; |
| | | |
| | | /** |
| | | * 直播推送定时任务 |
| | |
| | | public void execute(JobExecutionContext context) |
| | | throws JobExecutionException { |
| | | JobDataMap maps = context.getMergedJobDataMap(); |
| | | Long liveId = maps.getLong("id"); |
| | | String liveId = maps.getString("id"); |
| | | Set<String> userIds = redisCache.getCacheSet(Constants.LIVE_APPOINTMENT_PUSH + liveId); |
| | | if(CollectionUtils.isEmpty(userIds)){ |
| | | return; |
| | | } |
| | | try { |
| | | System.out.println("开始执行直播推送任务"); |
| | | TSysLive sysLive = sysLiveService.getById(liveId); |
| | | if(Objects.nonNull(sysLive)){ |
| | | String liveTitle = sysLive.getLiveTitle(); |
| | | String startTime = DateUtils.localDateTimeToString(sysLive.getStartTime()); |
| | | List<TSysAppUser> sysAppUsers = sysAppUserService.list(Wrappers.lambdaQuery(TSysAppUser.class) |
| | | .in(TSysAppUser::getId, userIds)); |
| | | for(TSysAppUser sysAppUser : sysAppUsers){ |
| | | templateMessageSendUtil.wxTemplateAppLiveResultRequest(sysAppUser.getOpenId(), liveTitle, startTime); |
| | | } |
| | | } |
| | | }catch(Exception e){ |
| | | e.printStackTrace(); |
| | | } |