1、课程资源管理

beetlsql3-dev
wgf
parent 3d60e32243
commit 8bbeb311af

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

@ -103,6 +103,11 @@ public class CourseInfo extends BaseEntity{
private BigDecimal orderIndex;
/**
* 1 2
*/
private Integer sourceType;
@UpdateIgnore
@InsertIgnore
// @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) {
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
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(){
}
@ -189,4 +204,52 @@ public class ResourcesInfo extends BaseEntity {
public void setAddTime(Date 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;
}
/**
*
* @param query
* @return
*/
public PageQuery<ResourcesInfo> getCurriculumResourceManagementList(PageQuery query) {
return resourcesInfoDao.getCurriculumResourceManagementList(query);
}
public ResourcesInfo getById(Long resourcesInfoId) {
ResourcesInfo resourcesInfo = queryById(resourcesInfoId);
if (null != resourcesInfo) {
@ -128,24 +137,26 @@ public class ResourcesInfoService extends CoreBaseService<ResourcesInfo> {
public void deleteResourcesInfo(String ids) {
for (int i = 0; i < ids.split(",").length; i++) {
ResourcesInfo oldResourcesInfo = queryById(Long.parseLong(ids.split(",")[i]));
CourseInfo oldCourseInfo = courseInfoDao.single(oldResourcesInfo.getCourseInfoId());
if (null != oldCourseInfo) {
//资源类型(1视频 2课件 3附件)
if (((Integer) 1).equals(oldResourcesInfo.getResourcesInfoType())) {
CourseInfo c = new CourseInfo();
c.setCourseInfoId(oldCourseInfo.getCourseInfoId());
c.setCourseVideoId(null != oldCourseInfo.getCourseVideoId() && oldCourseInfo.getCourseVideoId().equals(oldResourcesInfo.getResourcesInfoId()) ? null : oldCourseInfo.getCourseVideoId());
courseInfoDao.updateVideoIdById(c);
} else if (((Integer) 2).equals(oldResourcesInfo.getResourcesInfoType())) {
CourseInfo c = new CourseInfo();
c.setCourseInfoId(oldCourseInfo.getCourseInfoId());
c.setCourseCoursewareId(null != oldCourseInfo.getCourseCoursewareId() && oldCourseInfo.getCourseCoursewareId().equals(oldResourcesInfo.getResourcesInfoId()) ? null : oldCourseInfo.getCourseCoursewareId());
courseInfoDao.updateCoursewareIdById(c);
} else if (((Integer) 3).equals(oldResourcesInfo.getResourcesInfoType())) {
CourseInfo c = new CourseInfo();
c.setCourseInfoId(oldCourseInfo.getCourseInfoId());
c.setCourseEnclosureIds(StringUtils.isNotBlank(oldCourseInfo.getCourseEnclosureIds()) ? (oldCourseInfo.getCourseEnclosureIds().replace(oldResourcesInfo.getResourcesInfoId().toString(), "").replace(",,", ",")) : oldCourseInfo.getCourseEnclosureIds());
courseInfoDao.updateEnclosureIdsById(c);
if (ObjectUtil.isNotEmpty(oldResourcesInfo)){
CourseInfo oldCourseInfo = courseInfoDao.single(oldResourcesInfo.getCourseInfoId());
if (null != oldCourseInfo) {
//资源类型(1视频 2课件 3附件)
if (((Integer) 1).equals(oldResourcesInfo.getResourcesInfoType())) {
CourseInfo c = new CourseInfo();
c.setCourseInfoId(oldCourseInfo.getCourseInfoId());
c.setCourseVideoId(null != oldCourseInfo.getCourseVideoId() && oldCourseInfo.getCourseVideoId().equals(oldResourcesInfo.getResourcesInfoId()) ? null : oldCourseInfo.getCourseVideoId());
courseInfoDao.updateVideoIdById(c);
} else if (((Integer) 2).equals(oldResourcesInfo.getResourcesInfoType())) {
CourseInfo c = new CourseInfo();
c.setCourseInfoId(oldCourseInfo.getCourseInfoId());
c.setCourseCoursewareId(null != oldCourseInfo.getCourseCoursewareId() && oldCourseInfo.getCourseCoursewareId().equals(oldResourcesInfo.getResourcesInfoId()) ? null : oldCourseInfo.getCourseCoursewareId());
courseInfoDao.updateCoursewareIdById(c);
} else if (((Integer) 3).equals(oldResourcesInfo.getResourcesInfoType())) {
CourseInfo c = new CourseInfo();
c.setCourseInfoId(oldCourseInfo.getCourseInfoId());
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){
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);
}
@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")
@Function("courseInfo.delete")
@ResponseBody

@ -1,5 +1,6 @@
package com.ibeetl.jlw.web;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.RandomUtil;
import cn.hutool.core.util.StrUtil;
import cn.jlw.Interceptor.SCoreUser;
@ -169,6 +170,29 @@ public class ResourcesInfoController{
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")
@Function("resourcesInfo.add")
@ -327,8 +351,11 @@ public class ResourcesInfoController{
@ResponseBody
public JsonResult delete(String ids) {
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);

@ -61,6 +61,11 @@ public class ResourcesInfoQuery extends PageParam {
private Date endTime;
/**
*
*/
private String addTypeText;
public Long getResourcesInfoId(){
return resourcesInfoId;
}
@ -231,4 +236,12 @@ public class ResourcesInfoQuery extends PageParam {
public void setEndTime(Date 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_name,
a.course_label_type,
a.course_label_name
a.course_label_name,
'2' AS source_type
FROM
course_info ta
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_title AS course_info_name,
'院校' `course_label_type`,
'开课类' `course_label_name`
'开课类' `course_label_name`,
'1' AS source_type
FROM
teacher_open_course tb
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, ',')), '|', '_', '_')#
@}
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',
even: true,
size: "lg",
url: Common.ctxPath + '/jlw/resourcesInfo/list.json' // 数据接口
url: Common.ctxPath + '/jlw/resourcesInfo/getCurriculumResourceManagementList.json' // 数据接口
, page: Lib.tablePage // 开启分页
, limit: 10,
cols: [[ // 表头

Loading…
Cancel
Save