liujie
2 天以前 3033ccf3878fae2c204df53be2a283f29f5853ed
ruoyi-system/src/main/java/com/ruoyi/system/task/jobs/LivePushJob.java
@@ -1,9 +1,20 @@
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;
/**
 * 直播推送定时任务
@@ -18,9 +29,23 @@
   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();
      }