diff --git a/framework/src/main/java/cn/lili/modules/page/serviceimpl/PageDataServiceImpl.java b/framework/src/main/java/cn/lili/modules/page/serviceimpl/PageDataServiceImpl.java index a3c9cebc..1f102713 100644 --- a/framework/src/main/java/cn/lili/modules/page/serviceimpl/PageDataServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/page/serviceimpl/PageDataServiceImpl.java @@ -77,7 +77,8 @@ public class PageDataServiceImpl extends ServiceImpl i //如果页面为发布,则关闭其他页面,开启此页面 if (pageData.getPageShow().equals(SwitchEnum.OPEN.name())) { LambdaUpdateWrapper lambdaUpdateWrapper = Wrappers.lambdaUpdate(); - lambdaUpdateWrapper.eq(CharSequenceUtil.equals(UserContext.getCurrentUser().getRole().name(), UserEnums.STORE.name()), PageData::getNum, UserContext.getCurrentUser().getStoreId()); + lambdaUpdateWrapper.eq(CharSequenceUtil.equals(UserContext.getCurrentUser().getRole().name(), UserEnums.STORE.name()), PageData::getNum + , UserContext.getCurrentUser().getStoreId()); lambdaUpdateWrapper.eq(PageData::getPageType, pageData.getPageType()); lambdaUpdateWrapper.eq(PageData::getPageClientType, pageData.getPageClientType()); lambdaUpdateWrapper.set(PageData::getPageShow, SwitchEnum.CLOSE.name()); @@ -96,8 +97,16 @@ public class PageDataServiceImpl extends ServiceImpl i if (pageData.getPageShow() != null && pageData.getPageShow().equals(SwitchEnum.OPEN.name())) { LambdaUpdateWrapper lambdaUpdateWrapper = Wrappers.lambdaUpdate(); lambdaUpdateWrapper.eq(CharSequenceUtil.isNotEmpty(pageData.getPageType()), PageData::getPageType, pageData.getPageType()); - lambdaUpdateWrapper.eq(CharSequenceUtil.isNotEmpty(pageData.getPageClientType()), PageData::getPageClientType, pageData.getPageClientType()); - lambdaUpdateWrapper.eq(PageData::getNum, pageData.getNum()); + lambdaUpdateWrapper.eq(CharSequenceUtil.isNotEmpty(pageData.getPageClientType()), PageData::getPageClientType, + pageData.getPageClientType()); + + //如果是管理员,则判定页面num为null + if (UserContext.getCurrentUser().getRole().name().equals(UserEnums.MANAGER.name())) { + lambdaUpdateWrapper.isNull(PageData::getNum); + } else { + lambdaUpdateWrapper.eq(PageData::getNum, pageData.getNum()); + } + lambdaUpdateWrapper.set(PageData::getPageShow, SwitchEnum.CLOSE.name()); this.update(lambdaUpdateWrapper); } else { @@ -107,8 +116,10 @@ public class PageDataServiceImpl extends ServiceImpl i LambdaUpdateWrapper lambdaUpdateWrapper = Wrappers.lambdaUpdate(); lambdaUpdateWrapper.set(PageData::getPageData, pageData.getPageData()); lambdaUpdateWrapper.eq(PageData::getId, pageData.getId()); - lambdaUpdateWrapper.eq(CharSequenceUtil.equals(UserContext.getCurrentUser().getRole().name(), UserEnums.STORE.name()), PageData::getPageType, PageEnum.STORE.name()); - lambdaUpdateWrapper.eq(CharSequenceUtil.equals(UserContext.getCurrentUser().getRole().name(), UserEnums.STORE.name()), PageData::getNum, UserContext.getCurrentUser().getStoreId()); + lambdaUpdateWrapper.eq(CharSequenceUtil.equals(UserContext.getCurrentUser().getRole().name(), UserEnums.STORE.name()), + PageData::getPageType, PageEnum.STORE.name()); + lambdaUpdateWrapper.eq(CharSequenceUtil.equals(UserContext.getCurrentUser().getRole().name(), UserEnums.STORE.name()), PageData::getNum, + UserContext.getCurrentUser().getStoreId()); this.updateById(pageData); return pageData; } @@ -117,8 +128,10 @@ public class PageDataServiceImpl extends ServiceImpl i @Transactional(rollbackFor = Exception.class) public PageData releasePageData(String id) { PageData pageData = this.getOne(new LambdaQueryWrapper() - .eq(CharSequenceUtil.equals(UserContext.getCurrentUser().getRole().name(), UserEnums.STORE.name()), PageData::getPageType, PageEnum.STORE.name()) - .eq(CharSequenceUtil.equals(UserContext.getCurrentUser().getRole().name(), UserEnums.STORE.name()), PageData::getNum, UserContext.getCurrentUser().getStoreId()) + .eq(CharSequenceUtil.equals(UserContext.getCurrentUser().getRole().name(), UserEnums.STORE.name()), PageData::getPageType, + PageEnum.STORE.name()) + .eq(CharSequenceUtil.equals(UserContext.getCurrentUser().getRole().name(), UserEnums.STORE.name()), PageData::getNum, + UserContext.getCurrentUser().getStoreId()) .eq(PageData::getId, id)); if (pageData == null) { throw new ServiceException(ResultCode.PAGE_NOT_EXIST); @@ -152,8 +165,10 @@ public class PageDataServiceImpl extends ServiceImpl i @Transactional(rollbackFor = Exception.class) public boolean removePageData(String id) { PageData pageData = this.getOne(new LambdaQueryWrapper() - .eq(CharSequenceUtil.equals(UserContext.getCurrentUser().getRole().name(), UserEnums.STORE.name()), PageData::getPageType, PageEnum.STORE.name()) - .eq(CharSequenceUtil.equals(UserContext.getCurrentUser().getRole().name(), UserEnums.STORE.name()), PageData::getNum, UserContext.getCurrentUser().getStoreId()) + .eq(CharSequenceUtil.equals(UserContext.getCurrentUser().getRole().name(), UserEnums.STORE.name()), PageData::getPageType, + PageEnum.STORE.name()) + .eq(CharSequenceUtil.equals(UserContext.getCurrentUser().getRole().name(), UserEnums.STORE.name()), PageData::getNum, + UserContext.getCurrentUser().getStoreId()) .eq(PageData::getId, id)); if (pageData == null) { throw new ServiceException(ResultCode.PAGE_NOT_EXIST);