Jelajahi Sumber

检查上一个任务是否完成bug修复

yangfeng 1 tahun lalu
induk
melakukan
59ed41139f

+ 7 - 7
web/src/main/java/com/ynfy/buss/course/coursecatalog/service/impl/CourseCatalogServiceImpl.java

@@ -136,14 +136,14 @@ public class CourseCatalogServiceImpl extends ServiceImpl<CourseCatalogMapper, C
                 } else { //sort == 1 //如果点击的是目录下的第一个任务
                     CourseCatalog parent = getParent(courseCatalog.getParentId()); //获取父节点
                     if (!Objects.isNull(parent) && parent.getSort() > 1) {//不是第一个根节点,获取前一个根节点
-                        return calcIsFinish(user, parent.getSort() - 1);
+                        return calcIsFinish(user, courseCatalog.getCourseId(), parent.getSort() - 1);
                     } else { //是第一个根节点
                         return true;
                     }
                 }
             } else { //点击了根节点的任务
                 if (courseCatalog.getSort() > 1) {
-                    return calcIsFinish(user, courseCatalog.getSort() - 1);
+                    return calcIsFinish(user, courseCatalog.getCourseId(), courseCatalog.getSort() - 1);
                 } else {
                     return true;
                 }
@@ -163,9 +163,9 @@ public class CourseCatalogServiceImpl extends ServiceImpl<CourseCatalogMapper, C
         return getOne(query);
     }
 
-    public CourseCatalog getRootPre(Integer sort) {
-        LambdaQueryWrapper<CourseCatalog> query = new LambdaQueryWrapper<CourseCatalog>().eq(CourseCatalog::getSort, sort)
-                .isNull(CourseCatalog::getParentId);
+    public CourseCatalog getRootPre(String courseId, Integer sort) {
+        LambdaQueryWrapper<CourseCatalog> query = new LambdaQueryWrapper<CourseCatalog>()
+                .eq(CourseCatalog::getCourseId, courseId).eq(CourseCatalog::getSort, sort).isNull(CourseCatalog::getParentId);
         return getOne(query);
     }
 
@@ -185,8 +185,8 @@ public class CourseCatalogServiceImpl extends ServiceImpl<CourseCatalogMapper, C
         }
     }
 
-    public boolean calcIsFinish(LoginUser user, Integer sort) {
-        CourseCatalog rootPre = getRootPre(sort);
+    public boolean calcIsFinish(LoginUser user, String courseId, Integer sort) {
+        CourseCatalog rootPre = getRootPre(courseId, sort);
         if (!Objects.isNull(rootPre)) {
             if (CatalogType.TASK.getCode().equals(rootPre.getType())) {//前一个根节点是任务类型
                 return isComplete(user, rootPre.getId());