Compare commits

...

1 Commits

Author SHA1 Message Date
gengxin
978e1a7bf2 分析数据 img 是否为空 2025-03-21 15:26:41 +08:00

View File

@@ -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<CourseStudyDto> rs=search.search(page.getStartRow(),page.getPageSize(), dto);
List<CourseStudyDto> list = rs.getList();
List<String> 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<CourseStudyDto> 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<Object[]> 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);