diff --git a/kernel-s-system/system-business-portal/src/main/java/cn/stylefeng/roses/kernel/sys/modular/notice/service/impl/SysNoticeServiceImpl.java b/kernel-s-system/system-business-portal/src/main/java/cn/stylefeng/roses/kernel/sys/modular/notice/service/impl/SysNoticeServiceImpl.java index 344f21ff6..f5e858ecd 100644 --- a/kernel-s-system/system-business-portal/src/main/java/cn/stylefeng/roses/kernel/sys/modular/notice/service/impl/SysNoticeServiceImpl.java +++ b/kernel-s-system/system-business-portal/src/main/java/cn/stylefeng/roses/kernel/sys/modular/notice/service/impl/SysNoticeServiceImpl.java @@ -4,6 +4,7 @@ import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.util.ObjectUtil; import cn.stylefeng.roses.kernel.db.api.factory.PageFactory; import cn.stylefeng.roses.kernel.db.api.factory.PageResultFactory; +import cn.stylefeng.roses.kernel.db.api.pojo.entity.BaseEntity; import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult; import cn.stylefeng.roses.kernel.rule.exception.base.ServiceException; import cn.stylefeng.roses.kernel.sys.api.enums.notice.NoticePublishStatusEnum; @@ -20,7 +21,6 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.List; -import java.util.Map; /** * 通知管理业务实现层 @@ -83,6 +83,11 @@ public class SysNoticeServiceImpl extends ServiceImpl findPage(SysNoticeRequest sysNoticeRequest) { LambdaQueryWrapper wrapper = createWrapper(sysNoticeRequest); + + // 只查询需要的字段 + wrapper.select(SysNotice::getNoticeTitle, SysNotice::getPublishStatus, SysNotice::getPriorityLevel, SysNotice::getNoticeBeginTime, SysNotice::getNoticeEndTime, + BaseEntity::getCreateUser, BaseEntity::getCreateTime); + Page pageList = this.page(PageFactory.defaultPage(), wrapper); return PageResultFactory.createPageResult(pageList); } @@ -116,34 +121,24 @@ public class SysNoticeServiceImpl extends ServiceImpl createWrapper(SysNoticeRequest sysNoticeRequest) { LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); - Long noticeId = sysNoticeRequest.getNoticeId(); - String noticeTitle = sysNoticeRequest.getNoticeTitle(); - String noticeSummary = sysNoticeRequest.getNoticeSummary(); - String noticeContent = sysNoticeRequest.getNoticeContent(); - String priorityLevel = sysNoticeRequest.getPriorityLevel(); - String noticeBeginTime = sysNoticeRequest.getNoticeBeginTime(); - String noticeEndTime = sysNoticeRequest.getNoticeEndTime(); - Map noticeUserScope = sysNoticeRequest.getNoticeUserScope(); + // 根据查询条件搜索 + String searchText = sysNoticeRequest.getSearchText(); + if (ObjectUtil.isNotEmpty(searchText)) { + queryWrapper.like(SysNotice::getNoticeTitle, searchText); + queryWrapper.or().like(SysNotice::getNoticeContent, searchText); + } + + // 根据是否发布搜索 Integer publishStatus = sysNoticeRequest.getPublishStatus(); - Long versionFlag = sysNoticeRequest.getVersionFlag(); - Map expandField = sysNoticeRequest.getExpandField(); - String delFlag = sysNoticeRequest.getDelFlag(); - Long tenantId = sysNoticeRequest.getTenantId(); - - queryWrapper.eq(ObjectUtil.isNotNull(noticeId), SysNotice::getNoticeId, noticeId); - queryWrapper.like(ObjectUtil.isNotEmpty(noticeTitle), SysNotice::getNoticeTitle, noticeTitle); - queryWrapper.like(ObjectUtil.isNotEmpty(noticeSummary), SysNotice::getNoticeSummary, noticeSummary); - queryWrapper.like(ObjectUtil.isNotEmpty(noticeContent), SysNotice::getNoticeContent, noticeContent); - queryWrapper.like(ObjectUtil.isNotEmpty(priorityLevel), SysNotice::getPriorityLevel, priorityLevel); - queryWrapper.eq(ObjectUtil.isNotNull(noticeBeginTime), SysNotice::getNoticeBeginTime, noticeBeginTime); - queryWrapper.eq(ObjectUtil.isNotNull(noticeEndTime), SysNotice::getNoticeEndTime, noticeEndTime); - queryWrapper.eq(ObjectUtil.isNotNull(noticeUserScope), SysNotice::getNoticeUserScope, noticeUserScope); - queryWrapper.eq(ObjectUtil.isNotNull(publishStatus), SysNotice::getPublishStatus, publishStatus); - queryWrapper.eq(ObjectUtil.isNotNull(versionFlag), SysNotice::getVersionFlag, versionFlag); - queryWrapper.eq(ObjectUtil.isNotNull(expandField), SysNotice::getExpandField, expandField); - queryWrapper.like(ObjectUtil.isNotEmpty(delFlag), SysNotice::getDelFlag, delFlag); - queryWrapper.eq(ObjectUtil.isNotNull(tenantId), SysNotice::getTenantId, tenantId); + if (ObjectUtil.isNotEmpty(publishStatus)) { + queryWrapper.nested(i -> i.eq(SysNotice::getPublishStatus, publishStatus)); + } + // 根据优先级搜索 + String priorityLevel = sysNoticeRequest.getPriorityLevel(); + if (ObjectUtil.isNotEmpty(priorityLevel)) { + queryWrapper.nested(i -> i.eq(SysNotice::getPriorityLevel, priorityLevel)); + } return queryWrapper; }