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 8262ec79..c51a4618 100644 --- a/web/src/main/java/com/ibeetl/jlw/service/CourseInfoService.java +++ b/web/src/main/java/com/ibeetl/jlw/service/CourseInfoService.java @@ -223,7 +223,7 @@ public class CourseInfoService extends CoreBaseService{ String courseInfoFullId = getCourseInfoFullId(courseInfo); CourseInfo model = new CourseInfo(); model.setCourseInfoId(courseInfo.getCourseInfoId()); - model.setCourseInfoFullId(StrUtil.appendIfMissing(courseInfoFullId, "_")); + model.setCourseInfoFullId(StrUtil.prependIfMissing(StrUtil.appendIfMissing(courseInfoFullId, "_"), "_")); updateTemplate(model); return courseInfo; @@ -1407,7 +1407,7 @@ public class CourseInfoService extends CoreBaseService{ // 用于批量更新 CourseInfo updatePO = new CourseInfo(); updatePO.setCourseInfoId(courseInfo.getCourseInfoId()); - updatePO.setCourseInfoFullId(StrUtil.appendIfMissing(courseInfoFullId, "_")); + updatePO.setCourseInfoFullId(StrUtil.prependIfMissing(StrUtil.appendIfMissing(courseInfoFullId, "_"), "_")); updatePOList.add(updatePO); } 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 3cbd5743..76a377c7 100644 --- a/web/src/main/java/com/ibeetl/jlw/web/ResourcesInfoController.java +++ b/web/src/main/java/com/ibeetl/jlw/web/ResourcesInfoController.java @@ -40,6 +40,7 @@ import java.math.RoundingMode; import java.util.ArrayList; import java.util.Arrays; import java.util.List; +import java.util.stream.Collectors; import static cn.hutool.core.util.ArrayUtil.join; import static cn.hutool.core.util.ObjectUtil.defaultIfNull; @@ -158,8 +159,10 @@ public class ResourcesInfoController{ 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(String.valueOf(ifNullCourseInfoIds), "未授权应用")); + condition.setCourseInfoIds(StrUtil.blankToDefault(ids, "未授权应用")); } resourcesInfoService.queryByCondition(page); diff --git a/web/src/main/java/com/ibeetl/jlw/web/ResourcesQuestionController.java b/web/src/main/java/com/ibeetl/jlw/web/ResourcesQuestionController.java index 443e7f1b..34cf012a 100644 --- a/web/src/main/java/com/ibeetl/jlw/web/ResourcesQuestionController.java +++ b/web/src/main/java/com/ibeetl/jlw/web/ResourcesQuestionController.java @@ -52,6 +52,7 @@ import java.io.InputStream; import java.io.Serializable; import java.math.BigDecimal; import java.util.*; +import java.util.stream.Collectors; import static cn.hutool.core.util.ArrayUtil.join; import static cn.hutool.core.util.ObjectUtil.defaultIfNull; @@ -157,9 +158,6 @@ public class ResourcesQuestionController{ @ResponseBody public JsonResult list(ResourcesQuestionQuery condition, @SCoreUser CoreUser coreUser){ PageQuery page = condition.getPageQuery(); - if (coreUser.isTeacher()) { - condition.setSeeSelf(true); - } if (coreUser.isUniAdmin()) { condition.setOrgIdPlural(join(Arrays.asList(coreUser.getOrgId(), 1L).toArray(), ",")); @@ -170,8 +168,10 @@ public class ResourcesQuestionController{ 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(String.valueOf(ifNullCourseInfoIds), "未授权应用")); + condition.setCourseInfoIds(StrUtil.blankToDefault(ids, "未授权应用")); } resourcesQuestionService.queryByCondition(page); return JsonResult.success(page); diff --git a/web/src/main/java/com/ibeetl/jlw/web/query/ResourcesInfoQuery.java b/web/src/main/java/com/ibeetl/jlw/web/query/ResourcesInfoQuery.java index d16694fc..d5edd40c 100644 --- a/web/src/main/java/com/ibeetl/jlw/web/query/ResourcesInfoQuery.java +++ b/web/src/main/java/com/ibeetl/jlw/web/query/ResourcesInfoQuery.java @@ -46,7 +46,7 @@ public class ResourcesInfoQuery extends PageParam { * 全路径查询,用于查询归属课程 */ private String courseInfoFullId; - private String courseInfoId_1; + private String courseInfoId_0; private String courseInfoId_2; private String courseInfoId_3; @@ -173,12 +173,12 @@ public class ResourcesInfoQuery extends PageParam { this.courseInfoFullId = courseInfoFullId; } - public String getCourseInfoId_1() { - return courseInfoId_1; + public String getCourseInfoId_0() { + return courseInfoId_0; } - public void setCourseInfoId_1(String courseInfoId_1) { - this.courseInfoId_1 = courseInfoId_1; + public void setCourseInfoId_0(String courseInfoId_0) { + this.courseInfoId_0 = courseInfoId_0; } public String getCourseInfoId_2() { diff --git a/web/src/main/resources/sql/jlw/resourcesInfo.md b/web/src/main/resources/sql/jlw/resourcesInfo.md index 88fc4a80..f00eaed7 100644 --- a/web/src/main/resources/sql/jlw/resourcesInfo.md +++ b/web/src/main/resources/sql/jlw/resourcesInfo.md @@ -19,10 +19,15 @@ queryByCondition and t.resources_info_id =#resourcesInfoId# @} @if(!isEmpty(courseInfoIds)){ - and find_in_set(t.course_info_id,#courseInfoIds#) + and a.course_info_full_id regexp #courseInfoIds# + @// 未授权任何应用的话,这里直接返回空数据 + @if(courseInfoIds == '未授权应用'){ + and false + @} @} @if(!isEmpty(courseInfoId)){ - and t.course_info_id =#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+'%'# @@ -40,7 +45,7 @@ queryByCondition and (find_in_set(ifnull(t.org_id, 1), #orgIdPlural#)) @} @if(!isEmpty(courseInfoFullId)){ - and a.course_info_full_id like #courseInfoFullId+"%"# + and a.course_info_full_id like #'%\\_'+courseInfoFullId+'\\_%'# @} @if(!isEmpty(addType)){ and t.add_type =#addType# @@ -51,12 +56,14 @@ queryByCondition @if(!isEmpty(seeSelf) && seeSelf && !isEmpty(userId)){ and (t.add_type = 'ADMIN_ADD' or t.user_id = #userId#) @} - @if(!isEmpty(courseInfoId_1)){ - and a.course_info_full_id like #courseInfoId_1 + '%'# - @} else if(!isEmpty(courseInfoId_2)){ - and a.course_info_full_id like #courseInfoId_1 + '_' + courseInfoId_2 + '%'# - @} else if(!isEmpty(courseInfoId_3)){ - and a.course_info_full_id like #courseInfoId_1 + '_' + courseInfoId_2 + '_' + courseInfoId_3 + '%'# + @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 diff --git a/web/src/main/resources/sql/jlw/resourcesQuestion.md b/web/src/main/resources/sql/jlw/resourcesQuestion.md index 25e55859..7a806391 100644 --- a/web/src/main/resources/sql/jlw/resourcesQuestion.md +++ b/web/src/main/resources/sql/jlw/resourcesQuestion.md @@ -40,23 +40,22 @@ queryByCondition and t.resources_question_id =#resourcesQuestionId# @} @if(!isEmpty(courseInfoIds)){ - and find_in_set(t.course_info_id,#courseInfoIds#) + and a.course_info_full_id regexp #courseInfoIds# @// 未授权任何应用的话,这里直接返回空数据 @if(courseInfoIds == '未授权应用'){ and false @} @} @if(!isEmpty(courseInfoId)){ - and t.course_info_id =#courseInfoId# + and a.course_info_full_id regexp #courseInfoId# + @//and t.course_info_id =#courseInfoId# @} @if(!isEmpty(courseInfoId_0)){ - and t.course_info_id =#courseInfoId_0# + and a.course_info_full_id like #'%\\_'+courseInfoId_0+'\\_%'# @} @if(!isEmpty(courseInfoId_1)){ - and t.course_info_id =#courseInfoId_1# - @} else if(!isEmpty(courseInfoId_0)){ - and t.course_info_id =#courseInfoId_0# - @} + and a.course_info_full_id like #'%\\_'+courseInfoId_1+'\\_%'# + @} @if(!isEmpty(questionType)){ and t.question_type =#questionType# @}