From d46e23f9cf7a4d8198bd93b013a10ecd6e9da39c Mon Sep 17 00:00:00 2001 From: zhaokai Date: Mon, 9 Mar 2026 14:17:37 +0800 Subject: [PATCH] =?UTF-8?q?feat(video-courseware):=20=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E8=A7=86=E9=A2=91=E8=AF=BE=E4=BB=B6=E6=9F=A5=E8=AF=A2=E6=9D=83?= =?UTF-8?q?=E9=99=90=E6=8E=A7=E5=88=B6=E6=97=A5=E5=BF=97=E8=AE=B0=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../command/query/resource/CurriculumQueryExe.java | 3 +-- .../command/query/resource/ExamPaperQueryExe.java | 2 +- .../query/resource/VideoCoursewareQueryExe.java | 14 ++++++++++++-- .../edu/command/query/study/ClassQueryExe.java | 3 ++- .../edu/command/resource/CurriculumUpdateExe.java | 2 +- 5 files changed, 17 insertions(+), 7 deletions(-) diff --git a/web-app/src/main/java/com/zcloud/edu/command/query/resource/CurriculumQueryExe.java b/web-app/src/main/java/com/zcloud/edu/command/query/resource/CurriculumQueryExe.java index c3909ee..9ccb50c 100644 --- a/web-app/src/main/java/com/zcloud/edu/command/query/resource/CurriculumQueryExe.java +++ b/web-app/src/main/java/com/zcloud/edu/command/query/resource/CurriculumQueryExe.java @@ -82,8 +82,7 @@ public class CurriculumQueryExe { return; } // 个人账户:检查创建者ID匹配 - if ((!isCorpAccount || (AuthContext.getRoleIds()!=null && AuthContext.getRoleIds().contains(2008483105201106946L))) && videoCoursewareCO.getCreateId().equals(AuthContext.getUserId())) { - + if (!isCorpAccount && (videoCoursewareCO.getCreateId().equals(AuthContext.getUserId())||(AuthContext.getRoleIds()!=null && AuthContext.getRoleIds().contains(2008483105201106946L)))) { videoCoursewareCO.setIsUserCreate(true); } }); diff --git a/web-app/src/main/java/com/zcloud/edu/command/query/resource/ExamPaperQueryExe.java b/web-app/src/main/java/com/zcloud/edu/command/query/resource/ExamPaperQueryExe.java index 2b4bca9..879f2db 100644 --- a/web-app/src/main/java/com/zcloud/edu/command/query/resource/ExamPaperQueryExe.java +++ b/web-app/src/main/java/com/zcloud/edu/command/query/resource/ExamPaperQueryExe.java @@ -74,7 +74,7 @@ public class ExamPaperQueryExe { } // 个人账户:检查创建者ID匹配 - if ((!isCorpAccount || (AuthContext.getRoleIds()!=null && AuthContext.getRoleIds().contains(2008483105201106946L))) && videoCoursewareCO.getCreateId().equals(AuthContext.getUserId())) { + if (!isCorpAccount && (videoCoursewareCO.getCreateId().equals(AuthContext.getUserId())||(AuthContext.getRoleIds()!=null && AuthContext.getRoleIds().contains(2008483105201106946L)))) { videoCoursewareCO.setIsUserCreate(true); } diff --git a/web-app/src/main/java/com/zcloud/edu/command/query/resource/VideoCoursewareQueryExe.java b/web-app/src/main/java/com/zcloud/edu/command/query/resource/VideoCoursewareQueryExe.java index 1e73e1a..b164d03 100644 --- a/web-app/src/main/java/com/zcloud/edu/command/query/resource/VideoCoursewareQueryExe.java +++ b/web-app/src/main/java/com/zcloud/edu/command/query/resource/VideoCoursewareQueryExe.java @@ -16,6 +16,7 @@ import com.zcloud.gbscommon.utils.PageQueryHelper; import com.alibaba.cola.dto.PageResponse; import com.alibaba.cola.dto.SingleResponse; import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Component; import org.springframework.beans.BeanUtils; @@ -33,6 +34,7 @@ import java.util.stream.Collectors; */ @Component @AllArgsConstructor +@Slf4j public class VideoCoursewareQueryExe { private final VideoCoursewareRepository videoCoursewareRepository; private final VideoCoursewareCoConvertor videoCoursewareCoConvertor; @@ -64,18 +66,26 @@ public class VideoCoursewareQueryExe { return PageResponse.of(null, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex()); } List videoCoursewareCOList = videoCoursewareCoConvertor.converDOsToCOs(pageResponse.getData()); + log.info("当前用户权限集合:{}", AuthContext.getRoleIds()); videoCoursewareCOList.forEach(videoCoursewareCO -> { //如果是企业,可以看本企业下所有的,如果是个人,只能看个人的,判断登录的账号是企业主账号还是个人 Boolean isCorpAccount = corpInfoRepository.checkCorp(); - + log.info("当前用户是:{}", isCorpAccount ? "企业" : "个人"); + log.info("当前用户ttenantId:{}", AuthContext.getTenantId()); + log.info("当前用户userId:{}", AuthContext.getUserId()); + log.info("当前用户configinfoId:{}", videoCoursewareCO.getCorpinfoId()); // 企业账户:检查租户ID匹配 ,获取权限是体液主账号 + log.info("企业判断:{}",(isCorpAccount) && AuthContext.getTenantId().equals(videoCoursewareCO.getCorpinfoId())); if ((isCorpAccount) && AuthContext.getTenantId().equals(videoCoursewareCO.getCorpinfoId())) { videoCoursewareCO.setIsUserCreate(true); return; } // 个人账户:检查创建者ID匹配 - if ((!isCorpAccount || (AuthContext.getRoleIds()!=null && AuthContext.getRoleIds().contains(2008483105201106946L))) && videoCoursewareCO.getCreateId().equals(AuthContext.getUserId())) { + log.info("个人判断:{}",(videoCoursewareCO.getCreateId().equals(AuthContext.getUserId())||(AuthContext.getRoleIds()!=null && AuthContext.getRoleIds().contains(2008483105201106946L)))); + log.info("个人判断:{}",((AuthContext.getRoleIds()!=null && AuthContext.getRoleIds().contains(2008483105201106946L))) ); + log.info("个人判断:{}",videoCoursewareCO.getCreateId().equals(AuthContext.getUserId())); + if (!isCorpAccount && (videoCoursewareCO.getCreateId().equals(AuthContext.getUserId())||(AuthContext.getRoleIds()!=null && AuthContext.getRoleIds().contains(2008483105201106946L)))) { videoCoursewareCO.setIsUserCreate(true); return; } diff --git a/web-app/src/main/java/com/zcloud/edu/command/query/study/ClassQueryExe.java b/web-app/src/main/java/com/zcloud/edu/command/query/study/ClassQueryExe.java index d7d2605..8d771e1 100644 --- a/web-app/src/main/java/com/zcloud/edu/command/query/study/ClassQueryExe.java +++ b/web-app/src/main/java/com/zcloud/edu/command/query/study/ClassQueryExe.java @@ -93,7 +93,8 @@ public class ClassQueryExe { classCO.setIsUserCreate(true); } // 个人账户:检查创建者ID匹配 - if ((!checkCorp ||(AuthContext.getRoleIds()!=null && AuthContext.getRoleIds().contains(2008483105201106946L))) && (teacherInfoByUserId != null && teacherInfoByUserId.getUserId().equals(classCO.getCreateId()))) { + if (!checkCorp && ((teacherInfoByUserId != null && teacherInfoByUserId.getUserId().equals(classCO.getCreateId())) || (AuthContext.getRoleIds()!=null && AuthContext.getRoleIds().contains(2008483105201106946L)))) { + classCO.setIsUserCreate(true); } /* diff --git a/web-app/src/main/java/com/zcloud/edu/command/resource/CurriculumUpdateExe.java b/web-app/src/main/java/com/zcloud/edu/command/resource/CurriculumUpdateExe.java index f1ee66e..65f4226 100644 --- a/web-app/src/main/java/com/zcloud/edu/command/resource/CurriculumUpdateExe.java +++ b/web-app/src/main/java/com/zcloud/edu/command/resource/CurriculumUpdateExe.java @@ -152,7 +152,7 @@ public class CurriculumUpdateExe { errorList.add(curriculumDO.getCurriculumName()+"课程不是本企业的"); } // 个人账户:检查创建者ID匹配 - if ((!isCorpAccount || (AuthContext.getRoleIds()!=null && AuthContext.getRoleIds().contains(2008483105201106946L))) && curriculumDO.getCreateId().equals(AuthContext.getUserId())) { + if (!isCorpAccount && (curriculumDO.getCreateId().equals(AuthContext.getUserId())||(AuthContext.getRoleIds()!=null && AuthContext.getRoleIds().contains(2008483105201106946L)))) { errorList.add(curriculumDO.getCurriculumName()+"课程不是本人创建的"); }