From 29dd780640fcf276eaa9629ecd858346710214d8 Mon Sep 17 00:00:00 2001 From: ShiJiuZhou <15315423958@163.com> Date: Fri, 20 Mar 2026 13:56:34 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=80=9A=E7=9F=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/pojo/vo/MesApprovalRecordVO.java | 2 ++ .../common/pojo/vo/MesNotifyMessageVO.java | 2 ++ .../MesApprovalRecordController.java | 5 ++- .../MesNotifyMessageController.java | 23 ++++++++++++- .../service/IMesApprovalRecordService.java | 3 +- .../service/IMesNotifyMessageService.java | 11 +++++- .../impl/MesApprovalRecordServiceImpl.java | 24 +++++++++---- .../impl/MesNotifyMessageServiceImpl.java | 34 +++++++++++++++---- 8 files changed, 88 insertions(+), 16 deletions(-) diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/common/pojo/vo/MesApprovalRecordVO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/common/pojo/vo/MesApprovalRecordVO.java index 6259e521..71075480 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/common/pojo/vo/MesApprovalRecordVO.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/common/pojo/vo/MesApprovalRecordVO.java @@ -42,4 +42,6 @@ public class MesApprovalRecordVO extends MesApprovalRecordEntity { @Serial private static final long serialVersionUID = 1L; + private String bizName; + } diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/common/pojo/vo/MesNotifyMessageVO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/common/pojo/vo/MesNotifyMessageVO.java index 6bbff133..5f2956e9 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/common/pojo/vo/MesNotifyMessageVO.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/common/pojo/vo/MesNotifyMessageVO.java @@ -42,5 +42,7 @@ public class MesNotifyMessageVO extends MesNotifyMessageEntity { @Serial private static final long serialVersionUID = 1L; + private String bizName; + private String createUserName; } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/common/controller/MesApprovalRecordController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/common/controller/MesApprovalRecordController.java index 8c243aaa..1073d3a9 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/common/controller/MesApprovalRecordController.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/common/controller/MesApprovalRecordController.java @@ -26,6 +26,7 @@ package org.springblade.desk.common.controller; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import lombok.AllArgsConstructor; @@ -34,6 +35,7 @@ import org.springblade.core.mp.support.Condition; import org.springblade.core.mp.support.Query; import org.springblade.core.secure.utils.AuthUtil; import org.springblade.core.tool.api.R; +import org.springblade.desk.common.pojo.entity.MesApprovalRecordEntity; import org.springblade.desk.common.pojo.vo.MyHistoryMesApprovalRecordVO; import org.springblade.desk.common.pojo.vo.MyMesApprovalRecordVO; import org.springblade.desk.common.service.IMesApprovalRecordService; @@ -62,7 +64,8 @@ public class MesApprovalRecordController extends BladeController { @Operation(summary = "获取我的审批分页", description = "传入mesApprovalRecord") public R> pageMyApprovalRecord(MyMesApprovalRecordVO mesApprovalRecord, Query query) { mesApprovalRecord.setNextRoleId(Long.parseLong(AuthUtil.getUser().getRoleId())); - IPage pages = mesApprovalRecordService.selectMyMesApprovalRecordPage(Condition.getPage(query), mesApprovalRecord); + Page page = new Page<>(query.getCurrent(), query.getSize()); + IPage pages = mesApprovalRecordService.selectMyMesApprovalRecordPage(page, mesApprovalRecord); return R.data(pages); } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/common/controller/MesNotifyMessageController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/common/controller/MesNotifyMessageController.java index c999a952..f218e907 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/common/controller/MesNotifyMessageController.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/common/controller/MesNotifyMessageController.java @@ -26,6 +26,7 @@ package org.springblade.desk.common.controller; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.tags.Tag; @@ -37,10 +38,13 @@ import org.springblade.core.mp.support.Query; import org.springblade.core.secure.utils.AuthUtil; import org.springblade.core.tool.api.R; import org.springblade.core.tool.utils.Func; +import org.springblade.desk.common.pojo.entity.MesNotifyMessageEntity; import org.springblade.desk.common.pojo.vo.MesNotifyMessageVO; import org.springblade.desk.common.service.IMesNotifyMessageService; import org.springframework.web.bind.annotation.*; +import java.util.List; + /** * 通知消息 控制器 * @@ -62,10 +66,20 @@ public class MesNotifyMessageController extends BladeController { @Operation(summary = "分页", description = "传入mesNotifyMessage") public R> page(MesNotifyMessageVO mesNotifyMessage, Query query) { mesNotifyMessage.setReceiveUserId(AuthUtil.getUserId()); - IPage pages = mesNotifyMessageService.selectMesNotifyMessagePage(Condition.getPage(query), mesNotifyMessage); + IPage pages = mesNotifyMessageService.selectMesNotifyMessagePage(new Page<>(query.getCurrent(), query.getSize()), mesNotifyMessage); return R.data(pages); } + @GetMapping("/count") + @Operation(summary = "获取未读数量", description = "传入mesNotifyMessage") + public R count() { + MesNotifyMessageVO mesNotifyMessage = new MesNotifyMessageVO(); + mesNotifyMessage.setReceiveUserId(AuthUtil.getUserId()); + mesNotifyMessage.setStatus(0); + long count = mesNotifyMessageService.count(Condition.getQueryWrapper(mesNotifyMessage)); + return R.data(count); + } + /** * 通知消息 删除 */ @@ -76,4 +90,11 @@ public class MesNotifyMessageController extends BladeController { return R.status(mesNotifyMessageService.deleteLogic(Func.toLongList(ids))); } + @PostMapping("/read") + @ApiLog("标记已读") + @Operation(summary = "标记已读", description = "传入ids") + public R read(@Parameter(description = "主键集合", required = true) String ids) { + List idList = Func.toLongList(ids); + return R.status(mesNotifyMessageService.updateReadStatus(idList)); + } } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/common/service/IMesApprovalRecordService.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/common/service/IMesApprovalRecordService.java index 1007b772..cfa66d12 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/common/service/IMesApprovalRecordService.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/common/service/IMesApprovalRecordService.java @@ -26,6 +26,7 @@ package org.springblade.desk.common.service; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.springblade.core.mp.base.BaseService; import org.springblade.desk.common.pojo.entity.MesApprovalRecordEntity; import org.springblade.desk.common.pojo.vo.MyHistoryMesApprovalRecordVO; @@ -45,7 +46,7 @@ public interface IMesApprovalRecordService extends BaseService */ - IPage selectMyMesApprovalRecordPage(IPage page, MyMesApprovalRecordVO mesApprovalRecord); + IPage selectMyMesApprovalRecordPage(Page page, MyMesApprovalRecordVO mesApprovalRecord); /** * 自定义分页 diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/common/service/IMesNotifyMessageService.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/common/service/IMesNotifyMessageService.java index 2c00a876..e1487596 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/common/service/IMesNotifyMessageService.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/common/service/IMesNotifyMessageService.java @@ -26,10 +26,13 @@ package org.springblade.desk.common.service; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.springblade.core.mp.base.BaseService; import org.springblade.desk.common.pojo.entity.MesNotifyMessageEntity; import org.springblade.desk.common.pojo.vo.MesNotifyMessageVO; +import java.util.List; + /** * 通知消息 服务类 * @@ -44,6 +47,12 @@ public interface IMesNotifyMessageService extends BaseService */ - IPage selectMesNotifyMessagePage(IPage page, MesNotifyMessageVO mesNotifyMessage); + IPage selectMesNotifyMessagePage(Page page, MesNotifyMessageVO mesNotifyMessage); + /** + * 标记已读 + * @param ids 主键集合 + * @return + */ + boolean updateReadStatus(List ids); } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/common/service/impl/MesApprovalRecordServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/common/service/impl/MesApprovalRecordServiceImpl.java index 3576a5f1..956578eb 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/common/service/impl/MesApprovalRecordServiceImpl.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/common/service/impl/MesApprovalRecordServiceImpl.java @@ -25,14 +25,18 @@ */ package org.springblade.desk.common.service.impl; +import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.springblade.common.utils.CommonUtil; import org.springblade.core.mp.base.BaseServiceImpl; import org.springblade.core.secure.utils.AuthUtil; import org.springblade.desk.common.constant.ApprovalStatusConstant; import org.springblade.desk.common.mapper.MesApprovalRecordMapper; import org.springblade.desk.common.pojo.entity.MesApprovalRecordEntity; +import org.springblade.desk.common.pojo.entity.MesNotifyMessageEntity; +import org.springblade.desk.common.pojo.vo.MesNotifyMessageVO; import org.springblade.desk.common.pojo.vo.MyHistoryMesApprovalRecordVO; import org.springblade.desk.common.pojo.vo.MyMesApprovalRecordVO; import org.springblade.desk.common.service.IMesApprovalRecordService; @@ -56,19 +60,27 @@ import java.util.stream.Collectors; public class MesApprovalRecordServiceImpl extends BaseServiceImpl implements IMesApprovalRecordService { @Override - public IPage selectMyMesApprovalRecordPage(IPage page, MyMesApprovalRecordVO mesApprovalRecord) { - List myMesApprovalRecordVOList = baseMapper.selectMyMesApprovalRecordPage(page, mesApprovalRecord); - if (!myMesApprovalRecordVOList.isEmpty()){ + public IPage selectMyMesApprovalRecordPage(Page page, MyMesApprovalRecordVO mesApprovalRecord) { + Page mesNotifyMessageVOPage = this.page(page, new LambdaQueryWrapper() + .eq(StrUtil.isNotEmpty(mesApprovalRecord.getBizType()), MesApprovalRecordEntity::getBizType, mesApprovalRecord.getBizType()) + .like(StrUtil.isNotEmpty(mesApprovalRecord.getContent()), MesApprovalRecordEntity::getContent, mesApprovalRecord.getContent()) + .orderByDesc(MesApprovalRecordEntity::getCreateTime)); + Page page1 = new Page<>(); + if (!mesNotifyMessageVOPage.getRecords().isEmpty()){ List recordVOList = new ArrayList<>(); - myMesApprovalRecordVOList.forEach(entity -> { + mesNotifyMessageVOPage.getRecords().forEach(entity -> { MyMesApprovalRecordVO recordVO = new MyMesApprovalRecordVO(); BeanUtils.copyProperties(entity, recordVO); recordVO.setCreateUserName(AuthUtil.getUserName()); recordVOList.add(recordVO); }); - return page.setRecords(recordVOList); + page1.setRecords(recordVOList); + page1.setTotal(page.getTotal()); + page1.setSize(page.getSize()); + page1.setCurrent(page.getCurrent()); + return page1; } - return page.setRecords(Collections.emptyList()); + return page1; } @Override diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/common/service/impl/MesNotifyMessageServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/common/service/impl/MesNotifyMessageServiceImpl.java index bea36759..e65c08d4 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/common/service/impl/MesNotifyMessageServiceImpl.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/common/service/impl/MesNotifyMessageServiceImpl.java @@ -25,8 +25,13 @@ */ package org.springblade.desk.common.service.impl; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.springblade.core.mp.base.BaseServiceImpl; +import org.springblade.core.tool.utils.ObjectUtil; import org.springblade.desk.common.mapper.MesNotifyMessageMapper; import org.springblade.desk.common.pojo.entity.MesNotifyMessageEntity; import org.springblade.desk.common.pojo.vo.MesNotifyMessageVO; @@ -49,19 +54,36 @@ import java.util.List; public class MesNotifyMessageServiceImpl extends BaseServiceImpl implements IMesNotifyMessageService { @Override - public IPage selectMesNotifyMessagePage(IPage page, MesNotifyMessageVO mesNotifyMessage) { - List mesNotifyMessageVOList = baseMapper.selectMesNotifyMessagePage(page, mesNotifyMessage); - if (!mesNotifyMessageVOList.isEmpty()){ + public IPage selectMesNotifyMessagePage(Page page, MesNotifyMessageVO mesNotifyMessage) { + Page mesNotifyMessageVOList = this.page(page, new LambdaQueryWrapper() + .eq(StrUtil.isNotEmpty(mesNotifyMessage.getBizType()), MesNotifyMessageEntity::getBizType, mesNotifyMessage.getBizType()) + .like(StrUtil.isNotEmpty(mesNotifyMessage.getContent()), MesNotifyMessageEntity::getContent, mesNotifyMessage.getContent()) + .orderByDesc(MesNotifyMessageEntity::getCreateTime)); + Page page1 = new Page<>(); + if (!mesNotifyMessageVOList.getRecords().isEmpty()){ List mesNotifyMessageList = new ArrayList<>(); - mesNotifyMessageVOList.forEach(entity -> { + mesNotifyMessageVOList.getRecords().forEach(entity -> { MesNotifyMessageVO mesNotifyMessageVO = new MesNotifyMessageVO(); BeanUtils.copyProperties(entity, mesNotifyMessageVO); mesNotifyMessageVO.setCreateUserName(UserCache.getUser(mesNotifyMessageVO.getCreateUser()).getName()); mesNotifyMessageList.add(mesNotifyMessageVO); }); - return page.setRecords(mesNotifyMessageList); + page1.setRecords(mesNotifyMessageList); + page1.setTotal(page.getTotal()); + page1.setSize(page.getSize()); + page1.setCurrent(page.getCurrent()); + return page1; + }else { + return page1.setRecords(Collections.emptyList()); } - return page.setRecords(Collections.emptyList()); + } + + @Override + public boolean updateReadStatus(List ids) { + this.update(new LambdaUpdateWrapper() + .in(MesNotifyMessageEntity::getId, ids) + .set(MesNotifyMessageEntity::getStatus, 1)); + return true; } }