Преглед на файлове

新增课件搜索逻辑

zouxuan преди 7 месеца
родител
ревизия
33e867e31a

+ 1 - 72
mec-application/src/main/java/com/ym/mec/student/controller/LessonCoursewareController.java

@@ -131,79 +131,8 @@ public class LessonCoursewareController extends BaseController {
     @ApiOperation(value = "获取课件关联的课程列表")
 	@GetMapping("/getLessonCoursewareCourseList/{id}")
 	public HttpResponseResult<List<LessonCoursewareWrapper.CourseScheduleCoursewareDetail>> getLessonCoursewareCourseList(@PathVariable("id") Long id,String search){
-		List<CbsLessonCoursewareWrapper.CourseScheduleCoursewareDetail> courseScheduleCoursewareDetails = coursewareFeignService.coursewareDetail(id).feignData();
+		List<CbsLessonCoursewareWrapper.CourseScheduleCoursewareDetail> courseScheduleCoursewareDetails = coursewareFeignService.coursewareDetail(id,search).feignData();
 		if (CollectionUtils.isNotEmpty(courseScheduleCoursewareDetails)) {
-            if(StringUtils.isNotEmpty(search)){
-                //优化模糊匹配,将模糊匹配和过滤没有素材的知识点合并
-                courseScheduleCoursewareDetails = courseScheduleCoursewareDetails.stream().map(courseScheduleCoursewareDetail -> {
-                    // 获取原始的 knowledgePointList
-                    List<CbsLessonCoursewareDetailWrapper.KnowledgePointSmall> knowledgePointList = courseScheduleCoursewareDetail.getKnowledgePointList();
-
-                    // 过滤掉不满足条件的知识点
-                    if (CollectionUtils.isNotEmpty(knowledgePointList)) {
-                        knowledgePointList = knowledgePointList.stream().filter(knowledgePointSmall -> {
-                            // 处理当前知识点的 materialList
-                            List<CbsLessonCoursewareDetailWrapper.MaterialSmall> materialList = knowledgePointSmall.getMaterialList();
-
-                            // 始终进行模糊搜索,判断 materialList 是否符合条件
-                            boolean materialListMatches = false;
-                            if (CollectionUtils.isNotEmpty(materialList)) {
-                                if (StringUtils.isNotEmpty(search)) {
-                                    materialList = materialList.stream()
-                                            .filter(materialSmall -> materialSmall.getName().contains(search))
-                                            .collect(Collectors.toList());
-                                    knowledgePointSmall.setMaterialList(materialList);
-                                }
-
-                                // 如果 materialList 经过模糊搜索后仍不为空,则设置标志为 true
-                                if (CollectionUtils.isNotEmpty(materialList)) {
-                                    materialListMatches = true;
-                                }
-                            }
-
-                            // 处理子知识点的 materialList,始终进行模糊搜索
-                            List<CbsLessonCoursewareDetailWrapper.KnowledgePointSmall> children = knowledgePointSmall.getChildren();
-                            if (CollectionUtils.isNotEmpty(children)) {
-                                // 对 children 中每个子知识点的 materialList 进行模糊匹配
-                                List<CbsLessonCoursewareDetailWrapper.KnowledgePointSmall> validChildren = children.stream()
-                                        .filter(child -> {
-                                            List<CbsLessonCoursewareDetailWrapper.MaterialSmall> childMaterialList = child.getMaterialList();
-
-                                            // 对子知识点的 materialList 进行模糊搜索
-                                            if (CollectionUtils.isNotEmpty(childMaterialList)) {
-                                                if (StringUtils.isNotEmpty(search)) {
-                                                    childMaterialList = childMaterialList.stream()
-                                                            .filter(materialSmall -> materialSmall.getName().contains(search))
-                                                            .collect(Collectors.toList());
-                                                    child.setMaterialList(childMaterialList);
-                                                }
-
-                                                // 如果子知识点的 materialList 仍不为空,保留该子知识点
-                                                return CollectionUtils.isNotEmpty(childMaterialList);
-                                            }
-                                            return false;  // 空的 materialList 剔除该子知识点
-                                        }).collect(Collectors.toList());
-
-                                // 更新 children 为剔除空的 materialList 后的有效子知识点
-                                knowledgePointSmall.setChildren(validChildren);
-
-                                // 如果 children 中有有效的子知识点,保留该知识点
-                                return !validChildren.isEmpty();  // 如果 children 剩余有效子知识点,则保留
-                            }
-
-                            // 如果 materialList 和 childMaterialList 都为空,剔除该知识点
-                            return materialListMatches || CollectionUtils.isNotEmpty(children);
-                        }).collect(Collectors.toList());
-
-                        // 更新 courseScheduleCoursewareDetail 的 knowledgePointList
-                        courseScheduleCoursewareDetail.setKnowledgePointList(knowledgePointList);
-                    }
-
-                    // 返回更新后的 courseScheduleCoursewareDetail
-                    return courseScheduleCoursewareDetail;
-                }).collect(Collectors.toList());
-            }
-
 			String jsonString = JSONObject.toJSONString(courseScheduleCoursewareDetails);
 			List<LessonCoursewareWrapper.CourseScheduleCoursewareDetail> courseScheduleCoursewareDetailList =
                     JSONObject.parseArray(jsonString, LessonCoursewareWrapper.CourseScheduleCoursewareDetail.class);

+ 2 - 2
mec-application/src/main/java/com/ym/mec/teacher/controller/LessonCoursewareController.java

@@ -79,8 +79,8 @@ public class LessonCoursewareController extends BaseController {
 
 	@ApiOperation(value = "获取课件关联的课程列表")
 	@GetMapping("/getLessonCoursewareCourseList/{id}")
-	public HttpResponseResult<List<LessonCoursewareWrapper.CourseScheduleCoursewareDetail>> getLessonCoursewareCourseList(@PathVariable("id") Long id){
-		List<CbsLessonCoursewareWrapper.CourseScheduleCoursewareDetail> courseScheduleCoursewareDetails = coursewareFeignService.coursewareDetail(id).feignData();
+	public HttpResponseResult<List<LessonCoursewareWrapper.CourseScheduleCoursewareDetail>> getLessonCoursewareCourseList(@PathVariable("id") Long id,String search){
+		List<CbsLessonCoursewareWrapper.CourseScheduleCoursewareDetail> courseScheduleCoursewareDetails = coursewareFeignService.coursewareDetail(id,search).feignData();
 		if (CollectionUtils.isNotEmpty(courseScheduleCoursewareDetails)) {
 			String jsonString = JSONObject.toJSONString(courseScheduleCoursewareDetails);
 			List<LessonCoursewareWrapper.CourseScheduleCoursewareDetail> courseScheduleCoursewareDetailList = JSONObject.parseArray(jsonString, LessonCoursewareWrapper.CourseScheduleCoursewareDetail.class);

+ 1 - 1
pom.xml

@@ -26,7 +26,7 @@
 		<docker.registry.repository>127.0.0.1:5000</docker.registry.repository>
 		<docker.maven.plugin.version>1.2.2</docker.maven.plugin.version>
 		<com.microsvc.toolkit.version>1.0.8-RC1</com.microsvc.toolkit.version>
-		<cbs.version>1.0.23</cbs.version>
+		<cbs.version>1.0.24</cbs.version>
 	</properties>
 
 	<dependencyManagement>