Procházet zdrojové kódy

增加课程组 定时任务-定时修改为报名中状态

hgw před 3 roky
rodič
revize
56cfc43fb7

+ 5 - 5
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/enums/CourseGroupEnum.java

@@ -4,12 +4,12 @@ import com.baomidou.mybatisplus.annotation.EnumValue;
 import com.yonge.cooleshow.common.enums.BaseEnum;
 import com.yonge.cooleshow.common.enums.BaseEnum;
 
 
 public enum CourseGroupEnum implements BaseEnum<String,CourseGroupEnum> {
 public enum CourseGroupEnum implements BaseEnum<String,CourseGroupEnum> {
-    ING("ING", "进行中"),
-    COMPLETE("COMPLETE", "已完成"),
+    ING("ING", "进行中"),//课程已开始进行中
+    COMPLETE("COMPLETE", "已完成"),//课程组课程全部完成
     DISSOLVE("DISSOLVE", "未成课"),//解散课程
     DISSOLVE("DISSOLVE", "未成课"),//解散课程
-    CANCEL("CANCEL", "已取消"),
-    APPLY("APPLY", "报名中"),
-    NOT_SALE("NOT_SALE", "未开售");
+    CANCEL("CANCEL", "已取消"),//课程已取消
+    APPLY("APPLY", "报名中"),//开售中可以报名
+    NOT_SALE("NOT_SALE", "未开售");//还未到开售日期
 
 
     @EnumValue
     @EnumValue
     private String code;
     private String code;

+ 5 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/CourseGroupService.java

@@ -135,5 +135,10 @@ public interface CourseGroupService extends IService<CourseGroup> {
      * 学生购买直播课程-成功-回调
      * 学生购买直播课程-成功-回调
      */
      */
     void buyLiveCourseSuccess(UserOrderDetailVo orderParam);
     void buyLiveCourseSuccess(UserOrderDetailVo orderParam);
+
+    /**
+     * 定时任务-定时修改为报名中状态-每隔10分钟执行一次
+     */
+    void openCourseGroup();
 }
 }
 
 

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

@@ -641,7 +641,7 @@ public class CourseGroupServiceImpl extends ServiceImpl<CourseGroupDao, CourseGr
         //总课酬  1 - (1 * 手续费率)
         //总课酬  1 - (1 * 手续费率)
         BigDecimal totalRatePrice = expectPrice.subtract(expectPrice.multiply(liveServiceRate)).setScale(2, RoundingMode.HALF_UP);
         BigDecimal totalRatePrice = expectPrice.subtract(expectPrice.multiply(liveServiceRate)).setScale(2, RoundingMode.HALF_UP);
         //获取每节课的课酬 key 课堂数  value 课酬
         //获取每节课的课酬 key 课堂数  value 课酬
-        Map<Integer, BigDecimal> singerCourseSalary =  getCourseAveragePrice(courseGroup.getCourseNum(), totalRatePrice);
+        Map<Integer, BigDecimal> singerCourseSalary = getCourseAveragePrice(courseGroup.getCourseNum(), totalRatePrice);
         //写入课酬表计算-根据课程组总金额计算分配到每节课的金额
         //写入课酬表计算-根据课程组总金额计算分配到每节课的金额
         Date now = new Date();
         Date now = new Date();
         List<CourseScheduleTeacherSalary> teacherSalaryList = new ArrayList<>();
         List<CourseScheduleTeacherSalary> teacherSalaryList = new ArrayList<>();
@@ -707,5 +707,25 @@ public class CourseGroupServiceImpl extends ServiceImpl<CourseGroupDao, CourseGr
         return Optional.ofNullable(sysUserFeignService.queryUserInfo())
         return Optional.ofNullable(sysUserFeignService.queryUserInfo())
                 .orElseThrow(() -> new BizException("用户不存在"));
                 .orElseThrow(() -> new BizException("用户不存在"));
     }
     }
+
+    /**
+     * 定时任务-定时修改为报名中状态-每隔10分钟执行一次
+     */
+    public void openCourseGroup() {
+        LocalDate toDay = LocalDate.now();
+        //查询今天未开售的课程组
+        List<CourseGroup> courseGroupList = this.list(Wrappers.<CourseGroup>lambdaQuery()
+                .eq(CourseGroup::getSalesStartDate, toDay.toString())
+                .eq(CourseGroup::getStatus, CourseGroupEnum.NOT_SALE.getCode()));
+        if (CollectionUtils.isEmpty(courseGroupList)) {
+            return;
+        }
+        //修改为报名中状态
+        courseGroupList.forEach(courseGroup -> {
+            courseGroup.setStatus(CourseGroupEnum.APPLY.getCode());
+            this.updateById(courseGroup);
+        })  ;
+    }
+
 }
 }