ruoyi-common/src/main/java/com/ruoyi/common/utils/DateUtils.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TSysLiveServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ruoyi-system/src/main/java/com/ruoyi/system/task/base/AbstractJob.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ruoyi-system/src/main/java/com/ruoyi/system/task/base/TimeJobType.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ruoyi-system/src/main/java/com/ruoyi/system/task/jobs/LivePushJob.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ruoyi-system/src/main/java/com/ruoyi/system/task/jobs/StateProcessJob.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
ruoyi-common/src/main/java/com/ruoyi/common/utils/DateUtils.java
@@ -369,6 +369,15 @@ } /** * LocalDateTime转为Date * @param time * @return */ public static Date localDateTimeToDate(LocalDateTime time) { return Date.from(time.atZone(ZoneId.systemDefault()).toInstant()); } /** * localdate转为字符串 * * @param time localdate ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TSysLiveServiceImpl.java
@@ -1,18 +1,25 @@ package com.ruoyi.system.service.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.google.common.collect.ImmutableMap; import com.ruoyi.common.basic.PageInfo; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.utils.DateUtils; import com.ruoyi.system.mapper.TSysLiveMapper; import com.ruoyi.system.model.TSysEducationalInfo; import com.ruoyi.system.model.TSysLive; import com.ruoyi.system.query.TSysLiveQuery; import com.ruoyi.system.service.TSysLiveService; import com.ruoyi.system.task.base.QuartzManager; import com.ruoyi.system.task.base.TimeJobType; import com.ruoyi.system.task.jobs.LivePushJob; import com.ruoyi.system.vo.TSysLiveVO; import org.springframework.stereotype.Service; import java.time.LocalDateTime; import java.util.Date; import java.util.List; import java.util.Map; import java.util.Objects; /** @@ -30,10 +37,24 @@ public R pushUser(String id, String pushType) { TSysLive sysLive = this.getById(id); if (Objects.nonNull(sysLive)){ // 判断直播开始时间是否在当前时间之后 if (sysLive.getStartTime().isBefore(LocalDateTime.now())){ return R.fail("直播已开始,无法配置推送"); } sysLive.setPushType(pushType); this.updateById(sysLive); // TODO 添加定时推送 // 添加定时任务 直播开始推送 Map<String, ? extends Object> maps = new ImmutableMap.Builder<String, String>(). put("id", sysLive.getId()) .build(); QuartzManager.addJob( LivePushJob.class, (LivePushJob.name+sysLive.getId()).toUpperCase(), TimeJobType.LIVE_PUSH, DateUtils.localDateTimeToDate(sysLive.getStartTime()), maps ); } return R.ok(); } ruoyi-system/src/main/java/com/ruoyi/system/task/base/AbstractJob.java
@@ -3,6 +3,7 @@ import com.aizuda.bpm.mybatisplus.mapper.FlwTaskActorMapper; import com.aizuda.bpm.mybatisplus.mapper.FlwTaskMapper; import com.ruoyi.system.service.ISysUserService; import com.ruoyi.system.service.TSysLiveService; import com.ruoyi.system.task.utils.SpringContextsUtil; import org.quartz.Job; import org.quartz.JobExecutionContext; @@ -16,14 +17,12 @@ @Override public abstract void execute(JobExecutionContext context) throws JobExecutionException; protected FlwTaskMapper flwTaskMapper; protected FlwTaskActorMapper flwTaskActorMapper; protected ISysUserService sysUserService; protected TSysLiveService sysLiveService; public AbstractJob(){ this.flwTaskMapper = SpringContextsUtil.getBean(FlwTaskMapper.class); this.flwTaskActorMapper = SpringContextsUtil.getBean(FlwTaskActorMapper.class); this.sysUserService = SpringContextsUtil.getBean(ISysUserService.class); this.sysLiveService = SpringContextsUtil.getBean(TSysLiveService.class); } ruoyi-system/src/main/java/com/ruoyi/system/task/base/TimeJobType.java
@@ -5,7 +5,7 @@ * @date 2025年2月17日 下午7:22:28 */ public enum TimeJobType { AUTO_AUDIT("auto_audit","自动审核"); LIVE_PUSH("live_push","直播推送"); private String type; private String desc; private TimeJobType(String type, String desc) { ruoyi-system/src/main/java/com/ruoyi/system/task/jobs/LivePushJob.java
New file @@ -0,0 +1,29 @@ package com.ruoyi.system.task.jobs; import com.ruoyi.system.task.base.AbstractJob; import org.quartz.JobDataMap; import org.quartz.JobExecutionContext; import org.quartz.JobExecutionException; /** * 直播推送定时任务 * @author Administrator * */ public class LivePushJob extends AbstractJob { public static final String name = "livePush_"; @Override public void execute(JobExecutionContext context) throws JobExecutionException { JobDataMap maps = context.getMergedJobDataMap(); Long liveId = maps.getLong("id"); try { System.out.println("开始执行直播推送任务"); }catch(Exception e){ e.printStackTrace(); } } } ruoyi-system/src/main/java/com/ruoyi/system/task/jobs/StateProcessJob.java
File was deleted