diff --git a/servers/boe-server-all/src/main/java/com/xboe/school/study/service/impl/StudyCourseServiceImpl.java b/servers/boe-server-all/src/main/java/com/xboe/school/study/service/impl/StudyCourseServiceImpl.java index de89eddc..64f589e5 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/school/study/service/impl/StudyCourseServiceImpl.java +++ b/servers/boe-server-all/src/main/java/com/xboe/school/study/service/impl/StudyCourseServiceImpl.java @@ -5,7 +5,9 @@ import java.time.LocalDate; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; +import java.util.Map; import javax.transaction.Transactional; @@ -425,6 +427,7 @@ public class StudyCourseServiceImpl implements IStudyCourseService{ List clist= studyCourseDao.findListFields(courseHql,studyCourseQuery.getIds()); List slist= studyCourseDao.findListFields(studyHql,studyCourseQuery.getAids(),studyCourseQuery.getIds()); //数据数量一般不会太多,不超过20条,所以直接使用嵌套循环 + Map map=new HashMap(); for(Object[] sobjs : slist) { StudyCourseSimple sc=new StudyCourseSimple(); sc.setCourseId(ConvertUtil.toStr(sobjs[0])); @@ -449,6 +452,32 @@ public class StudyCourseServiceImpl implements IStudyCourseService{ } rs.add(sc); } + //检查针对于没有学习记录的课程 + for(Object[] cobjs : clist) { + String cid=ConvertUtil.toStr(cobjs[0]); + boolean has=false; + for(StudyCourseSimple scs : rs) { + if(scs.getCourseId().equals(cid)) { + has=true; + break; + } + } + if(!has) { + StudyCourseSimple sc=new StudyCourseSimple(); + sc.setCourseId(cid); + sc.setProgress(0f); + sc.setAid(""); + sc.setCourseImage(ConvertUtil.toStr(cobjs[1])); + sc.setLastScore(ConvertUtil.toFloat(cobjs[2]));//课程分数,使用此值来承载 + sc.setCourseName(ConvertUtil.toStr(cobjs[3])); + sc.setSysType1(ConvertUtil.toStr(cobjs[4])); + sc.setSysType2(ConvertUtil.toStr(cobjs[5])); + sc.setSysType3(ConvertUtil.toStr(cobjs[6])); + rs.add(sc); + } + + } + }catch(Exception e) { log.error("查询错误",e); e.printStackTrace();