From fb58bca24c2c840dcdb2a18fa6379bad88d261f9 Mon Sep 17 00:00:00 2001 From: Mlxa0324 Date: Sun, 12 Mar 2023 15:57:07 +0800 Subject: [PATCH] =?UTF-8?q?=E9=99=A2=E6=A0=A1=E6=8E=88=E6=9D=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...gesJurisdictionCurriculumResourcesDao.java | 8 +++ ...urisdictionCurriculumResourcesService.java | 39 +++++++++++ .../ResourcesApplicationCourseController.java | 3 +- .../jlw/web/ResourcesInfoController.java | 2 +- .../jlw/web/ResourcesQuestionController.java | 2 +- ...sdictionCurriculumResourcesController.java | 12 ++++ ...CollegesJurisdictionCurriculumResources.md | 70 +++++++++++++++++++ 7 files changed, 133 insertions(+), 3 deletions(-) diff --git a/web/src/main/java/com/ibeetl/jlw/dao/UniversitiesCollegesJurisdictionCurriculumResourcesDao.java b/web/src/main/java/com/ibeetl/jlw/dao/UniversitiesCollegesJurisdictionCurriculumResourcesDao.java index eea65d3e..dc34d78c 100644 --- a/web/src/main/java/com/ibeetl/jlw/dao/UniversitiesCollegesJurisdictionCurriculumResourcesDao.java +++ b/web/src/main/java/com/ibeetl/jlw/dao/UniversitiesCollegesJurisdictionCurriculumResourcesDao.java @@ -29,8 +29,16 @@ public interface UniversitiesCollegesJurisdictionCurriculumResourcesDao extends /** * 获取授权的课程列表,根据系统用户 + * 只获取理论课程,授权的部分 * @param orgId * @return */ List getAuthCourseInfoByOrgId(Long orgId); + /** + * 获取授权的课程列表,根据系统用户 + * 获取这个机构,所授权的所有课程。所有授权课程 + * @param orgId + * @return + */ + List getAllAuthCourseInfoByOrgId(Long orgId); } \ No newline at end of file diff --git a/web/src/main/java/com/ibeetl/jlw/service/UniversitiesCollegesJurisdictionCurriculumResourcesService.java b/web/src/main/java/com/ibeetl/jlw/service/UniversitiesCollegesJurisdictionCurriculumResourcesService.java index fbbcd199..2898449d 100644 --- a/web/src/main/java/com/ibeetl/jlw/service/UniversitiesCollegesJurisdictionCurriculumResourcesService.java +++ b/web/src/main/java/com/ibeetl/jlw/service/UniversitiesCollegesJurisdictionCurriculumResourcesService.java @@ -98,4 +98,43 @@ public class UniversitiesCollegesJurisdictionCurriculumResourcesService extends public String getAuthCourseInfoStrByCoreUser(CoreUser coreUser){ return listJoin(universitiesCollegesJurisdictionCurriculumResourcesDao.getAuthCourseInfoByOrgId(coreUser.getOrgId()), CourseInfo::getCourseInfoId); } + + /** + * 通过传入的用户(机构ID),获取授权的课程信息 + * 获取这个机构,所授权的所有课程。 + * @param coreUser + * @return + */ + public String getAllAuthCourseInfoStrByCoreUser(CoreUser coreUser){ + return listJoin(universitiesCollegesJurisdictionCurriculumResourcesDao.getAllAuthCourseInfoByOrgId(coreUser.getOrgId()), CourseInfo::getCourseInfoId); + } + + /** + * 通过传入的用户(机构ID),获取授权的课程信息 + * 获取这个机构,所授权的所有课程。 + * @param orgId + * @return + */ + public String getAllAuthCourseInfoStrByOrgId(Long orgId){ + return listJoin(universitiesCollegesJurisdictionCurriculumResourcesDao.getAllAuthCourseInfoByOrgId(orgId), CourseInfo::getCourseInfoId); + } + /** + * 通过传入的用户(机构ID),获取授权的课程信息 + * 获取这个机构,所授权的所有课程。所有授权课程 + * @param coreUser + * @return + */ + public List getAllAuthCourseInfoByCoreUser(CoreUser coreUser){ + return universitiesCollegesJurisdictionCurriculumResourcesDao.getAllAuthCourseInfoByOrgId(coreUser.getOrgId()); + } + + /** + * 通过传入的用户(机构ID),获取授权的课程信息 + * 获取这个机构,所授权的所有课程。所有授权课程 + * @param orgId + * @return + */ + public List getAllAuthCourseInfoByOrgId(Long orgId){ + return universitiesCollegesJurisdictionCurriculumResourcesDao.getAllAuthCourseInfoByOrgId(orgId); + } } \ No newline at end of file diff --git a/web/src/main/java/com/ibeetl/jlw/web/ResourcesApplicationCourseController.java b/web/src/main/java/com/ibeetl/jlw/web/ResourcesApplicationCourseController.java index 466a3b8b..aee92390 100644 --- a/web/src/main/java/com/ibeetl/jlw/web/ResourcesApplicationCourseController.java +++ b/web/src/main/java/com/ibeetl/jlw/web/ResourcesApplicationCourseController.java @@ -215,13 +215,14 @@ public class ResourcesApplicationCourseController{ } /** - * 通过应用ID查询,理论课程类的课程 + * 通过应用ID查询,理论课程类的课程 (暂时废弃) * @param applicationIds 应用ID不能为空 * @param universitiesCollegesId 院校ID 可为空 * @return */ @GetMapping(MODEL + "/getAllByApplicationIds.json") @ResponseBody + @Deprecated public JsonResult> getAllByApplicationIds(String applicationIds, Long universitiesCollegesId) { List list = resourcesApplicationCourseService.getAllByApplicationIds(applicationIds, universitiesCollegesId); return JsonResult.success(list); 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 c14dd40f..9c62d995 100644 --- a/web/src/main/java/com/ibeetl/jlw/web/ResourcesInfoController.java +++ b/web/src/main/java/com/ibeetl/jlw/web/ResourcesInfoController.java @@ -147,7 +147,7 @@ public class ResourcesInfoController{ PageQuery page = condition.getPageQuery(); if (!coreUser.isAdmin()) { - List authCourseList = universitiesCollegesJurisdictionCurriculumResourcesService.getAuthCourseInfoByCoreUser(coreUser); + List authCourseList = universitiesCollegesJurisdictionCurriculumResourcesService.getAllAuthCourseInfoByOrgId(coreUser.getOrgId()); String courseInfoIds = listJoin(authCourseList, CourseInfo::getCourseInfoId); if (StrUtil.isNotBlank(courseInfoIds)) { 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 6d10bee6..4b64f0f0 100644 --- a/web/src/main/java/com/ibeetl/jlw/web/ResourcesQuestionController.java +++ b/web/src/main/java/com/ibeetl/jlw/web/ResourcesQuestionController.java @@ -166,7 +166,7 @@ public class ResourcesQuestionController{ // 考证类课程:查询,不需要二次授权 Serializable courseInfoIds = defaultIfNull(condition.getCourseInfoId(), condition.getCourseInfoIds()); Serializable ifNullCourseInfoIds = defaultIfNull(courseInfoIds, - universitiesCollegesJurisdictionCurriculumResourcesService.getAuthCourseInfoStrByOrgId(coreUser.getOrgId())); + universitiesCollegesJurisdictionCurriculumResourcesService.getAllAuthCourseInfoStrByOrgId(coreUser.getOrgId())); // 如果为空字符串,那么代表这个学校,还没有授权的课程,所以是不会显示任何东西的。 condition.setCourseInfoIds(StrUtil.blankToDefault(String.valueOf(ifNullCourseInfoIds), "未授权应用")); diff --git a/web/src/main/java/com/ibeetl/jlw/web/UniversitiesCollegesJurisdictionCurriculumResourcesController.java b/web/src/main/java/com/ibeetl/jlw/web/UniversitiesCollegesJurisdictionCurriculumResourcesController.java index 86c2aecb..308538d8 100644 --- a/web/src/main/java/com/ibeetl/jlw/web/UniversitiesCollegesJurisdictionCurriculumResourcesController.java +++ b/web/src/main/java/com/ibeetl/jlw/web/UniversitiesCollegesJurisdictionCurriculumResourcesController.java @@ -199,4 +199,16 @@ public class UniversitiesCollegesJurisdictionCurriculumResourcesController{ return JsonResult.success(); } + /** + * 查询该机构下所有授权的课程。包含系统本身可以查看的课程 + * @param orgId + * @param coreUser + * @return + */ + @PostMapping(MODEL + "/getAllAuthCourseInfoByOrgId.json") + @ResponseBody + public JsonResult getAllAuthCourseInfoByOrgId(Long orgId, @SCoreUser CoreUser coreUser){ + return JsonResult.success(universitiesCollegesJurisdictionCurriculumResourcesService.getAllAuthCourseInfoStrByOrgId(orgId)); + } + } diff --git a/web/src/main/resources/sql/jlw/universitiesCollegesJurisdictionCurriculumResources.md b/web/src/main/resources/sql/jlw/universitiesCollegesJurisdictionCurriculumResources.md index 03eb67d1..8d29071b 100644 --- a/web/src/main/resources/sql/jlw/universitiesCollegesJurisdictionCurriculumResources.md +++ b/web/src/main/resources/sql/jlw/universitiesCollegesJurisdictionCurriculumResources.md @@ -229,4 +229,74 @@ getAuthCourseInfoByOrgId AND now() between t.use_start_time AND t.use_end_time AND t.use_type != 0 AND t.use_type is not null AND ta.org_id = #orgId# + order by add_time desc + + +getAllAuthCourseInfoByOrgId +=== +* 获取授权的课程列表,根据系统用户 +* 应用课程:查询resources_application_course表,应用和课程的绑定关系 +* 理论课程:授权表universities_colleges_jurisdiction_curriculum_resources,查询理论课程授权给院校的数据 +* 考证类课程:直接查询,不需要二次授权 + + select * from ( + @// 考证类课程 + SELECT + ta.*, + FALSE as is_update, + NULL AS use_type, + NULL as use_type_text, + NULL AS use_start_time, + NULL AS use_end_time, + NULL AS second_level_name, + NULL AS second_level_logo + FROM + course_info ta + INNER JOIN course_label tb ON ta.course_info_status = 1 + AND ta.course_info_type = 1 + AND ta.course_label_id = tb.course_label_id + WHERE + 1 + AND tb.course_label_type = '考证课程类' + UNION + @// 应用课程。其实一个sql可以写完的,为了方便阅读,分开写比较好 + SELECT + ta.*, + FALSE as is_update, + NULL AS use_type, + NULL as use_type_text, + NULL AS use_start_time, + NULL AS use_end_time, + NULL AS second_level_name, + NULL AS second_level_logo + FROM + resources_application_course t + INNER JOIN course_info ta ON ta.course_info_status = 1 + AND ta.course_info_type = 1 + AND t.course_info_id = ta.course_info_id + UNION + @// 需要在院校权限管理中授权,理论课程 + SELECT + tb.*, + TRUE as is_update, + tc.use_type, + (CASE a.use_type WHEN 1 THEN '购买' WHEN 2 THEN '试用' WHEN 12 THEN '购买+试用' END) as use_type_text, + tc.use_start_time, + tc.use_end_time, + tc.second_level_name, + tc.second_level_logo + FROM + course_info tb + LEFT JOIN universities_colleges_jurisdiction_curriculum_resources tc ON tc.course_info_id = tb.course_info_id + AND now() BETWEEN tc.use_start_time + AND tc.use_end_time + AND tc.use_type != 0 + AND tc.use_type IS NOT NULL + AND tc.org_id = #orgId# + WHERE + 1 + AND tb.course_info_status = 1 + AND tb.course_info_type = 1 + ) zz + left join course_label za on za.course_label_id = zz.course_label_id and za.course_label_status = 1 order by add_time desc \ No newline at end of file