diff --git a/web/src/main/java/com/ibeetl/jlw/service/CourseInfoService.java b/web/src/main/java/com/ibeetl/jlw/service/CourseInfoService.java index a5315363..8eeb29bb 100644 --- a/web/src/main/java/com/ibeetl/jlw/service/CourseInfoService.java +++ b/web/src/main/java/com/ibeetl/jlw/service/CourseInfoService.java @@ -116,6 +116,9 @@ public class CourseInfoService extends CoreBaseService { courseInfoId = c.getCourseInfoParentId(); for (int j = 0; j < 25; j++) { CourseInfo courseInfoParent = queryById(courseInfoId); + if (courseInfoParent == null){ + break; + } if (((Integer) 1).equals(courseInfoParent.getCourseInfoType())) { courseInfoId = courseInfoParent.getCourseInfoId(); break; @@ -219,7 +222,8 @@ public class CourseInfoService extends CoreBaseService { BigDecimal bigDecimal = getFuncIncrement(paras, CourseInfo::getOrderIndex); courseInfo.setOrderIndex(bigDecimal); - insert(courseInfo); + boolean insert = insert(courseInfo); + System.out.println("insert = " + insert); //删除以前的 deleteByCourseInfoId(courseInfo.getCourseInfoId()); @@ -244,7 +248,8 @@ public class CourseInfoService extends CoreBaseService { CourseInfo model = new CourseInfo(); model.setCourseInfoId(courseInfo.getCourseInfoId()); model.setCourseInfoFullId(StrUtil.prependIfMissing(StrUtil.appendIfMissing(courseInfoFullId, "_"), "_")); - updateTemplate(model); + boolean b = updateTemplate(model); + System.out.println("b = " + b); courseInfo.setCourseInfoFullId(model.getCourseInfoFullId()); return courseInfo; diff --git a/web/src/main/java/com/ibeetl/jlw/service/ResourcesInfoService.java b/web/src/main/java/com/ibeetl/jlw/service/ResourcesInfoService.java index 74b66b7b..94da560c 100644 --- a/web/src/main/java/com/ibeetl/jlw/service/ResourcesInfoService.java +++ b/web/src/main/java/com/ibeetl/jlw/service/ResourcesInfoService.java @@ -62,8 +62,6 @@ public class ResourcesInfoService extends CoreBaseService { @Autowired private TeacherOpenCourseMergeResourcesInfoDao teacherOpenCourseMergeResourcesInfoDao; - @Autowired - private TeacherOpenCourseMergeCourseInfoDao teacherOpenCourseMergeCourseInfoDao; public PageQuery queryByCondition(PageQuery query) { @@ -114,49 +112,7 @@ public class ResourcesInfoService extends CoreBaseService { * @return */ public PageQuery getCurriculumResourceManagementList(PageQuery query) { - List list = resourcesInfoDao.getCurriculumResourceManagementList(query).getList(); - list.forEach(item ->{ - - CourseInfo course = courseInfoDao.getSQLManager() - .lambdaQuery(CourseInfo.class) - .andEq(CourseInfo::getCourseInfoId,item.getCourseInfoId()) - .single(); - - if (ObjectUtil.isNull(course)) { - //获取小节 - TeacherOpenCourseMergeCourseInfo noduleCourseInfo = teacherOpenCourseMergeCourseInfoDao.getSQLManager() - .lambdaQuery(TeacherOpenCourseMergeCourseInfo.class) - .andEq(TeacherOpenCourseMergeCourseInfo::getTeacherOpenCourseMergeCourseInfoId,item.getCourseInfoId()) - .single(); - if (!Objects.isNull(noduleCourseInfo)) { - item.setCourseInfoId(noduleCourseInfo.getTeacherOpenCourseMergeCourseInfoId()); - item.setCourseInfoName(noduleCourseInfo.getCourseInfoName()); - - //获取章节 - TeacherOpenCourseMergeCourseInfo chapterCourseInfo = teacherOpenCourseMergeCourseInfoDao.getSQLManager() - .lambdaQuery(TeacherOpenCourseMergeCourseInfo.class) - .andEq(TeacherOpenCourseMergeCourseInfo::getTeacherOpenCourseMergeCourseInfoId,noduleCourseInfo.getCourseInfoParentId()) - .single(); - if (!Objects.isNull(chapterCourseInfo)) { - item.setCourseInfoParentId(chapterCourseInfo.getTeacherOpenCourseMergeCourseInfoId()); - item.setCourseInfoParentName(chapterCourseInfo.getCourseInfoName()); - - //获取课程 - TeacherOpenCourseMergeCourseInfo courseInfo = teacherOpenCourseMergeCourseInfoDao.getSQLManager() - .lambdaQuery(TeacherOpenCourseMergeCourseInfo.class) - .andEq(TeacherOpenCourseMergeCourseInfo::getTeacherOpenCourseMergeCourseInfoId,chapterCourseInfo.getCourseInfoParentId()) - .single(); - if (!Objects.isNull(courseInfo)) { - item.setCourseInfoParentParentId(courseInfo.getTeacherOpenCourseId()); - item.setCourseInfoParentParentName(courseInfo.getCourseInfoName()); - } - } - } - } - }); - PageQuery pageQuery = new PageQuery<>(); - pageQuery.setList(list); - return pageQuery; + return resourcesInfoDao.getCurriculumResourceManagementList(query); } public ResourcesInfo getById(Long resourcesInfoId) { diff --git a/web/src/main/java/com/ibeetl/jlw/web/ResourcesInfoController.java b/web/src/main/java/com/ibeetl/jlw/web/ResourcesInfoController.java index 5bce8d1e..49d99634 100644 --- a/web/src/main/java/com/ibeetl/jlw/web/ResourcesInfoController.java +++ b/web/src/main/java/com/ibeetl/jlw/web/ResourcesInfoController.java @@ -12,11 +12,16 @@ import com.ibeetl.admin.core.annotation.Function; import com.ibeetl.admin.core.entity.CoreUser; import com.ibeetl.admin.core.file.FileService; import com.ibeetl.admin.core.web.JsonResult; +import com.ibeetl.jlw.dao.CourseInfoDao; +import com.ibeetl.jlw.dao.ResourcesInfoDao; +import com.ibeetl.jlw.dao.TeacherOpenCourseMergeCourseInfoDao; import com.ibeetl.jlw.dao.TeacherOpenCourseMergeResourcesInfoDao; import com.ibeetl.jlw.entity.CourseInfo; import com.ibeetl.jlw.entity.ResourcesInfo; +import com.ibeetl.jlw.entity.TeacherOpenCourseMergeCourseInfo; import com.ibeetl.jlw.entity.TeacherOpenCourseMergeResourcesInfo; import com.ibeetl.jlw.entity.vo.ResourcesCourseInfoAuthDetailsVO; +import com.ibeetl.jlw.enums.AddTypeEnum; import com.ibeetl.jlw.enums.GlobalUpStatusEnum; import com.ibeetl.jlw.enums.MoveEnum; import com.ibeetl.jlw.service.CourseInfoService; @@ -25,10 +30,12 @@ import com.ibeetl.jlw.service.TeacherOpenCourseMergeResourcesInfoService; import com.ibeetl.jlw.service.UniversitiesCollegesJurisdictionCurriculumResourcesService; import com.ibeetl.jlw.web.query.ResourcesInfoQuery; import com.ibeetl.jlw.web.query.TeacherOpenCourseMergeResourcesInfoQuery; +import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.beetl.sql.core.engine.PageQuery; +import org.beetl.sql.core.query.LambdaQuery; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.validation.BindingResult; @@ -46,6 +53,7 @@ import java.math.RoundingMode; import java.util.ArrayList; import java.util.Arrays; import java.util.List; +import java.util.Objects; import java.util.stream.Collectors; import static cn.hutool.core.util.ArrayUtil.join; @@ -61,16 +69,24 @@ import static com.ibeetl.jlw.enums.AddTypeEnum.FACULTY_ADD; @Controller @Validated -public class ResourcesInfoController{ +public class ResourcesInfoController { private final Log log = LogFactory.getLog(this.getClass()); private static final String MODEL = "/jlw/resourcesInfo"; private static final String API = "/api/resourcesInfo"; - @Autowired private ResourcesInfoService resourcesInfoService; + @Autowired + private ResourcesInfoService resourcesInfoService; + @Autowired + private ResourcesInfoDao resourcesInfoDao; + + @Autowired + private CourseInfoService courseInfoService; - @Autowired private CourseInfoService courseInfoService; - @Autowired private UniversitiesCollegesJurisdictionCurriculumResourcesService universitiesCollegesJurisdictionCurriculumResourcesService; + @Autowired + private CourseInfoDao courseInfoDao; + @Autowired + private UniversitiesCollegesJurisdictionCurriculumResourcesService universitiesCollegesJurisdictionCurriculumResourcesService; @Autowired FileService fileService; @@ -78,6 +94,9 @@ public class ResourcesInfoController{ @Autowired private TeacherOpenCourseMergeResourcesInfoDao teacherOpenCourseMergeResourcesInfoDao; + @Autowired + private TeacherOpenCourseMergeCourseInfoDao teacherOpenCourseMergeCourseInfoDao; + /* 前端接口 */ @@ -88,7 +107,7 @@ public class ResourcesInfoController{ @Function("resourcesInfo.query") @ResponseBody public ModelAndView index() { - ModelAndView view = new ModelAndView("/jlw/resourcesInfo/index.html") ; + ModelAndView view = new ModelAndView("/jlw/resourcesInfo/index.html"); view.addObject("search", ResourcesInfoQuery.class.getName()); return view; } @@ -108,25 +127,140 @@ public class ResourcesInfoController{ @ResponseBody public ModelAndView add(Long resourcesInfoId) { ModelAndView view = new ModelAndView("/jlw/resourcesInfo/add.html"); - if(null != resourcesInfoId){ - ResourcesInfo resourcesInfo = resourcesInfoService.queryById(resourcesInfoId); +// if(null != resourcesInfoId){ +// ResourcesInfo resourcesInfo = resourcesInfoService.queryById(resourcesInfoId); +// view.addObject("resourcesInfo", resourcesInfo); +// CourseInfo courseInfo = courseInfoService.queryById(resourcesInfo.getCourseInfoId()); +// if(courseInfo != null && courseInfo.getCourseInfoParentId() != null){ //父节点不为空时 说明当前节点可能是二级节点也可能是三级节点 +// CourseInfo courseInfoNew = new CourseInfo(); +// courseInfoNew.setCourseInfoParentId(courseInfo.getCourseInfoId());//当前ID作为父ID去查询数据 如果存在则表示还有下级节点 否则没有则表示是三级节点 +// List courseInfoList = courseInfoService.getValues(courseInfoNew); +// if(courseInfoList.size() > 0){ //二级节点 +// view.addObject("courseInfoId", courseInfo.getCourseInfoParentId()); +// view.addObject("twoChildNode", courseInfo.getCourseInfoId()); +// view.addObject("threeChildNode", null); +// }else { //三级节点 +// view.addObject("courseInfoId", courseInfoService.queryById(courseInfo.getCourseInfoParentId()).getCourseInfoParentId()); +// view.addObject("twoChildNode", courseInfo.getCourseInfoParentId()); +// view.addObject("threeChildNode", courseInfo.getCourseInfoId()); +// } +// }else { +// view.addObject("courseInfoId", courseInfo != null?courseInfo.getCourseInfoId():null); +// view.addObject("twoChildNode", null); +// view.addObject("threeChildNode", null); +// } +// }else { +// view.addObject("resourcesInfo", new ResourcesInfo()); +// view.addObject("courseInfoId", null); +// view.addObject("twoChildNode", null); +// view.addObject("threeChildNode", null); +// } + + if (ObjectUtil.isNotNull(resourcesInfoId)){ + boolean b = false; + //判断是否系统授权资源 + ResourcesInfo resourcesInfo = resourcesInfoDao.getSQLManager() + .lambdaQuery(ResourcesInfo.class) + .andEq(ResourcesInfo::getResourcesInfoId, resourcesInfoId) + .single(); view.addObject("resourcesInfo", resourcesInfo); - CourseInfo courseInfo = courseInfoService.queryById(resourcesInfo.getCourseInfoId()); - if(courseInfo != null && courseInfo.getCourseInfoParentId() != null){ //父节点不为空时 说明当前节点可能是二级节点也可能是三级节点 - CourseInfo courseInfoNew = new CourseInfo(); - courseInfoNew.setCourseInfoParentId(courseInfo.getCourseInfoId());//当前ID作为父ID去查询数据 如果存在则表示还有下级节点 否则没有则表示是三级节点 - List courseInfoList = courseInfoService.getValues(courseInfoNew); - if(courseInfoList.size() > 0){ //二级节点 - view.addObject("courseInfoId", courseInfo.getCourseInfoParentId()); - view.addObject("twoChildNode", courseInfo.getCourseInfoId()); - view.addObject("threeChildNode", null); - }else { //三级节点 - view.addObject("courseInfoId", courseInfoService.queryById(courseInfo.getCourseInfoParentId()).getCourseInfoParentId()); - view.addObject("twoChildNode", courseInfo.getCourseInfoParentId()); - view.addObject("threeChildNode", courseInfo.getCourseInfoId()); + if (ObjectUtil.isNotNull(resourcesInfo)) { + + + //获取小节 + CourseInfo sectionInfo = courseInfoDao.getById(resourcesInfo.getCourseInfoId()); + + //判断是否系统授权课程 + if (ObjectUtil.isNull(sectionInfo)) { + TeacherOpenCourseMergeCourseInfo sectionCourseInfos = teacherOpenCourseMergeCourseInfoDao.getById(resourcesInfo.getCourseInfoId()); + if (ObjectUtil.isNotNull(sectionCourseInfos)) { + + TeacherOpenCourseMergeCourseInfo chapterCourseInfos = teacherOpenCourseMergeCourseInfoDao.getById(sectionCourseInfos.getCourseInfoParentId()); + if (ObjectUtil.isNotNull(chapterCourseInfos)) { + + TeacherOpenCourseMergeCourseInfo courseInfos = teacherOpenCourseMergeCourseInfoDao.getById(chapterCourseInfos.getCourseInfoParentId()); + if (ObjectUtil.isNotNull(courseInfos)) { + b = true; + view.addObject("courseInfoId", courseInfos.getTeacherOpenCourseId()); + view.addObject("twoChildNode", chapterCourseInfos.getTeacherOpenCourseMergeCourseInfoId()); + view.addObject("threeChildNode", sectionCourseInfos.getTeacherOpenCourseMergeCourseInfoId()); + } + } + } + } else { + CourseInfo chapterInfo = courseInfoDao.getById(sectionInfo.getCourseInfoParentId()); + if (ObjectUtil.isNotNull(chapterInfo)) { + CourseInfo courseInfo = courseInfoDao.getById(chapterInfo.getCourseInfoParentId()); + if (ObjectUtil.isNotNull(courseInfo)) { + view.addObject("courseInfoId", courseInfo.getCourseInfoId()); + view.addObject("twoChildNode", chapterInfo.getCourseInfoId()); + view.addObject("threeChildNode", sectionInfo.getCourseInfoId()); + b = true; + } + } } - }else { - view.addObject("courseInfoId", courseInfo != null?courseInfo.getCourseInfoId():null); + } else { + + TeacherOpenCourseMergeResourcesInfo mergeResourcesInfo = teacherOpenCourseMergeResourcesInfoDao.getSQLManager() + .lambdaQuery(TeacherOpenCourseMergeResourcesInfo.class) + .andEq(TeacherOpenCourseMergeResourcesInfo::getTeacherOpenCourseMergeResourcesInfoId, resourcesInfoId) + .single(); + + + ResourcesInfo resources = new ResourcesInfo(); + + if (ObjectUtil.isNotNull(mergeResourcesInfo)) { + + resources.setResourcesInfoId(mergeResourcesInfo.getTeacherOpenCourseMergeResourcesInfoId()); + resources.setCourseInfoId(mergeResourcesInfo.getTeacherOpenCourseId()); + resources.setResourcesInfoName(mergeResourcesInfo.getResourcesInfoName()); + resources.setResourcesInfoType(mergeResourcesInfo.getResourcesInfoType()); + resources.setResourcesInfoContent(mergeResourcesInfo.getResourcesInfoContent()); + resources.setOrgId(mergeResourcesInfo.getOrgId()); + resources.setUserId(mergeResourcesInfo.getUserId()); + resources.setOrderIndex(mergeResourcesInfo.getOrderIndex()); + resources.setAddType(FACULTY_ADD); + resources.setAddTime(mergeResourcesInfo.getAddTime()); + + TeacherOpenCourseMergeCourseInfo sectionCourseInfos = teacherOpenCourseMergeCourseInfoDao.getById(mergeResourcesInfo.getTeacherOpenCourseMergeCourseInfoId()); + + //判断是否系统授权课程 + if (ObjectUtil.isNull(sectionCourseInfos)) { + //获取小节 + CourseInfo sectionInfo = courseInfoDao.getById(mergeResourcesInfo.getTeacherOpenCourseMergeCourseInfoId()); + if (ObjectUtil.isNotNull(sectionInfo)) { + //获取章节 + CourseInfo chapterInfo = courseInfoDao.getById(sectionInfo.getCourseInfoParentId()); + if (ObjectUtil.isNotNull(chapterInfo)) { + CourseInfo courseInfo = courseInfoDao.getById(chapterInfo.getCourseInfoParentId()); + if (ObjectUtil.isNotNull(courseInfo)) { + view.addObject("courseInfoId", courseInfo.getCourseInfoId()); + view.addObject("twoChildNode", chapterInfo.getCourseInfoId()); + view.addObject("threeChildNode", sectionInfo.getCourseInfoId()); + b = true; + } + } + } + + } else { + + TeacherOpenCourseMergeCourseInfo chapterCourseInfos = teacherOpenCourseMergeCourseInfoDao.getById(sectionCourseInfos.getCourseInfoParentId()); + if (ObjectUtil.isNotNull(chapterCourseInfos)) { + TeacherOpenCourseMergeCourseInfo courseInfos = teacherOpenCourseMergeCourseInfoDao.getById(chapterCourseInfos.getCourseInfoParentId()); + if (ObjectUtil.isNotNull(courseInfos)) { + view.addObject("courseInfoId", courseInfos.getTeacherOpenCourseId()); + view.addObject("twoChildNode", chapterCourseInfos.getTeacherOpenCourseMergeCourseInfoId()); + view.addObject("threeChildNode", sectionCourseInfos.getTeacherOpenCourseMergeCourseInfoId()); + b = true; + } + } + } + } + view.addObject("resourcesInfo", resources); + } + + if (!b) { + view.addObject("courseInfoId", null); view.addObject("twoChildNode", null); view.addObject("threeChildNode", null); } @@ -136,6 +270,9 @@ public class ResourcesInfoController{ view.addObject("twoChildNode", null); view.addObject("threeChildNode", null); } + + + return view; } @@ -147,7 +284,7 @@ public class ResourcesInfoController{ ModelAndView view = new ModelAndView("/jlw/previewPage/previewData.html"); ResourcesInfo resourcesInfo = resourcesInfoService.getById(resourcesInfoId); view.addObject("resourcesInfo", resourcesInfo); - view.addObject("resourcesInfoContent", resourcesInfo.getResourcesInfoContent().replaceAll("\\\\","/")); + view.addObject("resourcesInfoContent", resourcesInfo.getResourcesInfoContent().replaceAll("\\\\", "/")); return view; } @@ -156,7 +293,7 @@ public class ResourcesInfoController{ @PostMapping(MODEL + "/list.json") @Function("resourcesInfo.query") @ResponseBody - public JsonResult list(ResourcesInfoQuery condition, @SCoreUser CoreUser coreUser){ + public JsonResult list(ResourcesInfoQuery condition, @SCoreUser CoreUser coreUser) { PageQuery page = condition.getPageQuery(); if (coreUser.isUniAdmin()) { @@ -180,23 +317,9 @@ public class ResourcesInfoController{ @PostMapping(MODEL + "/getCurriculumResourceManagementList.json") @ResponseBody - public JsonResult getCurriculumResourceManagementList(ResourcesInfoQuery condition, @SCoreUser CoreUser coreUser){ + public JsonResult 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, "未授权应用")); - } + condition.setOrgId(coreUser.isAdmin() ? null : coreUser.getOrgId()); resourcesInfoService.getCurriculumResourceManagementList(page); return JsonResult.success(page); } @@ -205,33 +328,34 @@ public class ResourcesInfoController{ @PostMapping(MODEL + "/addAll.json") @Function("resourcesInfo.add") @ResponseBody - public JsonResult addAll(String resourcesInfoJson,Long courseId,Long chapterId, @SCoreUser CoreUser coreUser){// courseId课程ID chapterId章ID - if(StringUtils.isNotBlank(resourcesInfoJson)){ + public JsonResult addAll(String resourcesInfoJson, Long courseId, Long chapterId, @SCoreUser CoreUser coreUser) {// courseId课程ID chapterId章ID + if (StringUtils.isNotBlank(resourcesInfoJson)) { List resourcesInfoList = null; try { resourcesInfoList = JSON.parseArray(resourcesInfoJson, ResourcesInfo.class); } catch (Exception e) { try { resourcesInfoList.add(JSONObject.parseObject(resourcesInfoJson, ResourcesInfo.class)); - } catch (Exception e1) {} + } catch (Exception e1) { + } } ToolUtils.deleteNullList(resourcesInfoList); - if(null != resourcesInfoList && resourcesInfoList.size()>0){ + if (null != resourcesInfoList && resourcesInfoList.size() > 0) { List courseInfoList = null; - if(null != chapterId){ + if (null != chapterId) { courseInfoList = courseInfoService.getCourseResources(chapterId); - }else if(null != courseId){ + } else if (null != courseId) { courseInfoList = courseInfoService.getCourseResources(courseId); } //如果未指定章节则根据文件名进行整理 - for(int i=0;null != courseInfoList && courseInfoList.size()>0 && i 0 && i < resourcesInfoList.size(); i++) { + if (null == resourcesInfoList.get(i).getCourseInfoId()) { + if (StringUtils.isNotBlank(resourcesInfoList.get(i).getResourcesInfoName())) { String resourcesInfoName = CourseInfoService.serialNumberFormat(resourcesInfoList.get(i).getResourcesInfoName()); - for(int j=0;jresourcesInfoList = new ArrayList<>(); - for(int i=0;i resourcesInfoList = new ArrayList<>(); + for (int i = 0; i < resourcesInfoIds.split(",").length; i++) { ResourcesInfo resourcesInfo = new ResourcesInfo(); resourcesInfo.setResourcesInfoId(Long.parseLong(resourcesInfoIds.split(",")[i])); resourcesInfo.setCourseInfoId(courseInfoId); resourcesInfoList.add(resourcesInfo); } - if(resourcesInfoList.size()>0){ + if (resourcesInfoList.size() > 0) { resourcesInfoService.updateBatchTemplate(resourcesInfoList); } return JsonResult.success(); @@ -304,10 +428,10 @@ public class ResourcesInfoController{ @PostMapping(MODEL + "/add.json") @Function("resourcesInfo.add") @ResponseBody - public JsonResult add(@Validated(ValidateConfig.ADD.class)ResourcesInfo resourcesInfo, BindingResult result){ - if(result.hasErrors()){ + public JsonResult add(@Validated(ValidateConfig.ADD.class) ResourcesInfo resourcesInfo, BindingResult result) { + if (result.hasErrors()) { return JsonResult.failMessage(result); - }else{ + } else { resourcesInfoService.add(resourcesInfo); //移除缓存 @@ -320,21 +444,21 @@ public class ResourcesInfoController{ @PostMapping(MODEL + "/edit.json") @Function("resourcesInfo.edit") @ResponseBody - public JsonResult update(@Validated(ValidateConfig.UPDATE.class) ResourcesInfo resourcesInfo, BindingResult result) { - if(result.hasErrors()){ + public JsonResult update(@Validated(ValidateConfig.UPDATE.class) ResourcesInfo resourcesInfo, BindingResult result) { + if (result.hasErrors()) { return JsonResult.failMessage(result); - }else { - if (ObjectUtil.equal(resourcesInfo.getSourceType(),1)){ + } else { + if (ObjectUtil.equal(resourcesInfo.getSourceType(), 1)) { TeacherOpenCourseMergeResourcesInfo single = teacherOpenCourseMergeResourcesInfoDao.getSQLManager().lambdaQuery(TeacherOpenCourseMergeResourcesInfo.class) .andEq(TeacherOpenCourseMergeResourcesInfo::getTeacherOpenCourseMergeResourcesInfoId, resourcesInfo.getResourcesInfoId()) .single(); Integer success = null; - if (ObjectUtil.isNotNull(single)){ + if (ObjectUtil.isNotNull(single)) { single.setTeacherOpenCourseMergeCourseInfoId(resourcesInfo.getCourseInfoId()); - success = teacherOpenCourseMergeResourcesInfoDao.updateTemplateById(single); + success = teacherOpenCourseMergeResourcesInfoDao.updateTemplateById(single); } - return ObjectUtil.equals(success,1) ? JsonResult.success() : JsonResult.failMessage("更新失败"); - }else { + return ObjectUtil.equals(success, 1) ? JsonResult.success() : JsonResult.failMessage("更新失败"); + } else { boolean success = resourcesInfoService.edit(resourcesInfo); if (success) { resourcesInfo = resourcesInfoService.queryById(resourcesInfo.getResourcesInfoId()); @@ -353,28 +477,27 @@ public class ResourcesInfoController{ @GetMapping(MODEL + "/view.json") @Function("resourcesInfo.query") @ResponseBody - public JsonResultqueryInfo(Long resourcesInfoId) { - ResourcesInfo resourcesInfo = resourcesInfoService.queryById( resourcesInfoId); - return JsonResult.success(resourcesInfo); + public JsonResult queryInfo(Long resourcesInfoId) { + ResourcesInfo resourcesInfo = resourcesInfoService.queryById(resourcesInfoId); + return JsonResult.success(resourcesInfo); } @GetMapping(MODEL + "/getValues.json") @ResponseBody - public JsonResult>getValues(ResourcesInfoQuery param) { - Listlist = resourcesInfoService.getValues(param); - return JsonResult.success(list); + public JsonResult> getValues(ResourcesInfoQuery param) { + List list = resourcesInfoService.getValues(param); + return JsonResult.success(list); } - @PostMapping(MODEL + "/delete.json") @Function("resourcesInfo.delete") @ResponseBody public JsonResult delete(String ids) { - for(int i=0;i * 排序 移动 * - * @param id ID - * @param moveType 移动类型 + * @param id ID + * @param moveType 移动类型 * @return {@link JsonResult} * @Author: 87966 * @Date: 2023/1/9 16:17 @@ -413,15 +536,15 @@ public class ResourcesInfoController{ * 只传左元素,表示:拖动元素 在 左元素的左侧; * 只传右元素,表示:拖动元素 在 右元素的右侧; * 左右元素都传,则拖动元素放置在两个元素的中间。 - * + *

* 左侧(上) ==> 右侧(下) * 小数值 ==> 大数值 - * + *

* 数值越小,越靠前 * - * @param id 拖动元素的ID - * @param leftId 左元素ID 偏小数值对应的元素ID - * @param rightId 右元素ID 偏大数值对应的元素ID + * @param id 拖动元素的ID + * @param leftId 左元素ID 偏小数值对应的元素ID + * @param rightId 右元素ID 偏大数值对应的元素ID * @return {@link JsonResult} * @Author: 87966 * @Date: 2023/1/9 16:44 diff --git a/web/src/main/resources/sql/jlw/resourcesInfo.md b/web/src/main/resources/sql/jlw/resourcesInfo.md index 34cc2ba0..621a028b 100644 --- a/web/src/main/resources/sql/jlw/resourcesInfo.md +++ b/web/src/main/resources/sql/jlw/resourcesInfo.md @@ -1,168 +1,168 @@ queryByCondition === + * 根据不为空的参数进行分页查询 - select - @pageTag(){ - t.*, - a.course_info_name - @} - from resources_info t - left join course_info a on a.course_info_id = t.course_info_id - where 1=1 - @//数据权限,该sql语句功能点,如果不考虑数据权限,可以删除此行 - and #function("resourcesInfo.query")# - @if(!isEmpty(resourcesInfoIds)){ - and find_in_set(t.resources_info_id,#resourcesInfoIds#) - @} - @if(!isEmpty(resourcesInfoId)){ - and t.resources_info_id =#resourcesInfoId# - @} - @if(!isEmpty(courseInfoIds)){ - and a.course_info_full_id regexp #courseInfoIds# - @// 未授权任何应用的话,这里直接返回空数据 - @if(courseInfoIds == '未授权应用'){ - and false - @} - @} - @if(!isEmpty(courseInfoId)){ - and a.course_info_full_id regexp #courseInfoId# - @//and t.course_info_id =#courseInfoId# - @} - @if(!isEmpty(resourcesInfoName)){ - and t.resources_info_name like #'%'+resourcesInfoName+'%'# - @} - @if(!isEmpty(resourcesInfoType)){ - and t.resources_info_type =#resourcesInfoType# - @} - @if(!isEmpty(resourcesInfoContent)){ - and t.resources_info_content =#resourcesInfoContent# - @} - @if(!isEmpty(orgId)){ - and t.org_id =#orgId# - @} - @if(!isEmpty(orgIdPlural)){ - and (find_in_set(ifnull(t.org_id, 1), #orgIdPlural#)) - @} - @if(!isEmpty(courseInfoFullId)){ - and a.course_info_full_id like #'%\\_'+courseInfoFullId+'\\_%'# - @} - @if(!isEmpty(addType)){ - and t.add_type =#addType# - @} - @if(isEmpty(seeSelf) && !isEmpty(userId)){ - and t.user_id =#userId# - @} - @if(!isEmpty(seeSelf) && seeSelf && !isEmpty(userId)){ - and (t.add_type = 'ADMIN_ADD' or t.user_id = #userId#) - @} - @if(!isEmpty(courseInfoId_0)){ - and a.course_info_full_id like #'%\\_'+courseInfoId_0+'\\_%'# - @} - @if(!isEmpty(courseInfoId_2)){ - and a.course_info_full_id like #'%\\_'+courseInfoId_2+'\\_%'# - @} - @if(!isEmpty(courseInfoId_3)){ - and a.course_info_full_id like #'%\\_'+courseInfoId_3+'\\_%'# - @} + select + @pageTag(){ + t.*, + a.course_info_name + @} + from resources_info t + left join course_info a on a.course_info_id = t.course_info_id + where 1=1 + @//数据权限,该sql语句功能点,如果不考虑数据权限,可以删除此行 + and #function("resourcesInfo.query")# + @if(!isEmpty(resourcesInfoIds)){ + and find_in_set(t.resources_info_id,#resourcesInfoIds#) + @} + @if(!isEmpty(resourcesInfoId)){ + and t.resources_info_id =#resourcesInfoId# + @} + @if(!isEmpty(courseInfoIds)){ + and a.course_info_full_id regexp #courseInfoIds# + @// 未授权任何应用的话,这里直接返回空数据 + @if(courseInfoIds == '未授权应用'){ + and false + @} + @} + @if(!isEmpty(courseInfoId)){ + and a.course_info_full_id regexp #courseInfoId# + @//and t.course_info_id =#courseInfoId# + @} + @if(!isEmpty(resourcesInfoName)){ + and t.resources_info_name like #'%'+resourcesInfoName+'%'# + @} + @if(!isEmpty(resourcesInfoType)){ + and t.resources_info_type =#resourcesInfoType# + @} + @if(!isEmpty(resourcesInfoContent)){ + and t.resources_info_content =#resourcesInfoContent# + @} + @if(!isEmpty(orgId)){ + and t.org_id =#orgId# + @} + @if(!isEmpty(orgIdPlural)){ + and (find_in_set(ifnull(t.org_id, 1), #orgIdPlural#)) + @} + @if(!isEmpty(courseInfoFullId)){ + and a.course_info_full_id like #'%\\_'+courseInfoFullId+'\\_%'# + @} + @if(!isEmpty(addType)){ + and t.add_type =#addType# + @} + @if(isEmpty(seeSelf) && !isEmpty(userId)){ + and t.user_id =#userId# + @} + @if(!isEmpty(seeSelf) && seeSelf && !isEmpty(userId)){ + and (t.add_type = 'ADMIN_ADD' or t.user_id = #userId#) + @} + @if(!isEmpty(courseInfoId_0)){ + and a.course_info_full_id like #'%\\_'+courseInfoId_0+'\\_%'# + @} + @if(!isEmpty(courseInfoId_2)){ + and a.course_info_full_id like #'%\\_'+courseInfoId_2+'\\_%'# + @} + @if(!isEmpty(courseInfoId_3)){ + and a.course_info_full_id like #'%\\_'+courseInfoId_3+'\\_%'# + @} ORDER BY t.resources_info_id DESC - deleteResourcesInfoByIds === * 批量删除 - delete from resources_info where find_in_set(resources_info_id,#ids#) - + delete from resources_info where find_in_set(resources_info_id,#ids#) getValuesByQuery === * 根据不为空的参数进行查询 - select t.* - from resources_info t + select t.* + from resources_info t left join course_info a on a.course_info_id = t.course_info_id - where 1=1 - @if(!isEmpty(resourcesInfoIds)){ - and find_in_set(t.resources_info_id,#resourcesInfoIds#) - @} - @if(!isEmpty(resourcesInfoId)){ - and t.resources_info_id =#resourcesInfoId# - @} - @if(!isEmpty(courseInfoIds)){ - and find_in_set(t.course_info_id,#courseInfoIds#) - @} - @if(!isEmpty(courseInfoId)){ - and t.course_info_id =#courseInfoId# - @} - @if(!isEmpty(resourcesInfoName)){ - and t.resources_info_name =#resourcesInfoName# - @} - @if(!isEmpty(resourcesInfoType)){ - and t.resources_info_type =#resourcesInfoType# - @} - @if(!isEmpty(resourcesInfoContent)){ - and t.resources_info_content =#resourcesInfoContent# - @} - @if(!isEmpty(orgId)){ - and t.org_id =#orgId# - @} - @if(!isEmpty(addType)){ - and t.add_type =#addType# - @} - @if(!isEmpty(courseInfoFullId)){ - and a.course_info_full_id like #'%\\_'+courseInfoFullId+'\\_%'# - @} - @if(isEmpty(seeSelf) && !isEmpty(userId)){ - and t.user_id =#userId# - @} - @if(!isEmpty(seeSelf) && seeSelf && !isEmpty(userId)){ - and (t.add_type = 'ADMIN_ADD' or t.user_id = #userId#) - @} - + where 1=1 + @if(!isEmpty(resourcesInfoIds)){ + and find_in_set(t.resources_info_id,#resourcesInfoIds#) + @} + @if(!isEmpty(resourcesInfoId)){ + and t.resources_info_id =#resourcesInfoId# + @} + @if(!isEmpty(courseInfoIds)){ + and find_in_set(t.course_info_id,#courseInfoIds#) + @} + @if(!isEmpty(courseInfoId)){ + and t.course_info_id =#courseInfoId# + @} + @if(!isEmpty(resourcesInfoName)){ + and t.resources_info_name =#resourcesInfoName# + @} + @if(!isEmpty(resourcesInfoType)){ + and t.resources_info_type =#resourcesInfoType# + @} + @if(!isEmpty(resourcesInfoContent)){ + and t.resources_info_content =#resourcesInfoContent# + @} + @if(!isEmpty(orgId)){ + and t.org_id =#orgId# + @} + @if(!isEmpty(addType)){ + and t.add_type =#addType# + @} + @if(!isEmpty(courseInfoFullId)){ + and a.course_info_full_id like #'%\\_'+courseInfoFullId+'\\_%'# + @} + @if(isEmpty(seeSelf) && !isEmpty(userId)){ + and t.user_id =#userId# + @} + @if(!isEmpty(seeSelf) && seeSelf && !isEmpty(userId)){ + and (t.add_type = 'ADMIN_ADD' or t.user_id = #userId#) + @} + getResourcesInfoValues === * 根据不为空的参数进行查询 - select t.* - from resources_info t - where 1=1 - @if(!isEmpty(resourcesInfoId)){ - and t.resources_info_id =#resourcesInfoId# - @} - @if(!isEmpty(courseInfoId)){ - and t.course_info_id =#courseInfoId# - @} - @if(!isEmpty(resourcesInfoName)){ - and t.resources_info_name =#resourcesInfoName# - @} - @if(!isEmpty(resourcesInfoType)){ - and t.resources_info_type =#resourcesInfoType# - @} - @if(!isEmpty(resourcesInfoContent)){ - and t.resources_info_content =#resourcesInfoContent# - @} - @if(!isEmpty(orgId)){ - and t.org_id =#orgId# - @} - @if(!isEmpty(addType)){ - and t.add_type =#addType# - @} - @if(!isEmpty(userId)){ - and t.user_id =#userId# - @} - @if(!isEmpty(startTime) && !isEmpty(endTime)){ - and t.add_time between #startTime# AND #endTime# - @} + select t.* + from resources_info t + where 1=1 + @if(!isEmpty(resourcesInfoId)){ + and t.resources_info_id =#resourcesInfoId# + @} + @if(!isEmpty(courseInfoId)){ + and t.course_info_id =#courseInfoId# + @} + @if(!isEmpty(resourcesInfoName)){ + and t.resources_info_name =#resourcesInfoName# + @} + @if(!isEmpty(resourcesInfoType)){ + and t.resources_info_type =#resourcesInfoType# + @} + @if(!isEmpty(resourcesInfoContent)){ + and t.resources_info_content =#resourcesInfoContent# + @} + @if(!isEmpty(orgId)){ + and t.org_id =#orgId# + @} + @if(!isEmpty(addType)){ + and t.add_type =#addType# + @} + @if(!isEmpty(userId)){ + and t.user_id =#userId# + @} + @if(!isEmpty(startTime) && !isEmpty(endTime)){ + and t.add_time between #startTime# AND #endTime# + @} getCourseInfoQuestionCountGroup === + * 查询课程下的所有章节对应的题目总数 - select t.course_info_id, group_concat(t.resources_question_id) as resources_question_ids + select t.course_info_id, group_concat(t.resources_question_id) as resources_question_ids from resources_question t inner join course_info ta on ta.course_info_id = t.course_info_id and ta.course_info_status = 1 @@ -170,12 +170,14 @@ getCourseInfoQuestionCountGroup AND t.question_status = 1 @// 课程IDs @if(!isEmpty(courseInfoIdPlural)) { - 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 getCurriculumResourceManagementList === + * 获取课程资源管理系统授权课+院校开课 SELECT @pageTag(){ @@ -186,12 +188,139 @@ getCurriculumResourceManagementList ( 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, + IF( + ISNULL(( + SELECT + a.course_info_name + FROM + course_info a + WHERE + a.course_info_id = ta.course_info_id + )), + ( + SELECT + a.course_info_name + FROM + teacher_open_course_merge_course_info a + WHERE + a.teacher_open_course_merge_course_info_id = ta.course_info_id + ), + la.course_info_name) AS course_info_name, + IF( + ISNULL(( + SELECT + a.course_info_name + FROM + course_info a + WHERE + a.course_info_id = ta.course_info_id + )), + ( + SELECT + a.course_info_name + FROM + teacher_open_course_merge_course_info a + WHERE + a.teacher_open_course_merge_course_info_id = ( + SELECT + b.course_info_parent_id + FROM + teacher_open_course_merge_course_info b + WHERE + b.teacher_open_course_merge_course_info_id = ta.course_info_id + ) + ), + lb.course_info_name) AS course_info_parent_name, + IF( + ISNULL(( + SELECT + a.course_info_id + FROM + course_info a + WHERE + a.course_info_id = ta.course_info_id + )), + ( + SELECT + a.teacher_open_course_merge_course_info_id + FROM + teacher_open_course_merge_course_info a + WHERE + a.teacher_open_course_merge_course_info_id = ( + SELECT + b.course_info_parent_id + FROM + teacher_open_course_merge_course_info b + WHERE + b.teacher_open_course_merge_course_info_id = ta.course_info_id + ) + ), + lb.course_info_id) AS course_info_parent_id, + IF( + ISNULL(( + SELECT + a.course_info_name + FROM + course_info a + WHERE + a.course_info_id = ta.course_info_id + )), + ( + SELECT + a.course_info_name + FROM + teacher_open_course_merge_course_info a + WHERE + a.teacher_open_course_merge_course_info_id = ( + SELECT + b.course_info_parent_id + FROM + teacher_open_course_merge_course_info b + WHERE + b.teacher_open_course_merge_course_info_id = ( + SELECT + c.course_info_parent_id + FROM + teacher_open_course_merge_course_info c + WHERE + c.teacher_open_course_merge_course_info_id = ta.course_info_id + ) + ) + ), + lc.course_info_name) AS course_info_parent_parent_name, + IF( + ISNULL(( + SELECT + a.course_info_id + FROM + course_info a + WHERE + a.course_info_id = ta.course_info_id + )), + ( + SELECT + a.teacher_open_course_id + FROM + teacher_open_course_merge_course_info a + WHERE + a.teacher_open_course_merge_course_info_id = ( + SELECT + b.course_info_parent_id + FROM + teacher_open_course_merge_course_info b + WHERE + b.teacher_open_course_merge_course_info_id = ( + SELECT + c.course_info_parent_id + FROM + teacher_open_course_merge_course_info c + WHERE + c.teacher_open_course_merge_course_info_id = ta.course_info_id + ) + ) + ), + lc.course_info_id) AS course_info_parent_parent_id, ta.add_time, ta.order_index, ta.org_id, @@ -213,12 +342,139 @@ getCurriculumResourceManagementList ( 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.teacher_open_course_merge_course_info_id AS course_info_id, + IF( + ISNULL(( + SELECT + a.teacher_open_course_merge_course_info_id + FROM + teacher_open_course_merge_course_info a + WHERE + a.teacher_open_course_merge_course_info_id = tb.teacher_open_course_merge_course_info_id + )), + ( + SELECT + a.course_info_name + FROM + course_info a + WHERE + a.course_info_id = tb.teacher_open_course_merge_course_info_id + ), + lba.course_info_name) AS course_info_name, + IF( + ISNULL(( + SELECT + a.teacher_open_course_merge_course_info_id + FROM + teacher_open_course_merge_course_info a + WHERE + a.teacher_open_course_merge_course_info_id = tb.teacher_open_course_merge_course_info_id + )), + ( + SELECT + a.course_info_name + FROM + course_info a + WHERE + a.course_info_id = ( + SELECT + b.course_info_parent_id + FROM + course_info b + WHERE + b.course_info_id = tb.teacher_open_course_merge_course_info_id + ) + ), + lbb.course_info_name) AS course_info_parent_name, + IF( + ISNULL(( + SELECT + a.teacher_open_course_merge_course_info_id + FROM + teacher_open_course_merge_course_info a + WHERE + a.teacher_open_course_merge_course_info_id = tb.teacher_open_course_merge_course_info_id + )), + ( + SELECT + a.course_info_id + FROM + course_info a + WHERE + a.course_info_id = ( + SELECT + b.course_info_parent_id + FROM + course_info b + WHERE + b.course_info_id = tb.teacher_open_course_merge_course_info_id + ) + ), + lbb.teacher_open_course_merge_course_info_id) AS course_info_parent_id, + IF( + ISNULL(( + SELECT + a.teacher_open_course_merge_course_info_id + FROM + teacher_open_course_merge_course_info a + WHERE + a.teacher_open_course_merge_course_info_id = tb.teacher_open_course_merge_course_info_id + )), + ( + SELECT + a.course_info_name + FROM + course_info a + WHERE + a.course_info_id = ( + SELECT + b.course_info_parent_id + FROM + course_info b + WHERE + b.course_info_id = ( + SELECT + c.course_info_parent_id + FROM + course_info c + WHERE + c.course_info_id = tb.teacher_open_course_merge_course_info_id + ) + ) + ), + lbc.course_info_name) AS course_info_parent_parent_name, + IF( + ISNULL(( + SELECT + a.teacher_open_course_merge_course_info_id + FROM + teacher_open_course_merge_course_info a + WHERE + a.teacher_open_course_merge_course_info_id = tb.teacher_open_course_merge_course_info_id + )), + ( + SELECT + a.course_info_id + FROM + course_info a + WHERE + a.course_info_id = ( + SELECT + b.course_info_parent_id + FROM + course_info b + WHERE + b.course_info_id = ( + SELECT + c.course_info_parent_id + FROM + course_info c + WHERE + c.course_info_id = tb.teacher_open_course_merge_course_info_id + ) + ) + ), + lbc.teacher_open_course_id) AS course_info_parent_parent_id, tb.add_time, tb.order_index, tb.org_id, @@ -237,6 +493,9 @@ getCurriculumResourceManagementList LEFT JOIN core_org lbd ON lbd.`ID` = tb.org_id AND lbd.DEL_FLAG = 0 WHERE tb.resources_info_status = 1 + @if(!isEmpty(orgId)){ + and tb.org_id =#orgId# + @} ) ) tt WHERE 1=1 @@ -258,4 +517,7 @@ getCurriculumResourceManagementList @if(!isEmpty(addTypeText)) { AND tt.add_type_text LIKE #'%'+addTypeText+'%'# @} + @if(!isEmpty(sourceType)) { + AND tt.source_type = #sourceType# + @} ORDER BY tt.add_time DESC \ No newline at end of file