优化我的课程

This commit is contained in:
wuchunlei
2025-03-13 14:31:50 +08:00
parent 62b42a1e7e
commit 7eb3e58a18

View File

@@ -162,12 +162,8 @@ public class CourseServiceImpl extends ServiceImpl<CourseDao, CourseEntity> impl
@Override @Override
public Page<CourseEntity> getUserCourseBuy(Map<String, Object> param) { public Page<CourseEntity> getUserCourseBuy(Map<String, Object> param) {
MPJLambdaWrapper<CourseEntity> wrapper = new MPJLambdaWrapper<>(); MPJLambdaWrapper<CourseEntity> wrapper = new MPJLambdaWrapper<>();
wrapper.leftJoin(CourseToMedicine.class,CourseToMedicine::getCourseId,CourseEntity::getId); wrapper.rightJoin(CourseToMedicine.class,CourseToMedicine::getCourseId,CourseEntity::getId);
if (userVipService.isSociologyVip()){ //开通的会员下的课程
wrapper.leftJoin(CourseCatalogueEntity.class,CourseCatalogueEntity::getCourseId,CourseEntity::getId);
wrapper.leftJoin(UserCourseBuyEntity.class,UserCourseBuyEntity::getCatalogueId,CourseCatalogueEntity::getId);
wrapper.eq(UserCourseBuyEntity::getUserId,ShiroUtils.getUId());
}else {
List list = new ArrayList<>();//通过顶级标签获取最下层标签 List list = new ArrayList<>();//通过顶级标签获取最下层标签
if (userVipService.isMedicalVip()){ if (userVipService.isMedicalVip()){
userVipService.bottomLabel(1,list); userVipService.bottomLabel(1,list);
@@ -184,7 +180,20 @@ public class CourseServiceImpl extends ServiceImpl<CourseDao, CourseEntity> impl
if (userVipService.isPsycheVip()){ if (userVipService.isPsycheVip()){
userVipService.bottomLabel(4,list); userVipService.bottomLabel(4,list);
} }
//购买的课程
List buyList = userCourseBuyDao.selectList(new LambdaQueryWrapper<UserCourseBuyEntity>()
.eq(UserCourseBuyEntity::getUserId,ShiroUtils.getUId()))
.stream().map(UserCourseBuyEntity::getCourseId).collect(Collectors.toList());
if (list.size()>0&&buyList.size()>0){
wrapper.and(t->t.in(CourseToMedicine::getMedicalId,list).or().in(CourseToMedicine::getCourseId,buyList));
}else {
if (list.size()>0){
wrapper.in(CourseToMedicine::getMedicalId,list); wrapper.in(CourseToMedicine::getMedicalId,list);
}else if (buyList.size()>0){
wrapper.in(CourseToMedicine::getCourseId,buyList);
}else {
return new Page<>();
}
} }
if (StringUtils.isNotEmpty(param.get("medicalId").toString())){ if (StringUtils.isNotEmpty(param.get("medicalId").toString())){
wrapper.eq(CourseToMedicine::getMedicalId,param.get("medicalId")); wrapper.eq(CourseToMedicine::getMedicalId,param.get("medicalId"));