diff --git a/kernel-s-message/message-api/src/main/java/cn/stylefeng/roses/kernel/message/api/MessageApi.java b/kernel-s-message/message-api/src/main/java/cn/stylefeng/roses/kernel/message/api/MessageApi.java index 19d57848e..f6823ff49 100644 --- a/kernel-s-message/message-api/src/main/java/cn/stylefeng/roses/kernel/message/api/MessageApi.java +++ b/kernel-s-message/message-api/src/main/java/cn/stylefeng/roses/kernel/message/api/MessageApi.java @@ -121,4 +121,25 @@ public interface MessageApi { */ List queryListCurrentUser(MessageParam messageParam); + /** + * 查询系统消息数量 + * + * @param messageParam 查询参数 + * @return 系统消息数量 + * @author liuhanqing + * @date 2021/1/11 21:21 + */ + Integer queryCount(MessageParam messageParam); + + /** + * 查询系统消息数量,当前登录用户 + * + * @param messageParam 查询参数 + * @return 系统消息数量 + * @author liuhanqing + * @date 2021/1/11 21:21 + */ + Integer queryCountCurrentUser(MessageParam messageParam); + + } \ No newline at end of file diff --git a/kernel-s-message/message-api/src/main/java/cn/stylefeng/roses/kernel/message/api/pojo/MessageResponse.java b/kernel-s-message/message-api/src/main/java/cn/stylefeng/roses/kernel/message/api/pojo/MessageResponse.java index 795470203..511c2b2ba 100644 --- a/kernel-s-message/message-api/src/main/java/cn/stylefeng/roses/kernel/message/api/pojo/MessageResponse.java +++ b/kernel-s-message/message-api/src/main/java/cn/stylefeng/roses/kernel/message/api/pojo/MessageResponse.java @@ -1,9 +1,13 @@ package cn.stylefeng.roses.kernel.message.api.pojo; +import cn.stylefeng.roses.kernel.message.api.enums.MessageProrityLevelEnum; +import cn.stylefeng.roses.kernel.message.api.enums.MessageReadFlagEnum; import lombok.Data; import java.io.Serializable; import java.util.Date; +import java.util.Optional; +import java.util.concurrent.atomic.AtomicReference; /** * 系统消息的查询参数 @@ -69,4 +73,29 @@ public class MessageResponse implements Serializable { */ private Integer readFlag; + /** + * 消息优先级 + */ + private String priorityLevelValue; + + /** + * 阅读状态:0-未读,1-已读 + */ + private String readFlagValue; + + public String getPriorityLevelValue(){ + AtomicReference value = new AtomicReference<>(""); + Optional.ofNullable(this.priorityLevel).ifPresent(val ->{ + value.set(MessageProrityLevelEnum.getName(this.priorityLevel)); + }); + return value.get(); + } + + public String getReadFlagValue(){ + AtomicReference value = new AtomicReference<>(""); + Optional.ofNullable(this.readFlag).ifPresent(val ->{ + value.set(MessageReadFlagEnum.getName(this.readFlag)); + }); + return value.get(); + } } diff --git a/kernel-s-message/message-business/src/main/java/cn/stylefeng/roses/kernel/message/modular/manage/controller/SysMessageController.java b/kernel-s-message/message-business/src/main/java/cn/stylefeng/roses/kernel/message/modular/manage/controller/SysMessageController.java index 8e2d78ce8..a56de2553 100644 --- a/kernel-s-message/message-business/src/main/java/cn/stylefeng/roses/kernel/message/modular/manage/controller/SysMessageController.java +++ b/kernel-s-message/message-business/src/main/java/cn/stylefeng/roses/kernel/message/modular/manage/controller/SysMessageController.java @@ -15,7 +15,9 @@ import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; +import java.util.HashMap; import java.util.List; +import java.util.Map; /** * 系统消息控制器 @@ -117,4 +119,20 @@ public class SysMessageController { return new SuccessResponseData(messageApi.queryListCurrentUser(messageParam)); } + + /** + * 系统消息未读数量 + * + * @author liuhanqing + * @date 2021/1/11 19:50 + */ + @GetResource(name = "系统消息列表", path = "/sysMessage/unReadCount") + public ResponseData msgUnRead(MessageParam messageParam) { + messageParam.setReadFlag(MessageReadFlagEnum.UNREAD.getCode()); + Integer messageCount = messageApi.queryCountCurrentUser(messageParam); + Map msgMap = new HashMap<>(1); + msgMap.put("msgUnReadCount", messageCount); + return new SuccessResponseData(messageApi.queryListCurrentUser(messageParam)); + } + } diff --git a/kernel-s-message/message-sdk-db/src/main/java/cn/stylefeng/roses/kernel/message/db/MessageDbServiceImpl.java b/kernel-s-message/message-sdk-db/src/main/java/cn/stylefeng/roses/kernel/message/db/MessageDbServiceImpl.java index b844904a2..e91c05e60 100644 --- a/kernel-s-message/message-sdk-db/src/main/java/cn/stylefeng/roses/kernel/message/db/MessageDbServiceImpl.java +++ b/kernel-s-message/message-sdk-db/src/main/java/cn/stylefeng/roses/kernel/message/db/MessageDbServiceImpl.java @@ -194,4 +194,19 @@ public class MessageDbServiceImpl implements MessageApi { messageParam.setReceiveUserId(loginUser.getUserId()); return this.queryList(messageParam); } + + @Override + public Integer queryCount(MessageParam messageParam) { + return sysMessageService.count(messageParam); + } + @Override + public Integer queryCountCurrentUser(MessageParam messageParam) { + if (ObjectUtil.isEmpty(messageParam)) { + messageParam = new MessageParam(); + } + // 获取当前登录人 + LoginUser loginUser = LoginContext.me().getLoginUser(); + messageParam.setReceiveUserId(loginUser.getUserId()); + return this.queryCount(messageParam); + } } diff --git a/kernel-s-message/message-sdk-db/src/main/java/cn/stylefeng/roses/kernel/message/db/service/SysMessageService.java b/kernel-s-message/message-sdk-db/src/main/java/cn/stylefeng/roses/kernel/message/db/service/SysMessageService.java index 3319e77cb..153a99a18 100644 --- a/kernel-s-message/message-sdk-db/src/main/java/cn/stylefeng/roses/kernel/message/db/service/SysMessageService.java +++ b/kernel-s-message/message-sdk-db/src/main/java/cn/stylefeng/roses/kernel/message/db/service/SysMessageService.java @@ -31,4 +31,13 @@ public interface SysMessageService extends IService { * @date 2021/1/8 15:21 */ List list(MessageParam messageParam); + + /** + * 数量查询 + * + * @param messageParam 参数 + * @author liuhanqing + * @date 2021/1/11 19:21 + */ + Integer count(MessageParam messageParam); } diff --git a/kernel-s-message/message-sdk-db/src/main/java/cn/stylefeng/roses/kernel/message/db/service/impl/SysMessageServiceImpl.java b/kernel-s-message/message-sdk-db/src/main/java/cn/stylefeng/roses/kernel/message/db/service/impl/SysMessageServiceImpl.java index a77299cf7..1ebffd58b 100644 --- a/kernel-s-message/message-sdk-db/src/main/java/cn/stylefeng/roses/kernel/message/db/service/impl/SysMessageServiceImpl.java +++ b/kernel-s-message/message-sdk-db/src/main/java/cn/stylefeng/roses/kernel/message/db/service/impl/SysMessageServiceImpl.java @@ -38,6 +38,12 @@ public class SysMessageServiceImpl extends ServiceImpl wrapper = createWrapper(messageParam); return this.list(wrapper); } + @Override + public Integer count(MessageParam messageParam) { + LambdaQueryWrapper wrapper = createWrapper(messageParam); + return this.count(wrapper); + } + /** * 创建wrapper * diff --git a/kernel-s-system/system-business-notice/pom.xml b/kernel-s-system/system-business-notice/pom.xml index ac0f09390..296954e47 100644 --- a/kernel-s-system/system-business-notice/pom.xml +++ b/kernel-s-system/system-business-notice/pom.xml @@ -53,11 +53,12 @@ org.springframework.boot spring-boot-starter-web + + cn.stylefeng.roses - message-api + message-spring-boot-starter 1.0.0 - compile