From 34521517c9e3472d92b1ac3b015a7f22d6ac25c1 Mon Sep 17 00:00:00 2001 From: wangjinlei <751475802@qq.com> Date: Fri, 24 May 2024 17:50:10 +0800 Subject: [PATCH] bug --- .../controller/CourseController.java | 10 +++++++ .../sociology/service/CourseService.java | 3 ++ .../service/impl/CourseServiceImpl.java | 30 +++++++++++++++++++ 3 files changed, 43 insertions(+) diff --git a/src/main/java/com/peanut/modules/sociology/controller/CourseController.java b/src/main/java/com/peanut/modules/sociology/controller/CourseController.java index 508cae5d..237f9d50 100644 --- a/src/main/java/com/peanut/modules/sociology/controller/CourseController.java +++ b/src/main/java/com/peanut/modules/sociology/controller/CourseController.java @@ -109,6 +109,16 @@ public class CourseController { return R.ok().put("data",chapterDetail); } + /** + * 开通免费课程 + * @param map + * @return + */ + @RequestMapping("/startStudyForMF") + public R startStudyForMF(@RequestBody Map map){ + return courseService.startStudyForMF(map.get("catalogueId")); + } + /** * 获取课程详情 * @param param diff --git a/src/main/java/com/peanut/modules/sociology/service/CourseService.java b/src/main/java/com/peanut/modules/sociology/service/CourseService.java index 6ba8701b..279af71e 100644 --- a/src/main/java/com/peanut/modules/sociology/service/CourseService.java +++ b/src/main/java/com/peanut/modules/sociology/service/CourseService.java @@ -2,6 +2,7 @@ package com.peanut.modules.sociology.service; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; +import com.peanut.common.utils.R; import com.peanut.modules.common.entity.CourseCatalogueChapterEntity; import com.peanut.modules.common.entity.CourseEntity; import com.peanut.modules.common.to.ParamTo; @@ -25,4 +26,6 @@ public interface CourseService extends IService { List getMyCourse(int type); List getCoursePrice(); + + R startStudyForMF(int catalogueId); } diff --git a/src/main/java/com/peanut/modules/sociology/service/impl/CourseServiceImpl.java b/src/main/java/com/peanut/modules/sociology/service/impl/CourseServiceImpl.java index b260b1d6..e6322998 100644 --- a/src/main/java/com/peanut/modules/sociology/service/impl/CourseServiceImpl.java +++ b/src/main/java/com/peanut/modules/sociology/service/impl/CourseServiceImpl.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.github.yulichang.wrapper.MPJLambdaWrapper; +import com.peanut.common.utils.R; import com.peanut.common.utils.ShiroUtils; import com.peanut.modules.common.dao.*; import com.peanut.modules.common.entity.*; @@ -157,6 +158,35 @@ public class CourseServiceImpl extends ServiceImpl impl return flag; } + @Override + public R startStudyForMF(int catalogueId) { + Integer uId = ShiroUtils.getUId(); + CourseCatalogueEntity courseCatalogueEntity = courseCatalogueDao.selectById(catalogueId); + if(courseCatalogueEntity.getType()!=0){ + return R.error("领取失败,此课程为非免费课程"); + } + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(UserCourseBuyEntity::getUserId,uId); + wrapper.eq(UserCourseBuyEntity::getCatalogueId,catalogueId); + wrapper.lt(UserCourseBuyEntity::getEndTime,new Date()); + Integer integer = userCourseBuyDao.selectCount(wrapper); + if(integer>0){ + return R.error("您已拥有本门课程,无需领取"); + } + UserCourseBuyEntity userCourseBuyEntity = new UserCourseBuyEntity(); + userCourseBuyEntity.setUserId(uId); + userCourseBuyEntity.setCourseId(courseCatalogueEntity.getCourseId()); + userCourseBuyEntity.setDays(30); + userCourseBuyEntity.setCreateTime(new Date()); + userCourseBuyEntity.setStartTime(new Date()); + Calendar cal = Calendar.getInstance(); + cal.setTime(new Date()); + cal.add(Calendar.DAY_OF_MONTH,30); + userCourseBuyEntity.setEndTime(cal.getTime()); + userCourseBuyDao.insert(userCourseBuyEntity); + return R.ok(); + } + private Integer catalogueCompletion(CourseCatalogueEntity c){ List courseCatalogueChapterEntities = courseCatalogueChapterDao.selectList(new LambdaQueryWrapper().eq(CourseCatalogueChapterEntity::getCatalogueId, c.getId())); Integer act = 0;