diff --git a/servers/boe-server-all/src/main/java/com/xboe/school/study/api/StudyCourseESApi.java b/servers/boe-server-all/src/main/java/com/xboe/school/study/api/StudyCourseESApi.java index 6dd980b1..e83a29e3 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/school/study/api/StudyCourseESApi.java +++ b/servers/boe-server-all/src/main/java/com/xboe/school/study/api/StudyCourseESApi.java @@ -1,9 +1,18 @@ package com.xboe.school.study.api; import java.io.IOException; +import java.time.LocalDateTime; import java.time.ZoneOffset; +import java.util.ArrayList; import java.util.List; +import cn.hutool.core.collection.CollectionUtil; +import com.alibaba.fastjson2.JSON; +import com.xboe.core.orm.FieldFilters; +import com.xboe.core.orm.QueryBuilder; +import com.xboe.module.course.dao.CourseDao; +import com.xboe.module.course.dto.RankingDto; +import com.xboe.module.course.entity.Course; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; @@ -42,6 +51,9 @@ public class StudyCourseESApi extends ApiBaseController{ @Autowired IStudyCourseService service; + @Resource + private CourseDao courseDao; + @Resource private PhpOnlineStudyRecordScheduledTasks phpOnlineStudyRecordScheduledTasks; @@ -54,6 +66,58 @@ public class StudyCourseESApi extends ApiBaseController{ try { dto.setAccountId(getCurrent().getAccountId()); PageList rs=search.search(page.getStartRow(),page.getPageSize(), dto); + List list = rs.getList(); + List emptyIds = new ArrayList<>(); + log.info("test data gengxin CourseStudyDto list ==> {}", JSON.toJSONString(list)); + if(CollectionUtil.isNotEmpty(list)){ + log.info("test data gengxin CourseStudyDto isNotEmpty list ==> {}", JSON.toJSONString(list)); + //todo 过滤数据 + for(CourseStudyDto courseStudyDto : list){ + log.info("test data gengxin CourseStudyDto isNotEmpty item ==> {}", JSON.toJSONString(courseStudyDto)); + //在线课 录播课 + if(courseStudyDto.getCourseType() == 20 || courseStudyDto.getCourseType() == 21){ + if(StringUtils.isBlank(courseStudyDto.getCourseImage())){ + emptyIds.add(courseStudyDto.getCourseId()); + } + } + } + //todo 图片空返回结果 + List emptyImgCourseStudyDtos = new ArrayList(); + + //在线课查询 + if(CollectionUtil.isNotEmpty(emptyIds)){ + QueryBuilder query = QueryBuilder.from(Course.class); + query.addFields("id","name","type","coverImg"); + //todo 确认下 是否是这个字段 + query.addFilter(FieldFilters.in("id",emptyIds)); + query.addFilter(FieldFilters.eq("enabled",true)); + query.addFilter(FieldFilters.eq("deleted",false)); + List listFields = courseDao.findListFields(query.builder()); + log.info("test data gengxin CourseStudyDto isNotEmpty listFields ==> {}", JSON.toJSONString(listFields)); + if(CollectionUtil.isNotEmpty(listFields)){ + for(Object[] objs : listFields) { + CourseStudyDto CourseStudyDtoResult=new CourseStudyDto(); + CourseStudyDtoResult.setId((String) objs[0]); + CourseStudyDtoResult.setCourseName((String)objs[1]); + CourseStudyDtoResult.setCourseType((Integer) objs[2]); + CourseStudyDtoResult.setCourseImage((String)objs[3]); + emptyImgCourseStudyDtos.add(CourseStudyDtoResult); + } + } + log.info("test data gengxin CourseStudyDto isNotEmpty emptyImgCourseStudyDtos ==> {}", JSON.toJSONString(emptyImgCourseStudyDtos)); + + //todo 进行赋值处理 最外层 + emptyImgCourseStudyDtos.forEach(item -> { + list.forEach(subjectItem -> { + if(item.getCourseId().equals(subjectItem.getCourseId())){ + //赋值 + subjectItem.setCourseImage(item.getCourseImage()); + } + }); + }); + log.info("test data gengxin CourseStudyDto isNotEmpty result ==> {}", JSON.toJSONString(list)); + } + } return success(rs); }catch(Exception e) { log.error("查询报名学习ES失败",e);