This commit is contained in:
wangjinlei
2024-05-24 17:50:10 +08:00
parent ccd8e25f95
commit 34521517c9
3 changed files with 43 additions and 0 deletions

View File

@@ -109,6 +109,16 @@ public class CourseController {
return R.ok().put("data",chapterDetail);
}
/**
* 开通免费课程
* @param map
* @return
*/
@RequestMapping("/startStudyForMF")
public R startStudyForMF(@RequestBody Map<String,Integer> map){
return courseService.startStudyForMF(map.get("catalogueId"));
}
/**
* 获取课程详情
* @param param

View File

@@ -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<CourseEntity> {
List getMyCourse(int type);
List getCoursePrice();
R startStudyForMF(int catalogueId);
}

View File

@@ -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<CourseDao, CourseEntity> 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<UserCourseBuyEntity> 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<CourseCatalogueChapterEntity> courseCatalogueChapterEntities = courseCatalogueChapterDao.selectList(new LambdaQueryWrapper<CourseCatalogueChapterEntity>().eq(CourseCatalogueChapterEntity::getCatalogueId, c.getId()));
Integer act = 0;