1、课程资源管理

beetlsql3-dev
wgf 2 years ago
parent 3d60e32243
commit 8bbeb311af

@ -20,6 +20,13 @@ import java.util.List;
@SqlResource("jlw.resourcesInfo") @SqlResource("jlw.resourcesInfo")
public interface ResourcesInfoDao extends BaseMapper<ResourcesInfo>{ public interface ResourcesInfoDao extends BaseMapper<ResourcesInfo>{
PageQuery<ResourcesInfo> queryByCondition(PageQuery query); PageQuery<ResourcesInfo> queryByCondition(PageQuery query);
/**
*
* @param query
* @return
*/
PageQuery<ResourcesInfo> getCurriculumResourceManagementList(PageQuery query);
@Update @Update
void deleteResourcesInfoByIds(String ids); void deleteResourcesInfoByIds(String ids);
List<ResourcesInfo> getValuesByQuery (ResourcesInfoQuery resourcesInfoQuery); List<ResourcesInfo> getValuesByQuery (ResourcesInfoQuery resourcesInfoQuery);

@ -103,6 +103,11 @@ public class CourseInfo extends BaseEntity{
private BigDecimal orderIndex; private BigDecimal orderIndex;
/**
* 1 2
*/
private Integer sourceType;
@UpdateIgnore @UpdateIgnore
@InsertIgnore @InsertIgnore
// @FetchSql("select * from resources_info t where t.course_info_id = #courseInfoId# order by order_index asc") // @FetchSql("select * from resources_info t where t.course_info_id = #courseInfoId# order by order_index asc")
@ -363,4 +368,12 @@ public class CourseInfo extends BaseEntity{
public void setCourseLabelType(String courseLabelType) { public void setCourseLabelType(String courseLabelType) {
this.set("courseLabelType", courseLabelType); this.set("courseLabelType", courseLabelType);
} }
public Integer getSourceType() {
return sourceType;
}
public void setSourceType(Integer sourceType) {
this.sourceType = sourceType;
}
} }

@ -68,6 +68,21 @@ public class ResourcesInfo extends BaseEntity {
//新增时间 //新增时间
@InsertIgnore @InsertIgnore
private Date addTime; private Date addTime;
private Long courseInfoParentId;
private String courseInfoParentName;
private Long courseInfoParentParentId;
private String courseInfoParentParentName;
/**
* 1. 2.
*/
private Integer sourceType;
/**
*
*/
private String addTypeText;
public ResourcesInfo(){ public ResourcesInfo(){
} }
@ -189,4 +204,52 @@ public class ResourcesInfo extends BaseEntity {
public void setAddTime(Date addTime) { public void setAddTime(Date addTime) {
this.addTime = addTime; this.addTime = addTime;
} }
public Long getCourseInfoParentId() {
return courseInfoParentId;
}
public void setCourseInfoParentId(Long courseInfoParentId) {
this.courseInfoParentId = courseInfoParentId;
}
public String getCourseInfoParentName() {
return courseInfoParentName;
}
public void setCourseInfoParentName(String courseInfoParentName) {
this.courseInfoParentName = courseInfoParentName;
}
public Long getCourseInfoParentParentId() {
return courseInfoParentParentId;
}
public void setCourseInfoParentParentId(Long courseInfoParentParentId) {
this.courseInfoParentParentId = courseInfoParentParentId;
}
public String getCourseInfoParentParentName() {
return courseInfoParentParentName;
}
public void setCourseInfoParentParentName(String courseInfoParentParentName) {
this.courseInfoParentParentName = courseInfoParentParentName;
}
public Integer getSourceType() {
return sourceType;
}
public void setSourceType(Integer sourceType) {
this.sourceType = sourceType;
}
public String getAddTypeText() {
return addTypeText;
}
public void setAddTypeText(String addTypeText) {
this.addTypeText = addTypeText;
}
} }

@ -96,6 +96,15 @@ public class ResourcesInfoService extends CoreBaseService<ResourcesInfo> {
return ret; return ret;
} }
/**
*
* @param query
* @return
*/
public PageQuery<ResourcesInfo> getCurriculumResourceManagementList(PageQuery query) {
return resourcesInfoDao.getCurriculumResourceManagementList(query);
}
public ResourcesInfo getById(Long resourcesInfoId) { public ResourcesInfo getById(Long resourcesInfoId) {
ResourcesInfo resourcesInfo = queryById(resourcesInfoId); ResourcesInfo resourcesInfo = queryById(resourcesInfoId);
if (null != resourcesInfo) { if (null != resourcesInfo) {
@ -128,24 +137,26 @@ public class ResourcesInfoService extends CoreBaseService<ResourcesInfo> {
public void deleteResourcesInfo(String ids) { public void deleteResourcesInfo(String ids) {
for (int i = 0; i < ids.split(",").length; i++) { for (int i = 0; i < ids.split(",").length; i++) {
ResourcesInfo oldResourcesInfo = queryById(Long.parseLong(ids.split(",")[i])); ResourcesInfo oldResourcesInfo = queryById(Long.parseLong(ids.split(",")[i]));
CourseInfo oldCourseInfo = courseInfoDao.single(oldResourcesInfo.getCourseInfoId()); if (ObjectUtil.isNotEmpty(oldResourcesInfo)){
if (null != oldCourseInfo) { CourseInfo oldCourseInfo = courseInfoDao.single(oldResourcesInfo.getCourseInfoId());
//资源类型(1视频 2课件 3附件) if (null != oldCourseInfo) {
if (((Integer) 1).equals(oldResourcesInfo.getResourcesInfoType())) { //资源类型(1视频 2课件 3附件)
CourseInfo c = new CourseInfo(); if (((Integer) 1).equals(oldResourcesInfo.getResourcesInfoType())) {
c.setCourseInfoId(oldCourseInfo.getCourseInfoId()); CourseInfo c = new CourseInfo();
c.setCourseVideoId(null != oldCourseInfo.getCourseVideoId() && oldCourseInfo.getCourseVideoId().equals(oldResourcesInfo.getResourcesInfoId()) ? null : oldCourseInfo.getCourseVideoId()); c.setCourseInfoId(oldCourseInfo.getCourseInfoId());
courseInfoDao.updateVideoIdById(c); c.setCourseVideoId(null != oldCourseInfo.getCourseVideoId() && oldCourseInfo.getCourseVideoId().equals(oldResourcesInfo.getResourcesInfoId()) ? null : oldCourseInfo.getCourseVideoId());
} else if (((Integer) 2).equals(oldResourcesInfo.getResourcesInfoType())) { courseInfoDao.updateVideoIdById(c);
CourseInfo c = new CourseInfo(); } else if (((Integer) 2).equals(oldResourcesInfo.getResourcesInfoType())) {
c.setCourseInfoId(oldCourseInfo.getCourseInfoId()); CourseInfo c = new CourseInfo();
c.setCourseCoursewareId(null != oldCourseInfo.getCourseCoursewareId() && oldCourseInfo.getCourseCoursewareId().equals(oldResourcesInfo.getResourcesInfoId()) ? null : oldCourseInfo.getCourseCoursewareId()); c.setCourseInfoId(oldCourseInfo.getCourseInfoId());
courseInfoDao.updateCoursewareIdById(c); c.setCourseCoursewareId(null != oldCourseInfo.getCourseCoursewareId() && oldCourseInfo.getCourseCoursewareId().equals(oldResourcesInfo.getResourcesInfoId()) ? null : oldCourseInfo.getCourseCoursewareId());
} else if (((Integer) 3).equals(oldResourcesInfo.getResourcesInfoType())) { courseInfoDao.updateCoursewareIdById(c);
CourseInfo c = new CourseInfo(); } else if (((Integer) 3).equals(oldResourcesInfo.getResourcesInfoType())) {
c.setCourseInfoId(oldCourseInfo.getCourseInfoId()); CourseInfo c = new CourseInfo();
c.setCourseEnclosureIds(StringUtils.isNotBlank(oldCourseInfo.getCourseEnclosureIds()) ? (oldCourseInfo.getCourseEnclosureIds().replace(oldResourcesInfo.getResourcesInfoId().toString(), "").replace(",,", ",")) : oldCourseInfo.getCourseEnclosureIds()); c.setCourseInfoId(oldCourseInfo.getCourseInfoId());
courseInfoDao.updateEnclosureIdsById(c); c.setCourseEnclosureIds(StringUtils.isNotBlank(oldCourseInfo.getCourseEnclosureIds()) ? (oldCourseInfo.getCourseEnclosureIds().replace(oldResourcesInfo.getResourcesInfoId().toString(), "").replace(",,", ",")) : oldCourseInfo.getCourseEnclosureIds());
courseInfoDao.updateEnclosureIdsById(c);
}
} }
} }
} }

@ -247,7 +247,7 @@ public class UniversitiesCollegesJurisdictionCurriculumResourcesService extends
* *
*/ */
public List<CourseInfo> getCourseSystemOAndUniversities(Long orgId){ public List<CourseInfo> getCourseSystemOAndUniversities(Long orgId){
return courseInfoDao.getCourseSystemOAndUniversities(ObjectUtil.equal(orgId,1) ? null : orgId); return courseInfoDao.getCourseSystemOAndUniversities(Objects.equals(orgId,1L) ? null : orgId);
} }
/** /**

@ -322,6 +322,13 @@ public class CourseInfoController {
return JsonResult.success(list); return JsonResult.success(list);
} }
@GetMapping(MODEL + "/getChapterSystemOAndUniversities.json")
@ResponseBody
public JsonResult<List<CourseInfo>> getChapterSystemOAndUniversities(CourseInfoQuery param) {
List<CourseInfo> list = courseInfoService.getChapterSystemOAndUniversities(param);
return JsonResult.success(list);
}
@PostMapping(MODEL + "/delete.json") @PostMapping(MODEL + "/delete.json")
@Function("courseInfo.delete") @Function("courseInfo.delete")
@ResponseBody @ResponseBody

@ -1,5 +1,6 @@
package com.ibeetl.jlw.web; package com.ibeetl.jlw.web;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.RandomUtil; import cn.hutool.core.util.RandomUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import cn.jlw.Interceptor.SCoreUser; import cn.jlw.Interceptor.SCoreUser;
@ -169,6 +170,29 @@ public class ResourcesInfoController{
return JsonResult.success(page); return JsonResult.success(page);
} }
@PostMapping(MODEL + "/getCurriculumResourceManagementList.json")
@ResponseBody
public JsonResult<PageQuery> getCurriculumResourceManagementList(ResourcesInfoQuery condition, @SCoreUser CoreUser coreUser){
PageQuery page = condition.getPageQuery();
if (coreUser.isUniAdmin()) {
condition.setOrgIdPlural(join(Arrays.asList(coreUser.getOrgId(), 1L).toArray(), ","));
// 查询已经授权的课程ID。
// 理论课程授权表universities_colleges_jurisdiction_curriculum_resources查询理论课程授权给院校的数据
Serializable courseInfoIds = defaultIfNull(condition.getCourseInfoId(), condition.getCourseInfoIds());
ResourcesCourseInfoAuthDetailsVO resourcesCourseInfoAuthDetails =
universitiesCollegesJurisdictionCurriculumResourcesService.getResourcesCourseInfoAuthDetails(coreUser.getOrgId());
Serializable ifNullCourseInfoIds = defaultIfNull(courseInfoIds, listJoin(resourcesCourseInfoAuthDetails.getTheoryCourseList(), CourseInfo::getCourseInfoId));
String ids = Arrays.stream(ifNullCourseInfoIds.toString().split(",")).map(item -> "_" + item + "_").collect(Collectors.joining("|"));
// 如果为空字符串,那么代表这个学校,还没有授权的课程,所以是不会显示任何东西的。
condition.setCourseInfoIds(StrUtil.blankToDefault(ids, "未授权应用"));
}
resourcesInfoService.getCurriculumResourceManagementList(page);
return JsonResult.success(page);
}
//批量保存 //批量保存
@PostMapping(MODEL + "/addAll.json") @PostMapping(MODEL + "/addAll.json")
@Function("resourcesInfo.add") @Function("resourcesInfo.add")
@ -327,8 +351,11 @@ public class ResourcesInfoController{
@ResponseBody @ResponseBody
public JsonResult delete(String ids) { public JsonResult delete(String ids) {
for(int i=0;i<ids.split(",").length;i++){ for(int i=0;i<ids.split(",").length;i++){
ResourcesInfo byId = resourcesInfoService.getById(Long.parseLong(ids.split(",")[i]));
//移除缓存 //移除缓存
courseInfoService.flushCache(resourcesInfoService.getById(Long.parseLong(ids.split(",")[i])).getCourseInfoId()); if (!ObjectUtil.isNull(byId)){
courseInfoService.flushCache(byId.getCourseInfoId());
}
} }
resourcesInfoService.deleteResourcesInfo(ids); resourcesInfoService.deleteResourcesInfo(ids);

@ -61,6 +61,11 @@ public class ResourcesInfoQuery extends PageParam {
private Date endTime; private Date endTime;
/**
*
*/
private String addTypeText;
public Long getResourcesInfoId(){ public Long getResourcesInfoId(){
return resourcesInfoId; return resourcesInfoId;
} }
@ -231,4 +236,12 @@ public class ResourcesInfoQuery extends PageParam {
public void setEndTime(Date endTime) { public void setEndTime(Date endTime) {
this.endTime = endTime; this.endTime = endTime;
} }
public String getAddTypeText() {
return addTypeText;
}
public void setAddTypeText(String addTypeText) {
this.addTypeText = addTypeText;
}
} }

@ -894,7 +894,8 @@ getCourseSystemOAndUniversities
ta.course_info_id, ta.course_info_id,
ta.course_info_name, ta.course_info_name,
a.course_label_type, a.course_label_type,
a.course_label_name a.course_label_name,
'2' AS source_type
FROM FROM
course_info ta course_info ta
LEFT JOIN course_label a ON a.course_label_id = ta.course_label_id LEFT JOIN course_label a ON a.course_label_id = ta.course_label_id
@ -916,7 +917,8 @@ getCourseSystemOAndUniversities
tb.teacher_open_course_id AS course_info_id, tb.teacher_open_course_id AS course_info_id,
tb.teacher_open_course_title AS course_info_name, tb.teacher_open_course_title AS course_info_name,
'院校' `course_label_type`, '院校' `course_label_type`,
'开课类' `course_label_name` '开课类' `course_label_name`,
'1' AS source_type
FROM FROM
teacher_open_course tb teacher_open_course tb
LEFT JOIN teacher_open_course_merge_teacher lba ON lba.teacher_open_course_id = tb.teacher_open_course_id LEFT JOIN teacher_open_course_merge_teacher lba ON lba.teacher_open_course_id = tb.teacher_open_course_id

@ -173,4 +173,89 @@ getCourseInfoQuestionCountGroup
and ta.course_info_full_id regexp #sputil.joinEx(@java.util.Arrays.asList(strUtil.splitToArray(courseInfoIdPlural, ',')), '|', '_', '_')# and ta.course_info_full_id regexp #sputil.joinEx(@java.util.Arrays.asList(strUtil.splitToArray(courseInfoIdPlural, ',')), '|', '_', '_')#
@} @}
group by t.course_info_id group by t.course_info_id
getCurriculumResourceManagementList
===
* 获取课程资源管理系统授权课+院校开课
SELECT
@pageTag(){
tt.*
@}
FROM
(
(
SELECT
'超级管理员' AS add_type_text,
la.course_info_name,
ta.course_info_id,
lb.course_info_name AS course_info_parent_name,
lb.course_info_id AS course_info_parent_id,
lc.course_info_name AS course_info_parent_parent_name,
lc.course_info_id AS course_info_parent_parent_id,
ta.add_time,
ta.order_index,
ta.org_id,
ta.resources_info_content,
ta.resources_info_files,
ta.resources_info_id,
ta.resources_info_name,
ta.resources_info_type,
ta.user_id,
'2' AS source_type
FROM
resources_info ta
LEFT JOIN course_info la ON la.course_info_id = ta.course_info_id AND la.course_info_status = 1
LEFT JOIN course_info lb ON lb.course_info_id = la.course_info_parent_id AND lb.course_info_status = 1
LEFT JOIN course_info lc ON lc.course_info_id = lb.course_info_parent_id AND lc.course_info_status = 1
LEFT JOIN core_org ld ON ld.`ID` = ta.org_id AND ld.DEL_FLAG = 0
)
UNION ALL
(
SELECT
lbd.`NAME` AS add_type_text,
lba.course_info_name,
tb.teacher_open_course_merge_course_info_id,
lbb.course_info_name AS course_info_parent_name,
lbb.teacher_open_course_merge_course_info_id AS course_info_parent_id,
lbc.course_info_name AS course_info_parent_parent_name,
lbc.teacher_open_course_merge_course_info_id AS course_info_parent_parent_id,
tb.add_time,
tb.order_index,
tb.org_id,
tb.resources_info_content,
tb.resources_info_files AS resources_info_files,
tb.teacher_open_course_merge_resources_info_id AS resources_info_id,
tb.resources_info_name,
tb.resources_info_type,
tb.user_id,
'1' AS source_type
FROM
teacher_open_course_merge_resources_info tb
LEFT JOIN teacher_open_course_merge_course_info lba ON lba.teacher_open_course_merge_course_info_id = tb.teacher_open_course_merge_course_info_id AND lba.course_info_status = 1
LEFT JOIN teacher_open_course_merge_course_info lbb ON lbb.teacher_open_course_merge_course_info_id = lba.course_info_parent_id AND lbb.course_info_status = 1
LEFT JOIN teacher_open_course_merge_course_info lbc ON lbc.teacher_open_course_merge_course_info_id = lbb.course_info_parent_id AND lbc.course_info_status = 1
LEFT JOIN core_org lbd ON lbd.`ID` = tb.org_id AND lbd.DEL_FLAG = 0
WHERE
tb.resources_info_status = 1
)
) tt
WHERE 1=1
@if(!isEmpty(resourcesInfoType)) {
AND tt.resources_info_type = #resourcesInfoType#
@}
@if(!isEmpty(resourcesInfoName)) {
AND tt.resources_info_name LIKE #'%'+resourcesInfoName+'%'#
@}
@if(!isEmpty(courseInfoId_0)) {
AND tt.course_info_parent_parent_id = #courseInfoId_0#
@}
@if(!isEmpty(courseInfoId_2)) {
AND tt.course_info_parent_id = #courseInfoId_2#
@}
@if(!isEmpty(courseInfoId_3)) {
AND tt.course_info_id = #courseInfoId_3#
@}
@if(!isEmpty(addTypeText)) {
AND tt.add_type_text LIKE #'%'+addTypeText+'%'#
@}
ORDER BY tt.add_time DESC

@ -65,7 +65,7 @@ layui.define(['form', 'laydate', 'table'], function (exports) {
method: 'post', method: 'post',
even: true, even: true,
size: "lg", size: "lg",
url: Common.ctxPath + '/jlw/resourcesInfo/list.json' // 数据接口 url: Common.ctxPath + '/jlw/resourcesInfo/getCurriculumResourceManagementList.json' // 数据接口
, page: Lib.tablePage // 开启分页 , page: Lib.tablePage // 开启分页
, limit: 10, , limit: 10,
cols: [[ // 表头 cols: [[ // 表头

Loading…
Cancel
Save