Merge remote-tracking branch 'origin/dev0525' into dev0525

This commit is contained in:
lu
2024-07-25 11:39:23 +08:00

View File

@@ -1,5 +1,6 @@
package com.xboe.school.study.service.impl;
import java.math.BigInteger;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.HashMap;
@@ -183,8 +184,10 @@ public class StudyServiceImpl implements IStudyService{
if(status!=null) {
if(status==3) {
query.addFilter(FieldFilters.eq("status", 2));
return scItemDao.findPage(query.builder());
}else if(status==2){
query.addFilter(FieldFilters.eq("status",9));
return scItemDao.findPage(query.builder());
}else if (status == 1) {
String sql = "select bsc.id,bsc.course_id,bsc.course_name,bsc.aname from boe_study_course bsc " +
" where bsc.course_id = '"+courseId+"' and bsc.id != (" +
@@ -209,8 +212,28 @@ public class StudyServiceImpl implements IStudyService{
return pageList;
}
}
return scItemDao.findPage(query.builder());
String sql2 = "select * from (select bsc.id,bsc.course_id,bsc.course_name,bsc.aname,item.progress,item.status from boe_study_course bsc left join " +
"boe_study_course_item item on item.course_id = bsc.course_id and item.study_id = bsc.id " +
"where bsc.`status` in (2,9) and bsc.course_id = '"+ courseId+"' " +
"UNION ALL " +
" select bsc.id,bsc.course_id,bsc.course_name,bsc.aname,0 as progress,1 as status from boe_study_course bsc " +
" LEFT JOIN boe_study_course_item item on item.course_id = bsc.course_id " +
" where bsc.course_id = '"+courseId+"' and bsc.id != (" +
" select bsc.id from boe_study_course bsc " +
" left join boe_study_course_item item on item.course_id = bsc.course_id and item.study_id = bsc.id " +
" where bsc.course_id = '" + courseId + "' and item.content_id = '"+ contentId+"'" +
" )) a group by a.id";
List<Object[]> list = scDao.sqlFindList(sql2);
List<StudyCourseItem> item = new ArrayList<>();
for (Object[] objs : list) {
StudyCourseItem sc = new StudyCourseItem();
sc.setProgress(Integer.valueOf(objs[4].toString()));
sc.setStatus(Integer.valueOf(objs[5].toString()));
sc.setAname(objs[3].toString());
item.add(sc);
}
PageList<StudyCourseItem> pageList = new PageList<>(item);
return pageList;
}