From d424d0189c3049ca1ff719ddc57d7fc2e076170f Mon Sep 17 00:00:00 2001 From: wuchunlei Date: Tue, 11 Mar 2025 15:53:41 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E7=AB=A0=E8=8A=82=E5=88=97?= =?UTF-8?q?=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../CourseCatalogueChapterServiceImpl.java | 24 +++++++------------ 1 file changed, 8 insertions(+), 16 deletions(-) diff --git a/src/main/java/com/peanut/modules/sociology/service/impl/CourseCatalogueChapterServiceImpl.java b/src/main/java/com/peanut/modules/sociology/service/impl/CourseCatalogueChapterServiceImpl.java index a49645a8..bd2bb9ec 100644 --- a/src/main/java/com/peanut/modules/sociology/service/impl/CourseCatalogueChapterServiceImpl.java +++ b/src/main/java/com/peanut/modules/sociology/service/impl/CourseCatalogueChapterServiceImpl.java @@ -7,7 +7,6 @@ import com.peanut.common.utils.ShiroUtils; import com.peanut.modules.common.dao.CourseCatalogueChapterDao; import com.peanut.modules.common.dao.CourseCatalogueChapterVideoDao; import com.peanut.modules.common.dao.UserCourseBuyDao; -import com.peanut.modules.common.dao.UserCourseVideoPositionDao; import com.peanut.modules.common.entity.CourseCatalogueChapterEntity; import com.peanut.modules.common.entity.CourseCatalogueChapterVideoEntity; import com.peanut.modules.common.entity.UserCourseBuyEntity; @@ -16,11 +15,9 @@ import com.peanut.modules.sociology.service.CourseCatalogueChapterService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; - import java.util.HashMap; import java.util.List; import java.util.Map; -import java.util.stream.Collectors; @Slf4j @Service("sociologyCourseCatalogueChapterService") @@ -29,24 +26,19 @@ public class CourseCatalogueChapterServiceImpl extends ServiceImpl getCourseCatalogueChapterList(int id) { - LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + MPJLambdaWrapper wrapper = new MPJLambdaWrapper<>(); + wrapper.selectAll(CourseCatalogueChapterEntity.class); + wrapper.selectMax(UserCourseVideoPositionEntity::getId,CourseCatalogueChapterEntity::getIsLearned); + wrapper.disableSubLogicDel().leftJoin(CourseCatalogueChapterVideoEntity.class,CourseCatalogueChapterVideoEntity::getChapterId,CourseCatalogueChapterEntity::getId); + wrapper.disableSubLogicDel().leftJoin(UserCourseVideoPositionEntity.class,on->on.eq(UserCourseVideoPositionEntity::getVideoId,CourseCatalogueChapterVideoEntity::getId).eq(UserCourseVideoPositionEntity::getUserId,ShiroUtils.getUId())); wrapper.eq(CourseCatalogueChapterEntity::getCatalogueId,id); + wrapper.and(t->t.eq(CourseCatalogueChapterVideoEntity::getDelFlag,0).or().isNull(CourseCatalogueChapterVideoEntity::getDelFlag)); + wrapper.and(t->t.eq(UserCourseVideoPositionEntity::getDelFlag,0).or().isNull(UserCourseVideoPositionEntity::getDelFlag)); + wrapper.groupBy(CourseCatalogueChapterEntity::getId); wrapper.orderByAsc(CourseCatalogueChapterEntity::getSort); List list = this.list(wrapper); - if (list!=null&&list.size() > 0) { - for (CourseCatalogueChapterEntity courseCatalogueChapterEntity : list) { - MPJLambdaWrapper videoPositionWrapper = new MPJLambdaWrapper(); - videoPositionWrapper.leftJoin(CourseCatalogueChapterVideoEntity.class,CourseCatalogueChapterVideoEntity::getId,UserCourseVideoPositionEntity::getVideoId); - videoPositionWrapper.eq(CourseCatalogueChapterVideoEntity::getChapterId,courseCatalogueChapterEntity.getId()); - videoPositionWrapper.eq(UserCourseVideoPositionEntity::getUserId,ShiroUtils.getUId()); - int count = userCourseVideoPositionDao.selectCount(videoPositionWrapper); - courseCatalogueChapterEntity.setIsLearned(count>0?1:0); - } - } return list; }