Browse Source

vip定制课

zouxuan 3 months ago
parent
commit
61e2dcb5a1

+ 4 - 0
cooleshow-api/src/main/java/com/yonge/cooleshow/api/feign/AdminFeignService.java

@@ -201,6 +201,10 @@ public interface AdminFeignService {
     @GetMapping("/task/workOverdue")
     HttpResponseResult<Object> workOverdue();
 
+    //课程开始前一20分组提醒
+    @GetMapping("/task/courseStartRemind")
+    HttpResponseResult<Object> courseStartRemind();
+
 
     /**
      * 账号注销校验

+ 5 - 0
cooleshow-api/src/main/java/com/yonge/cooleshow/api/feign/fallback/AdminFeignServiceFallback.java

@@ -201,6 +201,11 @@ public class AdminFeignServiceFallback implements AdminFeignService {
     }
 
     @Override
+    public HttpResponseResult<Object> courseStartRemind() {
+        return null;
+    }
+
+    @Override
     public ImUserInfo register(String userId, String clientType, String username, String avatar) {
         return null;
     }

+ 20 - 0
cooleshow-task/src/main/java/com/yonge/cooleshow/task/jobs/CourseStartRemindTask.java

@@ -0,0 +1,20 @@
+package com.yonge.cooleshow.task.jobs;
+
+import com.yonge.cooleshow.api.feign.AdminFeignService;
+import com.yonge.cooleshow.task.core.BaseTask;
+import com.yonge.cooleshow.task.core.TaskException;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+
+@Service
+public class CourseStartRemindTask extends BaseTask {
+
+    @Resource
+    private AdminFeignService adminFeignService;
+
+    @Override
+    public void execute() throws TaskException {
+        adminFeignService.courseStartRemind();
+    }
+}

+ 4 - 1
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/CourseScheduleServiceImpl.java

@@ -2917,10 +2917,13 @@ public class CourseScheduleServiceImpl extends ServiceImpl<CourseScheduleDao, Co
     @Override
     @Transactional(rollbackFor = Exception.class)
     public void courseStartRemind() {
+        //距离开课时间小于等于20分钟
         List<CourseSchedule> courseSchedules = this.lambdaQuery()
                 .eq(CourseSchedule::getStatus, CourseScheduleEnum.NOT_START.getCode())
+                .in(CourseSchedule::getType, CourseScheduleEnum.PRACTICE.getCode(), CourseScheduleEnum.VIP.getCode())
                 .eq(CourseSchedule::getPushStartMsg, false)
-                .lt(CourseSchedule::getStartTime, DateUtil.offsetMinute(new Date(), 20))
+                .eq(CourseSchedule::getLock, 0)
+                .lt(CourseSchedule::getStartTime, DateUtil.offsetMinute(new Date(), 21))
                 .list();
         if (CollectionUtils.isEmpty(courseSchedules)) {
             return;