From 837efb7910241dd78597eb4ca56fb4f538e2b54a Mon Sep 17 00:00:00 2001 From: Mlxa0324 Date: Thu, 22 Dec 2022 15:36:03 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E8=AF=BE=E7=A8=8B=E8=B5=84?= =?UTF-8?q?=E6=BA=90=E5=88=A0=E9=99=A4bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../admin/core/service/CoreDictService.java | 7 +- .../TeacherOpenCourseMergeCourseInfoDao.java | 10 ++ .../TeacherOpenCourseMergeCourseInfo.java | 1 + ...eacherOpenCourseMergeCourseInfoMyTree.java | 136 ++++++++++++++++++ .../TeacherOpenCourseMergeCourseInfoTree.java | 47 +++--- ...acherOpenCourseMergeCourseInfoService.java | 132 ++++++++++++----- ...erOpenCourseMergeResourcesInfoService.java | 4 +- .../jlw/service/TeacherOpenCourseService.java | 2 +- ...erOpenCourseMergeCourseInfoController.java | 2 +- .../jlw/teacherOpenCourseMergeCourseInfo.md | 30 +++- 10 files changed, 293 insertions(+), 78 deletions(-) create mode 100644 web/src/main/java/com/ibeetl/jlw/entity/TeacherOpenCourseMergeCourseInfoMyTree.java diff --git a/admin-core/src/main/java/com/ibeetl/admin/core/service/CoreDictService.java b/admin-core/src/main/java/com/ibeetl/admin/core/service/CoreDictService.java index 0c60a989..0b4b70b6 100644 --- a/admin-core/src/main/java/com/ibeetl/admin/core/service/CoreDictService.java +++ b/admin-core/src/main/java/com/ibeetl/admin/core/service/CoreDictService.java @@ -1,12 +1,10 @@ package com.ibeetl.admin.core.service; -import cn.hutool.core.util.NumberUtil; import cn.hutool.core.util.ObjectUtil; import com.ibeetl.admin.core.dao.CoreDictDao; import com.ibeetl.admin.core.entity.CoreDict; import com.ibeetl.admin.core.util.BeetlSqlKit; import com.ibeetl.admin.core.util.enums.DelFlagEnum; -import com.ibeetl.starter.ObjectMapperJsonUtil; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -15,7 +13,6 @@ import org.springframework.cache.annotation.Cacheable; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import java.math.BigDecimal; import java.util.*; import java.util.regex.Matcher; import java.util.regex.Pattern; @@ -101,7 +98,7 @@ public class CoreDictService extends CoreBaseService { } } - @Cacheable(value = "core.coreDict:.findCoreDictByTable", key="#type+\"_\"+#value") + @Cacheable(value = "core.coreDict.findCoreDictByTable", key="#type+\"_\"+#value") public CoreDict findCoreDictByTable(String type,String value) { List list = findAllByTable(type); if(list==null) { @@ -123,7 +120,7 @@ public class CoreDictService extends CoreBaseService { * @param value * @return */ - @Cacheable(value = "core.coreDict:.findCoreDictByTableAndField", key="#type+\"_\"+#value") + @Cacheable(value = "core.coreDict.findCoreDictByTableAndField", key="#type+\"_\"+#value") public List findCoreDictByTableAndField(String type, Object value) { return findAllByTable(BeetlSqlKit.render(type, value)); } diff --git a/web/src/main/java/com/ibeetl/jlw/dao/TeacherOpenCourseMergeCourseInfoDao.java b/web/src/main/java/com/ibeetl/jlw/dao/TeacherOpenCourseMergeCourseInfoDao.java index 1accb244..aef33241 100644 --- a/web/src/main/java/com/ibeetl/jlw/dao/TeacherOpenCourseMergeCourseInfoDao.java +++ b/web/src/main/java/com/ibeetl/jlw/dao/TeacherOpenCourseMergeCourseInfoDao.java @@ -2,6 +2,7 @@ package com.ibeetl.jlw.dao; import cn.hutool.core.util.ObjectUtil; import com.ibeetl.jlw.entity.TeacherOpenCourseMergeCourseInfo; +import com.ibeetl.jlw.entity.TeacherOpenCourseMergeCourseInfoMyTree; import com.ibeetl.jlw.entity.TeacherOpenCourseMergeCourseInfoTree; import com.ibeetl.jlw.web.query.TeacherOpenCourseMergeCourseInfoQuery; import org.beetl.sql.core.engine.PageQuery; @@ -62,6 +63,15 @@ public interface TeacherOpenCourseMergeCourseInfoDao extends BaseMapper getByOpenCourseId(@NotNull(message = "开课ID不能为空") Long teacherOpenCourseId); /** * 根据开课ID查询开课课程节点,不包含章、节等。 * diff --git a/web/src/main/java/com/ibeetl/jlw/entity/TeacherOpenCourseMergeCourseInfo.java b/web/src/main/java/com/ibeetl/jlw/entity/TeacherOpenCourseMergeCourseInfo.java index 7fb7fbf6..7c646103 100644 --- a/web/src/main/java/com/ibeetl/jlw/entity/TeacherOpenCourseMergeCourseInfo.java +++ b/web/src/main/java/com/ibeetl/jlw/entity/TeacherOpenCourseMergeCourseInfo.java @@ -356,6 +356,7 @@ public class TeacherOpenCourseMergeCourseInfo extends BaseEntity implements Comp return (List)this.get("children"); } + @Override public int compareTo(TeacherOpenCourseMergeCourseInfo o) { return this.getTeacherOpenCourseMergeCourseInfoId().compareTo(o.getTeacherOpenCourseMergeCourseInfoId()); diff --git a/web/src/main/java/com/ibeetl/jlw/entity/TeacherOpenCourseMergeCourseInfoMyTree.java b/web/src/main/java/com/ibeetl/jlw/entity/TeacherOpenCourseMergeCourseInfoMyTree.java new file mode 100644 index 00000000..45ebecd2 --- /dev/null +++ b/web/src/main/java/com/ibeetl/jlw/entity/TeacherOpenCourseMergeCourseInfoMyTree.java @@ -0,0 +1,136 @@ +package com.ibeetl.jlw.entity; + +import com.ibeetl.admin.core.entity.BaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.FieldNameConstants; +import org.beetl.sql.annotation.entity.AutoID; +import org.beetl.sql.annotation.entity.Table; +import org.beetl.sql.fetch.annotation.Fetch; + +/** + * 开课- 课程配置-离线 + * Tree结构数据 + * + * @author mlx + */ +@Data +@Fetch(level = 5) +@Table(name = "teacher_open_course_merge_course_info") +@EqualsAndHashCode(callSuper=false) +@FieldNameConstants +@SuppressWarnings("ALL") +public class TeacherOpenCourseMergeCourseInfoMyTree extends BaseEntity implements Comparable { + + //ID + @AutoID + private Long teacherOpenCourseMergeCourseInfoId ; + + //开课ID + private Long teacherOpenCourseId ; + + //名称(课程名 或 章名 或 节名) + + private String courseInfoName ; + + //课程缩略图 + + private String courseInfoThumbnail ; + +// @Dict(type = "course_label.course_label_name.1-1") + //课程标签ID + private Long courseLabelId ; + +// @UpdateIgnore +// @InsertIgnore +//// @FetchSql("select course_label_name from course_label " + +//// "where course_label_status = 1 " + +//// "and course_label_id = #courseLabelId# ") +// private String courseLabelIdText; + + //课程学习人数基数 + + private Integer courseInfoBasicsCount ; + + //课程简介 + + private String courseInfoContent ; + + //状态(1启用 2禁用 3删除) + + private Integer courseInfoStatus ; + + //类型(1课程 2章 3节) + + private Integer courseInfoType ; + + //父节点ID + + private Long courseInfoParentId ; + + //视频ID(resources_info_id,和节对应) + + private Long courseVideoId ; + + //课件ID(resources_info_id,和节对应) + + private Long courseCoursewareId ; + + //附件IDs(resources_info_id,和节对应) + + private String courseEnclosureIds ; + + //客观题IDs(和章对应) + + private String resourcesQuestionIds ; + + //竞赛题IDs(和章对应) + + private String resourcesCompetitionIds ; + + //实训题IDs(和章对应) + + private String resourcesTrainingIds ; + + //组织机构ID + + private Long orgId ; + + //后台用户ID + + private Long userId ; + +//// @FetchSql("select * from teacher_open_course_merge_course_info t " + +//// "where t.course_info_parent_id = #teacherOpenCourseMergeCourseInfoId# ") +// @UpdateIgnore +// @InsertIgnore +// private List children; +// +//// @FetchSql("select count(1) > 0 from teacher_open_course_merge_course_info t " + +//// "where t.course_info_parent_id = #teacherOpenCourseMergeCourseInfoId# ") +// @UpdateIgnore +// @InsertIgnore +// private Boolean hasChildren; + +// @UpdateIgnore +// @InsertIgnore +// @FetchSql("SELECT * FROM " + +// "teacher_open_course_merge_resources_info t " + +// "WHERE 1 = 1 " + +// "AND teacher_open_course_id = #teacherOpenCourseId# " + +// "and t.teacher_open_course_merge_course_info_id = #teacherOpenCourseMergeCourseInfoId# ") +// private List resourcesInfo; + + @Override + public int compareTo(TeacherOpenCourseMergeCourseInfo o) { +// String o1Str = ReUtil.get("\\d+", o.getCourseInfoName(), 0); +// String o2Str = ReUtil.get("\\d+", this.getCourseInfoName(), 0); +// +// int o1num = NumberUtil.isNumber(o1Str) ? Integer.valueOf(o1Str) : -1; +// int o2num = NumberUtil.isNumber(o2Str) ? Integer.valueOf(o2Str) : -1; +// return o1num - o2num; + return this.getTeacherOpenCourseMergeCourseInfoId().compareTo(o.getTeacherOpenCourseMergeCourseInfoId()); + } + + +} diff --git a/web/src/main/java/com/ibeetl/jlw/entity/TeacherOpenCourseMergeCourseInfoTree.java b/web/src/main/java/com/ibeetl/jlw/entity/TeacherOpenCourseMergeCourseInfoTree.java index eae9d412..db320888 100644 --- a/web/src/main/java/com/ibeetl/jlw/entity/TeacherOpenCourseMergeCourseInfoTree.java +++ b/web/src/main/java/com/ibeetl/jlw/entity/TeacherOpenCourseMergeCourseInfoTree.java @@ -1,5 +1,6 @@ package com.ibeetl.jlw.entity; +import cn.hutool.core.util.ObjectUtil; import com.ibeetl.admin.core.entity.BaseEntity; import lombok.Data; import lombok.EqualsAndHashCode; @@ -32,13 +33,6 @@ public class TeacherOpenCourseMergeCourseInfoTree extends BaseEntity { //开课ID private Long teacherOpenCourseId ; - @UpdateIgnore - @InsertIgnore - @FetchSql("select teacher_open_course_title from teacher_open_course " + - "where teacher_open_course_status = 1 " + - "and teacher_open_course_id = #teacherOpenCourseId# ") - private String teacherOpenCourseIdText; - //名称(课程名 或 章名 或 节名) private String courseInfoName ; @@ -50,22 +44,6 @@ public class TeacherOpenCourseMergeCourseInfoTree extends BaseEntity { //课程标签ID private Long courseLabelId ; - @UpdateIgnore - @InsertIgnore - @FetchSql("select course_label_name from course_label " + - "where course_label_status = 1 " + - "and course_label_id = #courseLabelId# ") - private String courseLabelIdText; - - @UpdateIgnore - @InsertIgnore - @FetchSql("SELECT * FROM " + - "teacher_open_course_merge_resources_info t " + - "WHERE 1 = 1 " + - "AND teacher_open_course_id = #teacherOpenCourseId# " + - "and t.teacher_open_course_merge_course_info_id = #teacherOpenCourseMergeCourseInfoId# ") - private List resourcesInfo; - //课程学习人数基数 private Integer courseInfoBasicsCount ; @@ -118,16 +96,27 @@ public class TeacherOpenCourseMergeCourseInfoTree extends BaseEntity { private Long userId ; - @FetchSql("select * from teacher_open_course_merge_course_info t " + - "where t.course_info_parent_id = #teacherOpenCourseMergeCourseInfoId# ") @UpdateIgnore @InsertIgnore - private List children; + private Boolean hasChildren; - @FetchSql("select count(1) > 0 from teacher_open_course_merge_course_info t " + - "where t.course_info_parent_id = #teacherOpenCourseMergeCourseInfoId# ") @UpdateIgnore @InsertIgnore - private Boolean hasChildren; + @FetchSql("SELECT * FROM " + + "teacher_open_course_merge_resources_info t " + + "WHERE 1 = 1 " + + "AND teacher_open_course_id = #teacherOpenCourseId# " + + "and t.teacher_open_course_merge_course_info_id = #teacherOpenCourseMergeCourseInfoId# ") + private List resourcesInfo; + + @FetchSql("select * from teacher_open_course_merge_course_info t " + + "where t.course_info_parent_id = #teacherOpenCourseMergeCourseInfoId# and t.course_info_status = 1 ") + @UpdateIgnore + @InsertIgnore + private List children; + public void setChildren(List children) { + this.children = children; + setHasChildren(ObjectUtil.isNotEmpty(children)); + } } diff --git a/web/src/main/java/com/ibeetl/jlw/service/TeacherOpenCourseMergeCourseInfoService.java b/web/src/main/java/com/ibeetl/jlw/service/TeacherOpenCourseMergeCourseInfoService.java index d2470931..76a50f67 100644 --- a/web/src/main/java/com/ibeetl/jlw/service/TeacherOpenCourseMergeCourseInfoService.java +++ b/web/src/main/java/com/ibeetl/jlw/service/TeacherOpenCourseMergeCourseInfoService.java @@ -5,6 +5,9 @@ import cn.hutool.core.bean.copier.CopyOptions; import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.lang.Assert; import cn.hutool.core.lang.Snowflake; +import cn.hutool.core.lang.tree.Tree; +import cn.hutool.core.lang.tree.TreeNodeConfig; +import cn.hutool.core.lang.tree.TreeUtil; import cn.hutool.core.map.MapUtil; import cn.hutool.core.util.ObjectUtil; import cn.hutool.extra.spring.SpringUtil; @@ -12,12 +15,8 @@ import cn.jlw.util.ToolUtils; import cn.jlw.validate.ValidateConfig; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; -import com.google.common.base.Optional; -import com.google.common.cache.CacheLoader; -import com.google.common.cache.LoadingCache; import com.ibeetl.admin.core.entity.CoreUser; import com.ibeetl.admin.core.service.CoreBaseService; -import com.ibeetl.admin.core.util.CacheUtils; import com.ibeetl.admin.core.util.PlatformException; import com.ibeetl.admin.core.web.JsonResult; import com.ibeetl.admin.core.web.JsonReturnCode; @@ -25,7 +24,7 @@ import com.ibeetl.jlw.dao.TeacherOpenCourseMergeCourseInfoDao; import com.ibeetl.jlw.entity.*; import com.ibeetl.jlw.entity.dto.QuestionSettingDTO; import com.ibeetl.jlw.web.query.TeacherOpenCourseMergeCourseInfoQuery; -import lombok.SneakyThrows; +import com.ibeetl.jlw.web.query.TeacherOpenCourseMergeResourcesInfoQuery; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.apache.poi.hssf.usermodel.HSSFWorkbook; @@ -37,7 +36,6 @@ import org.beetl.sql.core.SqlId; import org.beetl.sql.core.engine.PageQuery; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Lazy; -import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.validation.annotation.Validated; @@ -47,15 +45,16 @@ import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotEmpty; import javax.validation.constraints.NotNull; import java.io.*; -import java.time.Duration; import java.util.*; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.CopyOnWriteArrayList; +import java.util.stream.Collectors; import static cn.hutool.core.util.ArrayUtil.join; import static cn.hutool.core.util.ObjectUtil.defaultIfNull; import static com.ibeetl.admin.core.util.ExcelUtil.getCellFormatValue; import static com.ibeetl.jlw.enums.CopyFromEnum.FROM_OPEN_COURSE; +import static com.ibeetl.jlw.enums.GlobalUpStatusEnum.UP; import static java.util.stream.Collectors.toSet; /** @@ -104,14 +103,14 @@ public class TeacherOpenCourseMergeCourseInfoService extends CoreBaseService> treeLocalCache - = CacheUtils.buildAsyncReloadingCache(Duration.ofHours(1L), // 过期时间 1 小时 - new CacheLoader>() { - @Override - public Optional load(Long teacherOpenCourseId) { - return Optional.fromNullable(teacherOpenCourseMergeCourseInfoDao.getTreeLocalCacheByTeacherOpenCourseId(teacherOpenCourseId)); - } - }); +// private final LoadingCache> treeLocalCache +// = CacheUtils.buildAsyncReloadingCache(Duration.ofHours(1L), // 过期时间 1 小时 +// new CacheLoader>() { +// @Override +// public Optional load(Long teacherOpenCourseId) { +// return Optional.fromNullable(teacherOpenCourseMergeCourseInfoDao.getTreeLocalCacheByTeacherOpenCourseId(teacherOpenCourseId)); +// } +// }); public PageQueryqueryByCondition(PageQuery query){ PageQuery ret = teacherOpenCourseMergeCourseInfoDao.queryByCondition(query); @@ -131,20 +130,20 @@ public class TeacherOpenCourseMergeCourseInfoService extends CoreBaseService bean.resetOperationByTeacherOpenCourseId(teacherOpenCourseId)); // 清理缓存 - invalidateAllCleanUpCourseInfoTreeLocalCache(); +// invalidateAllCleanUpCourseInfoTreeLocalCache(); } @@ -867,7 +866,8 @@ public class TeacherOpenCourseMergeCourseInfoService extends CoreBaseService getTreeByTeacherOpenCourseId( + @NotNull(message = "开课ID不能为空!") final Long teacherOpenCourseId) { + + List courseInfoList = teacherOpenCourseMergeCourseInfoDao + .getByOpenCourseId(teacherOpenCourseId); + dictParser(courseInfoList); + + TeacherOpenCourseMergeResourcesInfoQuery resourcesInfoQuery = new TeacherOpenCourseMergeResourcesInfoQuery(); + resourcesInfoQuery.setResourcesInfoStatus(UP); + resourcesInfoQuery.setTeacherOpenCourseId(teacherOpenCourseId); + final List resourcesInfoList = teacherOpenCourseMergeResourcesInfoService.getValuesByQueryNotWithPermission(resourcesInfoQuery); + + CopyOnWriteArrayList resourcesInfoCopyOnWriteArrayList = new CopyOnWriteArrayList<>(resourcesInfoList); + + TreeNodeConfig defaultConfig = new TreeNodeConfig(); + defaultConfig.setIdKey(TeacherOpenCourseMergeCourseInfoMyTree.Fields.teacherOpenCourseMergeCourseInfoId); + defaultConfig.setParentIdKey(TeacherOpenCourseMergeCourseInfoMyTree.Fields.courseInfoParentId); + defaultConfig.setNameKey(TeacherOpenCourseMergeCourseInfoMyTree.Fields.courseInfoName); + defaultConfig.setWeightKey(TeacherOpenCourseMergeCourseInfoMyTree.Fields.teacherOpenCourseMergeCourseInfoId); + + //3.转为树结构,其中rootId参数代表根节点的父级id值 + List> build = TreeUtil.build(courseInfoList, "0", defaultConfig, ((courseInfo, treeNode) -> { + Long courseInfoId = courseInfo.getTeacherOpenCourseMergeCourseInfoId(); + + List filteredResourcesInfoList = resourcesInfoCopyOnWriteArrayList.stream() + .filter(it -> it.getTeacherOpenCourseMergeCourseInfoId().equals(courseInfoId)).collect(Collectors.toList()); + + // 获取课程ids + String courseInfoIds = filteredResourcesInfoList.stream().map(TeacherOpenCourseMergeResourcesInfo::getTeacherOpenCourseMergeCourseInfoId) + .map(Objects::toString) + .collect(Collectors.joining(",")); + // 删除临时变量 + resourcesInfoCopyOnWriteArrayList.removeIf(it -> courseInfoIds.contains(it.getTeacherOpenCourseMergeCourseInfoId().toString())); + + //对key进行映射赋值 + treeNode.setId(courseInfoId.toString()); + treeNode.setParentId(courseInfo.getCourseInfoParentId().toString()); + treeNode.setName(courseInfo.getCourseInfoName()); + treeNode.putExtra("courseInfoType", courseInfo.getCourseInfoType()); + treeNode.putExtra("courseInfoContent", courseInfo.getCourseInfoContent()); + treeNode.putExtra("resourcesInfo", filteredResourcesInfoList); + })); + + if (build == null) { return null; } + return build.get(0); + } + /** * 根据课程(章节、小节)ID,获取该ID下的子集,返回一维集合 diff --git a/web/src/main/java/com/ibeetl/jlw/service/TeacherOpenCourseMergeResourcesInfoService.java b/web/src/main/java/com/ibeetl/jlw/service/TeacherOpenCourseMergeResourcesInfoService.java index 60261bbd..d5817e86 100644 --- a/web/src/main/java/com/ibeetl/jlw/service/TeacherOpenCourseMergeResourcesInfoService.java +++ b/web/src/main/java/com/ibeetl/jlw/service/TeacherOpenCourseMergeResourcesInfoService.java @@ -133,7 +133,7 @@ public class TeacherOpenCourseMergeResourcesInfoService extends CoreBaseService< jsonResult.setMsg(msg); // 刷新缓存 - teacherOpenCourseMergeCourseInfoService.invalidateCourseInfoTreeLocalCache(teacherOpenCourseMergeResourcesInfo.getTeacherOpenCourseMergeCourseInfoId()); +// teacherOpenCourseMergeCourseInfoService.invalidateCourseInfoTreeLocalCache(teacherOpenCourseMergeResourcesInfo.getTeacherOpenCourseMergeCourseInfoId()); return jsonResult; } @@ -143,7 +143,7 @@ public class TeacherOpenCourseMergeResourcesInfoService extends CoreBaseService< teacherOpenCourseMergeResourcesInfoDao.updateTemplateById(teacherOpenCourseMergeResourcesInfo); // 刷新缓存 - teacherOpenCourseMergeCourseInfoService.invalidateCourseInfoTreeLocalCache(teacherOpenCourseMergeResourcesInfo.getTeacherOpenCourseMergeCourseInfoId()); +// teacherOpenCourseMergeCourseInfoService.invalidateCourseInfoTreeLocalCache(teacherOpenCourseMergeResourcesInfo.getTeacherOpenCourseMergeCourseInfoId()); return msg; } diff --git a/web/src/main/java/com/ibeetl/jlw/service/TeacherOpenCourseService.java b/web/src/main/java/com/ibeetl/jlw/service/TeacherOpenCourseService.java index 9d8df92f..4209de75 100644 --- a/web/src/main/java/com/ibeetl/jlw/service/TeacherOpenCourseService.java +++ b/web/src/main/java/com/ibeetl/jlw/service/TeacherOpenCourseService.java @@ -99,7 +99,7 @@ public class TeacherOpenCourseService extends CoreBaseService beansOfType.forEach(stringDeleteResourcesByBiConsumer); } // 清理缓存 - teacherOpenCourseMergeCourseInfoService.invalidateAllCleanUpCourseInfoTreeLocalCache(); +// teacherOpenCourseMergeCourseInfoService.invalidateAllCleanUpCourseInfoTreeLocalCache(); } catch (Exception e) { throw new PlatformException("批量删除TeacherOpenCourse失败", e); } diff --git a/web/src/main/java/com/ibeetl/jlw/web/TeacherOpenCourseMergeCourseInfoController.java b/web/src/main/java/com/ibeetl/jlw/web/TeacherOpenCourseMergeCourseInfoController.java index 2da8be54..63eeb4f2 100644 --- a/web/src/main/java/com/ibeetl/jlw/web/TeacherOpenCourseMergeCourseInfoController.java +++ b/web/src/main/java/com/ibeetl/jlw/web/TeacherOpenCourseMergeCourseInfoController.java @@ -517,7 +517,7 @@ public class TeacherOpenCourseMergeCourseInfoController{ /** * 树结构查询开课课程信息 - * 本地缓存,带到期时间 + * 本地缓存,带到期时间 有BUG不建议用 * * @param teacherOpenCourseId 开课ID * @return diff --git a/web/src/main/resources/sql/jlw/teacherOpenCourseMergeCourseInfo.md b/web/src/main/resources/sql/jlw/teacherOpenCourseMergeCourseInfo.md index d1a478d1..702881df 100644 --- a/web/src/main/resources/sql/jlw/teacherOpenCourseMergeCourseInfo.md +++ b/web/src/main/resources/sql/jlw/teacherOpenCourseMergeCourseInfo.md @@ -899,4 +899,32 @@ getTreeLocalCacheByTeacherOpenCourseId and t.teacher_open_course_id = #teacherOpenCourseId# and t.course_info_status = 1 and t.course_info_type = 1 - limit 1 \ No newline at end of file + limit 1 + +getByOpenCourseId +=== +* 根据开课ID查询关联的课程章节小节ID + + select + teacher_open_course_merge_course_info_id, + teacher_open_course_id, + course_info_name, + course_info_thumbnail, + course_label_id, + course_info_basics_count, + course_info_content, + course_info_status, + course_info_type, + ifnull(t.course_info_parent_id, 0) as course_info_parent_id, + course_video_id, + course_courseware_id, + course_enclosure_ids, + resources_question_ids, + resources_competition_ids, + resources_training_ids, + org_id, + user_id + from teacher_open_course_merge_course_info t + where 1 = 1 + and t.teacher_open_course_id = #teacherOpenCourseId# + and t.course_info_status = 1 \ No newline at end of file