|
|
|
@ -37,6 +37,7 @@ import javax.validation.constraints.NotEmpty;
|
|
|
|
|
import javax.validation.constraints.NotNull;
|
|
|
|
|
import java.io.*;
|
|
|
|
|
import java.util.*;
|
|
|
|
|
import java.util.concurrent.ConcurrentHashMap;
|
|
|
|
|
|
|
|
|
|
import static com.ibeetl.admin.core.util.ExcelUtil.getCellFormatValue;
|
|
|
|
|
import static java.util.stream.Collectors.joining;
|
|
|
|
@ -69,6 +70,9 @@ public class TeacherOpenCourseMergeCourseInfoService extends CoreBaseService<Tea
|
|
|
|
|
@Autowired
|
|
|
|
|
private ResourcesQuestionService resourcesQuestionService;
|
|
|
|
|
|
|
|
|
|
//树结构缓存
|
|
|
|
|
private Map<Long,TeacherOpenCourseMergeCourseInfo> TreeCache = new ConcurrentHashMap<>();
|
|
|
|
|
|
|
|
|
|
public PageQuery<TeacherOpenCourseMergeCourseInfo>queryByCondition(PageQuery query){
|
|
|
|
|
PageQuery ret = teacherOpenCourseMergeCourseInfoDao.queryByCondition(query);
|
|
|
|
|
queryListAfter(ret.getList());
|
|
|
|
@ -513,4 +517,51 @@ public class TeacherOpenCourseMergeCourseInfoService extends CoreBaseService<Tea
|
|
|
|
|
deleteByCondition(teacherOpenCourseMergeCourseInfo);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public TeacherOpenCourseMergeCourseInfo getTreeById(Long teacherOpenCourseMergeCourseInfoId){
|
|
|
|
|
TeacherOpenCourseMergeCourseInfo courseInfo = null;
|
|
|
|
|
if(null != TreeCache.get(teacherOpenCourseMergeCourseInfoId)){
|
|
|
|
|
courseInfo = ToolUtils.deepCopy(TreeCache.get(teacherOpenCourseMergeCourseInfoId));
|
|
|
|
|
} else {
|
|
|
|
|
courseInfo = teacherOpenCourseMergeCourseInfoDao.getById(teacherOpenCourseMergeCourseInfoId);
|
|
|
|
|
if(null != courseInfo){
|
|
|
|
|
courseInfo.set("id",courseInfo.getTeacherOpenCourseMergeCourseInfoId());
|
|
|
|
|
courseInfo.set("title",courseInfo.getCourseInfoName());
|
|
|
|
|
courseInfo.set("spread","true");
|
|
|
|
|
if(null == courseInfo.getCourseInfoType()){
|
|
|
|
|
courseInfo.setCourseInfoType(1);
|
|
|
|
|
}
|
|
|
|
|
getByParentCourseInfoId(courseInfo, courseInfo.getTeacherOpenCourseMergeCourseInfoId(),1);
|
|
|
|
|
}
|
|
|
|
|
TreeCache.put(courseInfo.getTeacherOpenCourseMergeCourseInfoId(),ToolUtils.deepCopy(courseInfo));
|
|
|
|
|
}
|
|
|
|
|
return courseInfo;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
*
|
|
|
|
|
* @param courseInfo
|
|
|
|
|
* @param courseInfoId
|
|
|
|
|
* @param n
|
|
|
|
|
*/
|
|
|
|
|
public void getByParentCourseInfoId(TeacherOpenCourseMergeCourseInfo courseInfo, Long courseInfoId,Integer n){
|
|
|
|
|
TeacherOpenCourseMergeCourseInfo c = new TeacherOpenCourseMergeCourseInfo();
|
|
|
|
|
c.setCourseInfoParentId(courseInfoId);
|
|
|
|
|
c.setCourseInfoStatus(1);
|
|
|
|
|
List<TeacherOpenCourseMergeCourseInfo> courseInfoList = getValues(c);
|
|
|
|
|
if(null != courseInfoList && courseInfoList.size()>0) {
|
|
|
|
|
courseInfo.putChildren(courseInfoList);
|
|
|
|
|
if(n < 3){// 节后面还是节,所以只有3
|
|
|
|
|
n++;
|
|
|
|
|
}
|
|
|
|
|
for (int i = 0; i < courseInfoList.size(); i++) {
|
|
|
|
|
if(null == courseInfoList.get(i).getCourseInfoType()){
|
|
|
|
|
courseInfoList.get(i).setCourseInfoType(n);
|
|
|
|
|
}
|
|
|
|
|
getByParentCourseInfoId(courseInfoList.get(i), courseInfoList.get(i).getTeacherOpenCourseMergeCourseInfoId(),n);
|
|
|
|
|
}
|
|
|
|
|
}else {
|
|
|
|
|
courseInfo.putChildren(new ArrayList<>());
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|