diff --git a/jeecg-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/message/service/impl/SysMessageNoticeServiceImpl.java b/jeecg-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/message/service/impl/SysMessageNoticeServiceImpl.java index 78bc32c..12f763e 100644 --- a/jeecg-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/message/service/impl/SysMessageNoticeServiceImpl.java +++ b/jeecg-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/message/service/impl/SysMessageNoticeServiceImpl.java @@ -232,20 +232,11 @@ public class SysMessageNoticeServiceImpl extends ServiceImpl getAccessibleNoticeIds(LoginUser loginUser) { LambdaQueryWrapper scopeWrapper = new LambdaQueryWrapper<>(); - scopeWrapper.select(SysMessageNoticeScope::getNoticeId) - .eq(SysMessageNoticeScope::getScopeId, loginUser.getId()) - .or() - .likeRight(SysMessageNoticeScope::getScopeId, - sysCache.getDepartByOrgCode(GlobalUtils.getFirstDepartOrgCode(loginUser.getOrgCode())).getOrgCode()) - .or() - .likeRight(SysMessageNoticeScope::getScopeId, - sysCache.getDepartByOrgCode(GlobalUtils.getSecondDepartOrgCode(loginUser.getOrgCode())).getOrgCode()) - .or() - .likeRight(SysMessageNoticeScope::getScopeId, - sysCache.getDepartByOrgCode(GlobalUtils.getThirdDepartOrgCode(loginUser.getOrgCode())).getOrgCode()) - .or() - .likeRight(SysMessageNoticeScope::getScopeId, - sysCache.getDepartByOrgCode(loginUser.getOrgCode()).getOrgCode()); + List scopes = new ArrayList<>(); + scopes.add(loginUser.getId()); + scopes.addAll(GlobalUtils.getOrgCodeTreeByCode(loginUser.getOrgCode())); + scopeWrapper.select(SysMessageNoticeScope::getNoticeId); + scopeWrapper.in(SysMessageNoticeScope::getScopeId, scopes); List planScopes = scopeService.list(scopeWrapper); return planScopes.stream().map(SysMessageNoticeScope::getNoticeId).collect(Collectors.toList()); }