我的课程-修改
This commit is contained in:
@@ -70,5 +70,10 @@ public class CourseCatalogueEntity{
|
||||
*/
|
||||
@TableField(exist = false)
|
||||
private Date endTime;
|
||||
/**
|
||||
* 上次学习时间
|
||||
*/
|
||||
@TableField(exist = false)
|
||||
private Date lastStudyTime;
|
||||
|
||||
}
|
||||
|
||||
@@ -19,6 +19,8 @@ import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@@ -217,8 +219,9 @@ public class CourseController {
|
||||
|
||||
//我的课程-全部
|
||||
@RequestMapping("/getUserCourseBuy")
|
||||
public R getUserCourseBuy(@RequestBody Map<String,Object> param){
|
||||
public R getUserCourseBuy(){
|
||||
List<CourseSociologyEntity> courseSociologyList = courseSociologyService.getCourseSociologyTree();
|
||||
Map<String,Object> param = new HashMap<>();
|
||||
param.put("courseSociologyList",courseSociologyList);
|
||||
List courseList = courseService.getUserCourseBuy(param);
|
||||
return R.ok().put("courseList",courseList);
|
||||
|
||||
@@ -127,7 +127,8 @@ public class CourseServiceImpl extends ServiceImpl<CourseDao, CourseEntity> impl
|
||||
Integer uId = ShiroUtils.getUId();
|
||||
for (CourseCatalogueEntity c :courseCatalogueEntities){
|
||||
List<UserCourseBuyEntity> userCourseBuyList = userCourseBuyDao.selectList(new LambdaQueryWrapper<UserCourseBuyEntity>().eq(UserCourseBuyEntity::getUserId, uId).eq(UserCourseBuyEntity::getCatalogueId, c.getId()));
|
||||
c.setCompletion(catalogueCompletion(c));
|
||||
//完成度、上次学习时间
|
||||
catalogueCompletion(c);
|
||||
if (userCourseBuyList.size() > 0) {
|
||||
c.setIsBuy(1);
|
||||
c.setStartTime(userCourseBuyList.get(0).getStartTime());
|
||||
@@ -225,21 +226,29 @@ public class CourseServiceImpl extends ServiceImpl<CourseDao, CourseEntity> impl
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
private Integer catalogueCompletion(CourseCatalogueEntity c){
|
||||
private void catalogueCompletion(CourseCatalogueEntity c){
|
||||
List<CourseCatalogueChapterEntity> courseCatalogueChapterEntities = courseCatalogueChapterDao.selectList(new LambdaQueryWrapper<CourseCatalogueChapterEntity>().eq(CourseCatalogueChapterEntity::getCatalogueId, c.getId()));
|
||||
Integer act = 0;
|
||||
Date date = null;
|
||||
for (CourseCatalogueChapterEntity cc : courseCatalogueChapterEntities){
|
||||
List<CourseCatalogueChapterVideoEntity> courseCatalogueChapterVideoEntities = courseCatalogueChapterVideoDao.selectList(new LambdaQueryWrapper<CourseCatalogueChapterVideoEntity>().eq(CourseCatalogueChapterVideoEntity::getChapterId, cc.getId()));
|
||||
List<Integer> collect = courseCatalogueChapterVideoEntities.stream().map(CourseCatalogueChapterVideoEntity::getId).collect(Collectors.toList());
|
||||
if(collect.size()==0){
|
||||
continue;
|
||||
}
|
||||
Integer integer = userCourseVideoPositionDao.selectCount(new LambdaQueryWrapper<UserCourseVideoPositionEntity>().eq(UserCourseVideoPositionEntity::getUserId, ShiroUtils.getUId()).in(UserCourseVideoPositionEntity::getVideoId, collect));
|
||||
if (integer>0){
|
||||
List<UserCourseVideoPositionEntity> videoPositionList = userCourseVideoPositionDao.selectList(new LambdaQueryWrapper<UserCourseVideoPositionEntity>().eq(UserCourseVideoPositionEntity::getUserId, ShiroUtils.getUId()).in(UserCourseVideoPositionEntity::getVideoId, collect).orderByDesc(UserCourseVideoPositionEntity::getCreateTime));
|
||||
if (videoPositionList.size()>0){
|
||||
act++;
|
||||
if (date!=null){
|
||||
date = date.getTime()>videoPositionList.get(0).getCreateTime().getTime()?date:videoPositionList.get(0).getCreateTime();
|
||||
}else {
|
||||
date = videoPositionList.get(0).getCreateTime();
|
||||
}
|
||||
}
|
||||
return courseCatalogueChapterEntities.size()==0?0:act * 100 / courseCatalogueChapterEntities.size();
|
||||
}
|
||||
int completion = courseCatalogueChapterEntities.size()==0?0:act * 100 / courseCatalogueChapterEntities.size();
|
||||
c.setCompletion(completion);
|
||||
c.setLastStudyTime(date);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -278,7 +287,7 @@ public class CourseServiceImpl extends ServiceImpl<CourseDao, CourseEntity> impl
|
||||
|
||||
@Override
|
||||
public List getUserCourseBuy(Map<String, Object> param) {
|
||||
MyUserEntity user = userDao.selectById(param.get("userId").toString());
|
||||
MyUserEntity user = ShiroUtils.getUser();
|
||||
List<CourseSociologyEntity> resultList = new ArrayList<>();
|
||||
List<CourseSociologyEntity> courseSociologyList = (List<CourseSociologyEntity>)param.get("courseSociologyList");
|
||||
for (CourseSociologyEntity c : courseSociologyList){
|
||||
@@ -329,16 +338,6 @@ public class CourseServiceImpl extends ServiceImpl<CourseDao, CourseEntity> impl
|
||||
wrapper.eq(CourseToSociologyEntity::getSociologyId,c.getId());
|
||||
wrapper.orderByAsc(CourseEntity::getSort);
|
||||
courseEntities = courseToSociologyDao.selectJoinList(CourseEntity.class, wrapper);
|
||||
if(courseEntities!=null&&courseEntities.size()>0){
|
||||
for (CourseEntity co:courseEntities){
|
||||
int i = studyingDao.selectCount(new LambdaQueryWrapper<UserCourseStudying>().eq(UserCourseStudying::getCourseId,co.getId()).eq(UserCourseStudying::getUserId,user.getId()));
|
||||
co.setIsStudying(i>0?1:0);
|
||||
List<CourseCatalogueEntity> courseCatalogueEntities = courseCatalogueDao.selectList(new LambdaQueryWrapper<CourseCatalogueEntity>().eq(CourseCatalogueEntity::getCourseId, co.getId()).orderByAsc(CourseCatalogueEntity::getSort));
|
||||
co.setCourseCatalogueEntityList(courseCatalogueEntities);
|
||||
}
|
||||
c.setCourseList(courseEntities);
|
||||
return true;
|
||||
}
|
||||
}else if ("0".equals(user.getVip())||"2".equals(user.getVip())){
|
||||
MPJLambdaWrapper<UserCourseBuyEntity> wrapper = new MPJLambdaWrapper<>();
|
||||
wrapper.leftJoin(CourseCatalogueEntity.class,CourseCatalogueEntity::getId,UserCourseBuyEntity::getCatalogueId);
|
||||
@@ -349,23 +348,34 @@ public class CourseServiceImpl extends ServiceImpl<CourseDao, CourseEntity> impl
|
||||
wrapper.eq(CourseToSociologyEntity::getSociologyId,c.getId());
|
||||
wrapper.orderByAsc(CourseEntity::getSort);
|
||||
courseEntities = userCourseBuyDao.selectJoinList(CourseEntity.class, wrapper);
|
||||
}
|
||||
if(courseEntities!=null&&courseEntities.size()>0){
|
||||
for (CourseEntity co:courseEntities){
|
||||
//添加是否加入正在学习
|
||||
int i = studyingDao.selectCount(new LambdaQueryWrapper<UserCourseStudying>().eq(UserCourseStudying::getCourseId,co.getId()).eq(UserCourseStudying::getUserId,user.getId()));
|
||||
co.setIsStudying(i>0?1:0);
|
||||
List<CourseCatalogueEntity> courseCatalogueEntities = courseCatalogueDao.selectList(
|
||||
new MPJLambdaWrapper<CourseCatalogueEntity>()
|
||||
.selectAll(CourseCatalogueEntity.class)
|
||||
.leftJoin(UserCourseBuyEntity.class, UserCourseBuyEntity::getCatalogueId,CourseCatalogueEntity::getId)
|
||||
.eq(CourseCatalogueEntity::getCourseId, co.getId())
|
||||
.eq(UserCourseBuyEntity::getUserId, user.getId())
|
||||
.orderByAsc(CourseCatalogueEntity::getSort));
|
||||
List<CourseCatalogueEntity> courseCatalogueEntities = courseCatalogueDao.selectList(new MPJLambdaWrapper<CourseCatalogueEntity>().eq(CourseCatalogueEntity::getCourseId, co.getId()).orderByAsc(CourseCatalogueEntity::getSort));
|
||||
if (courseCatalogueEntities.size() > 0) {
|
||||
//查询目录添加,购买的课程目录详细信息
|
||||
for (CourseCatalogueEntity courseCatalogueEntity : courseCatalogueEntities) {
|
||||
List<UserCourseBuyEntity> userCourseBuyList = userCourseBuyDao.selectList(new LambdaQueryWrapper<UserCourseBuyEntity>().eq(UserCourseBuyEntity::getUserId, user.getId()).eq(UserCourseBuyEntity::getCatalogueId, courseCatalogueEntity.getId()));
|
||||
//完成度、上次学习时间
|
||||
catalogueCompletion(courseCatalogueEntity);
|
||||
//是否购买,生效时间
|
||||
if (userCourseBuyList.size() > 0) {
|
||||
courseCatalogueEntity.setIsBuy(1);
|
||||
courseCatalogueEntity.setStartTime(userCourseBuyList.get(0).getStartTime());
|
||||
courseCatalogueEntity.setEndTime(userCourseBuyList.get(0).getEndTime());
|
||||
}else {
|
||||
courseCatalogueEntity.setIsBuy(0);
|
||||
}
|
||||
}
|
||||
}
|
||||
co.setCourseCatalogueEntityList(courseCatalogueEntities);
|
||||
}
|
||||
c.setCourseList(courseEntities);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user