From f2fa18cdd6de229ab0091b3dc8ca580f07a845c6 Mon Sep 17 00:00:00 2001 From: liuhanqing <447067298@qq.com> Date: Tue, 2 Feb 2021 22:20:37 +0800 Subject: [PATCH] =?UTF-8?q?=E7=B3=BB=E7=BB=9F=E6=B6=88=E6=81=AF=EF=BC=8C?= =?UTF-8?q?=E4=BB=A3=E7=A0=81=E7=BB=93=E6=9E=84=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../roses/kernel/message/api/MessageApi.java | 42 ++++----- .../kernel/message/api/WebsocketApi.java | 10 +- .../api/exception/MessageException.java | 5 + .../exception/enums/MessageExceptionEnum.java | 7 +- .../MessageRequest.java} | 4 +- .../MessageSendRequest.java} | 5 +- .../pojo/{ => response}/MessageResponse.java | 2 +- .../controller/SysMessageController.java | 38 ++++---- .../message/db/MessageDbServiceImpl.java | 66 ++++++------- .../message/db/service/SysMessageService.java | 53 +++++++++-- .../service/impl/SysMessageServiceImpl.java | 93 +++++++++++++------ .../websocket/WebSocketServiceImpl.java | 9 +- 12 files changed, 208 insertions(+), 126 deletions(-) rename kernel-s-message/message-api/src/main/java/cn/stylefeng/roses/kernel/message/api/pojo/{MessageParam.java => request/MessageRequest.java} (93%) rename kernel-s-message/message-api/src/main/java/cn/stylefeng/roses/kernel/message/api/pojo/{MessageSendParam.java => request/MessageSendRequest.java} (89%) rename kernel-s-message/message-api/src/main/java/cn/stylefeng/roses/kernel/message/api/pojo/{ => response}/MessageResponse.java (97%) 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 f6823ff49..3cdf6f322 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 @@ -2,9 +2,9 @@ package cn.stylefeng.roses.kernel.message.api; import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult; import cn.stylefeng.roses.kernel.message.api.enums.MessageReadFlagEnum; -import cn.stylefeng.roses.kernel.message.api.pojo.MessageResponse; -import cn.stylefeng.roses.kernel.message.api.pojo.MessageSendParam; -import cn.stylefeng.roses.kernel.message.api.pojo.MessageParam; +import cn.stylefeng.roses.kernel.message.api.pojo.response.MessageResponse; +import cn.stylefeng.roses.kernel.message.api.pojo.request.MessageSendRequest; +import cn.stylefeng.roses.kernel.message.api.pojo.request.MessageRequest; import java.util.List; @@ -22,20 +22,20 @@ public interface MessageApi { /** * 发送系统消息 * - * @param messageSendParam 系统消息参数 + * @param messageSendRequest 系统消息参数 * @author liuhanqing * @date 2021/1/2 21:21 */ - void sendMessage(MessageSendParam messageSendParam); + void sendMessage(MessageSendRequest messageSendRequest); /** * 更新阅读状态 * - * @param messageParam 系统消息参数 + * @param messageRequest 系统消息参数 * @author liuhanqing * @date 2021/1/2 22:15 */ - void updateReadFlag(MessageParam messageParam); + void updateReadFlag(MessageRequest messageRequest); /** * 全部更新阅读状态 @@ -74,72 +74,72 @@ public interface MessageApi { /** * 查看系统消息 * - * @param messageParam 查看参数 + * @param messageRequest 查看参数 * @return 系统消息 * @author liuhanqing * @date 2021/1/2 21:21 */ - MessageResponse messageDetail(MessageParam messageParam); + MessageResponse messageDetail(MessageRequest messageRequest); /** * 查询分页系统消息 * - * @param messageParam 查询参数 + * @param messageRequest 查询参数 * @return 查询分页结果 * @author liuhanqing * @date 2021/1/2 21:21 */ - PageResult queryPage(MessageParam messageParam); + PageResult queryPage(MessageRequest messageRequest); /** * 查询系统消息 * - * @param messageParam 查询参数 + * @param messageRequest 查询参数 * @return 系统消息列表 * @author liuhanqing * @date 2021/1/2 21:21 */ - List queryList(MessageParam messageParam); + List queryList(MessageRequest messageRequest); /** * 查询分页系统消息 当前登录用户 * - * @param messageParam 查询参数 + * @param messageRequest 查询参数 * @return 查询分页结果 * @author liuhanqing * @date 2021/1/2 21:21 */ - PageResult queryPageCurrentUser(MessageParam messageParam); + PageResult queryPageCurrentUser(MessageRequest messageRequest); /** * 查询系统消息 当前登录用户 * - * @param messageParam 查询参数 + * @param messageRequest 查询参数 * @return 系统消息列表 * @author liuhanqing * @date 2021/1/2 21:21 */ - List queryListCurrentUser(MessageParam messageParam); + List queryListCurrentUser(MessageRequest messageRequest); /** * 查询系统消息数量 * - * @param messageParam 查询参数 + * @param messageRequest 查询参数 * @return 系统消息数量 * @author liuhanqing * @date 2021/1/11 21:21 */ - Integer queryCount(MessageParam messageParam); + Integer queryCount(MessageRequest messageRequest); /** * 查询系统消息数量,当前登录用户 * - * @param messageParam 查询参数 + * @param messageRequest 查询参数 * @return 系统消息数量 * @author liuhanqing * @date 2021/1/11 21:21 */ - Integer queryCountCurrentUser(MessageParam messageParam); + Integer queryCountCurrentUser(MessageRequest messageRequest); } \ No newline at end of file diff --git a/kernel-s-message/message-api/src/main/java/cn/stylefeng/roses/kernel/message/api/WebsocketApi.java b/kernel-s-message/message-api/src/main/java/cn/stylefeng/roses/kernel/message/api/WebsocketApi.java index 8d1342e15..3d9792543 100644 --- a/kernel-s-message/message-api/src/main/java/cn/stylefeng/roses/kernel/message/api/WebsocketApi.java +++ b/kernel-s-message/message-api/src/main/java/cn/stylefeng/roses/kernel/message/api/WebsocketApi.java @@ -1,10 +1,6 @@ package cn.stylefeng.roses.kernel.message.api; -import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult; -import cn.stylefeng.roses.kernel.message.api.enums.MessageReadFlagEnum; -import cn.stylefeng.roses.kernel.message.api.pojo.MessageParam; -import cn.stylefeng.roses.kernel.message.api.pojo.MessageResponse; -import cn.stylefeng.roses.kernel.message.api.pojo.MessageSendParam; +import cn.stylefeng.roses.kernel.message.api.pojo.request.MessageSendRequest; import java.util.List; @@ -20,10 +16,10 @@ public interface WebsocketApi { * 发送websocket系统消息 * * @param userIdList userId 集合 - * @param messageSendParam 系统消息参数 + * @param messageSendRequest 系统消息参数 * @author liuhanqing * @date 2021/1/26 18:17 */ - void sendWebSocketMessage(List userIdList, MessageSendParam messageSendParam); + void sendWebSocketMessage(List userIdList, MessageSendRequest messageSendRequest); } \ No newline at end of file diff --git a/kernel-s-message/message-api/src/main/java/cn/stylefeng/roses/kernel/message/api/exception/MessageException.java b/kernel-s-message/message-api/src/main/java/cn/stylefeng/roses/kernel/message/api/exception/MessageException.java index a98e76b81..6b1f9fcd2 100644 --- a/kernel-s-message/message-api/src/main/java/cn/stylefeng/roses/kernel/message/api/exception/MessageException.java +++ b/kernel-s-message/message-api/src/main/java/cn/stylefeng/roses/kernel/message/api/exception/MessageException.java @@ -1,5 +1,6 @@ package cn.stylefeng.roses.kernel.message.api.exception; +import cn.hutool.core.util.StrUtil; import cn.stylefeng.roses.kernel.message.api.constants.MessageConstants; import cn.stylefeng.roses.kernel.rule.abstracts.AbstractExceptionEnum; import cn.stylefeng.roses.kernel.rule.exception.base.ServiceException; @@ -12,6 +13,10 @@ import cn.stylefeng.roses.kernel.rule.exception.base.ServiceException; */ public class MessageException extends ServiceException { + public MessageException(AbstractExceptionEnum exception, Object... params) { + super(MessageConstants.MESSAGE_MODULE_NAME, exception.getErrorCode(), StrUtil.format(exception.getUserTip(), params)); + } + public MessageException(AbstractExceptionEnum exception) { super(MessageConstants.MESSAGE_MODULE_NAME, exception); } diff --git a/kernel-s-message/message-api/src/main/java/cn/stylefeng/roses/kernel/message/api/exception/enums/MessageExceptionEnum.java b/kernel-s-message/message-api/src/main/java/cn/stylefeng/roses/kernel/message/api/exception/enums/MessageExceptionEnum.java index 8498988cb..2c1e53b1e 100644 --- a/kernel-s-message/message-api/src/main/java/cn/stylefeng/roses/kernel/message/api/exception/enums/MessageExceptionEnum.java +++ b/kernel-s-message/message-api/src/main/java/cn/stylefeng/roses/kernel/message/api/exception/enums/MessageExceptionEnum.java @@ -17,7 +17,12 @@ public enum MessageExceptionEnum implements AbstractExceptionEnum { /** * 发送系统消息时,传入的参数中receiveUserIds不合法 */ - ERROR_RECEIVE_USER_IDS(RuleConstants.BUSINESS_ERROR_TYPE_CODE + MessageConstants.MESSAGE_EXCEPTION_STEP_CODE + "01", "接收用户id字符串不合法!"); + ERROR_RECEIVE_USER_IDS(RuleConstants.BUSINESS_ERROR_TYPE_CODE + MessageConstants.MESSAGE_EXCEPTION_STEP_CODE + "01", "接收用户id字符串不合法!"), + + /** + * 消息记录不存在 + */ + NOT_EXISTED(RuleConstants.BUSINESS_ERROR_TYPE_CODE + MessageConstants.MESSAGE_EXCEPTION_STEP_CODE + "01", "消息记录不存在,id为:{}"); /** * 错误编码 diff --git a/kernel-s-message/message-api/src/main/java/cn/stylefeng/roses/kernel/message/api/pojo/MessageParam.java b/kernel-s-message/message-api/src/main/java/cn/stylefeng/roses/kernel/message/api/pojo/request/MessageRequest.java similarity index 93% rename from kernel-s-message/message-api/src/main/java/cn/stylefeng/roses/kernel/message/api/pojo/MessageParam.java rename to kernel-s-message/message-api/src/main/java/cn/stylefeng/roses/kernel/message/api/pojo/request/MessageRequest.java index f496a3ac1..8f6e3f010 100644 --- a/kernel-s-message/message-api/src/main/java/cn/stylefeng/roses/kernel/message/api/pojo/MessageParam.java +++ b/kernel-s-message/message-api/src/main/java/cn/stylefeng/roses/kernel/message/api/pojo/request/MessageRequest.java @@ -1,4 +1,4 @@ -package cn.stylefeng.roses.kernel.message.api.pojo; +package cn.stylefeng.roses.kernel.message.api.pojo.request; import cn.stylefeng.roses.kernel.rule.pojo.request.BaseRequest; import lombok.Data; @@ -17,7 +17,7 @@ import java.util.List; */ @EqualsAndHashCode(callSuper = true) @Data -public class MessageParam extends BaseRequest { +public class MessageRequest extends BaseRequest { /** * 消息id diff --git a/kernel-s-message/message-api/src/main/java/cn/stylefeng/roses/kernel/message/api/pojo/MessageSendParam.java b/kernel-s-message/message-api/src/main/java/cn/stylefeng/roses/kernel/message/api/pojo/request/MessageSendRequest.java similarity index 89% rename from kernel-s-message/message-api/src/main/java/cn/stylefeng/roses/kernel/message/api/pojo/MessageSendParam.java rename to kernel-s-message/message-api/src/main/java/cn/stylefeng/roses/kernel/message/api/pojo/request/MessageSendRequest.java index 75c0fec03..0e1932757 100644 --- a/kernel-s-message/message-api/src/main/java/cn/stylefeng/roses/kernel/message/api/pojo/MessageSendParam.java +++ b/kernel-s-message/message-api/src/main/java/cn/stylefeng/roses/kernel/message/api/pojo/request/MessageSendRequest.java @@ -1,7 +1,6 @@ -package cn.stylefeng.roses.kernel.message.api.pojo; +package cn.stylefeng.roses.kernel.message.api.pojo.request; import cn.stylefeng.roses.kernel.rule.pojo.request.BaseRequest; -import com.baomidou.mybatisplus.annotation.TableField; import lombok.Data; import lombok.EqualsAndHashCode; @@ -17,7 +16,7 @@ import java.util.Date; */ @EqualsAndHashCode(callSuper = true) @Data -public class MessageSendParam extends BaseRequest { +public class MessageSendRequest extends BaseRequest { /** * 接收用户id字符串,多个以,分割 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/response/MessageResponse.java similarity index 97% rename from kernel-s-message/message-api/src/main/java/cn/stylefeng/roses/kernel/message/api/pojo/MessageResponse.java rename to kernel-s-message/message-api/src/main/java/cn/stylefeng/roses/kernel/message/api/pojo/response/MessageResponse.java index 030a94e4c..b032f0797 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/response/MessageResponse.java @@ -1,4 +1,4 @@ -package cn.stylefeng.roses.kernel.message.api.pojo; +package cn.stylefeng.roses.kernel.message.api.pojo.response; import cn.stylefeng.roses.kernel.message.api.enums.MessageBusinessTypeEnum; import cn.stylefeng.roses.kernel.message.api.enums.MessagePriorityLevelEnum; 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 d63ec7c5e..f3cc5156a 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 @@ -3,8 +3,8 @@ package cn.stylefeng.roses.kernel.message.modular.manage.controller; import cn.hutool.core.util.StrUtil; import cn.stylefeng.roses.kernel.message.api.MessageApi; import cn.stylefeng.roses.kernel.message.api.enums.MessageReadFlagEnum; -import cn.stylefeng.roses.kernel.message.api.pojo.MessageParam; -import cn.stylefeng.roses.kernel.message.api.pojo.MessageSendParam; +import cn.stylefeng.roses.kernel.message.api.pojo.request.MessageRequest; +import cn.stylefeng.roses.kernel.message.api.pojo.request.MessageSendRequest; import cn.stylefeng.roses.kernel.resource.api.annotation.ApiResource; import cn.stylefeng.roses.kernel.resource.api.annotation.GetResource; import cn.stylefeng.roses.kernel.resource.api.annotation.PostResource; @@ -43,9 +43,9 @@ public class SysMessageController { * @date 2021/1/8 13:50 */ @PostResource(name = "发送系统消息", path = "/sysMessage/sendMessage") - public ResponseData sendMessage(@RequestBody @Validated(MessageSendParam.add.class) MessageSendParam messageSendParam) { - messageSendParam.setMessageSendTime(new Date()); - messageApi.sendMessage(messageSendParam); + public ResponseData sendMessage(@RequestBody @Validated(MessageSendRequest.add.class) MessageSendRequest messageSendRequest) { + messageSendRequest.setMessageSendTime(new Date()); + messageApi.sendMessage(messageSendRequest); return new SuccessResponseData(); } @@ -56,8 +56,8 @@ public class SysMessageController { * @date 2021/1/8 13:50 */ @PostResource(name = "批量更新系统消息状态", path = "/sysMessage/batchUpdateReadFlag") - public ResponseData batchUpdateReadFlag(@RequestBody @Validated(MessageParam.updateReadFlag.class) MessageParam messageParam) { - List messageIdList = messageParam.getMessageIdList(); + public ResponseData batchUpdateReadFlag(@RequestBody @Validated(MessageRequest.updateReadFlag.class) MessageRequest messageRequest) { + List messageIdList = messageRequest.getMessageIdList(); messageApi.batchReadFlagByMessageIds(StrUtil.join(",", messageIdList), MessageReadFlagEnum.READ); return new SuccessResponseData(); } @@ -81,8 +81,8 @@ public class SysMessageController { * @date 2021/1/8 13:50 */ @PostResource(name = "删除系统消息", path = "/sysMessage/delete") - public ResponseData delete(@RequestBody @Validated(MessageParam.delete.class) MessageParam messageParam) { - messageApi.deleteByMessageId(messageParam.getMessageId()); + public ResponseData delete(@RequestBody @Validated(MessageRequest.delete.class) MessageRequest messageRequest) { + messageApi.deleteByMessageId(messageRequest.getMessageId()); return new SuccessResponseData(); } @@ -94,8 +94,8 @@ public class SysMessageController { * @date 2021/1/8 13:50 */ @GetResource(name = "查看系统消息", path = "/sysMessage/detail") - public ResponseData detail(@Validated(MessageParam.detail.class) MessageParam messageParam) { - return new SuccessResponseData(messageApi.messageDetail(messageParam)); + public ResponseData detail(@Validated(MessageRequest.detail.class) MessageRequest messageRequest) { + return new SuccessResponseData(messageApi.messageDetail(messageRequest)); } @@ -106,8 +106,8 @@ public class SysMessageController { * @date 2021/1/8 13:50 */ @GetResource(name = "分页查询系统消息列表", path = "/sysMessage/page") - public ResponseData page(MessageParam messageParam) { - return new SuccessResponseData(messageApi.queryPageCurrentUser(messageParam)); + public ResponseData page(MessageRequest messageRequest) { + return new SuccessResponseData(messageApi.queryPageCurrentUser(messageRequest)); } /** @@ -117,8 +117,8 @@ public class SysMessageController { * @date 2021/1/8 13:50 */ @GetResource(name = "系统消息列表", path = "/sysMessage/list") - public ResponseData list(MessageParam messageParam) { - return new SuccessResponseData(messageApi.queryListCurrentUser(messageParam)); + public ResponseData list(MessageRequest messageRequest) { + return new SuccessResponseData(messageApi.queryListCurrentUser(messageRequest)); } @@ -129,12 +129,12 @@ public class SysMessageController { * @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); + public ResponseData msgUnRead(MessageRequest messageRequest) { + messageRequest.setReadFlag(MessageReadFlagEnum.UNREAD.getCode()); + Integer messageCount = messageApi.queryCountCurrentUser(messageRequest); Map msgMap = new HashMap<>(1); msgMap.put("msgUnReadCount", messageCount); - return new SuccessResponseData(messageApi.queryListCurrentUser(messageParam)); + return new SuccessResponseData(messageApi.queryListCurrentUser(messageRequest)); } } 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 b8f24ee7f..444ec7f4a 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 @@ -13,9 +13,9 @@ import cn.stylefeng.roses.kernel.message.api.constants.MessageConstants; import cn.stylefeng.roses.kernel.message.api.enums.MessageReadFlagEnum; import cn.stylefeng.roses.kernel.message.api.exception.MessageException; import cn.stylefeng.roses.kernel.message.api.exception.enums.MessageExceptionEnum; -import cn.stylefeng.roses.kernel.message.api.pojo.MessageParam; -import cn.stylefeng.roses.kernel.message.api.pojo.MessageResponse; -import cn.stylefeng.roses.kernel.message.api.pojo.MessageSendParam; +import cn.stylefeng.roses.kernel.message.api.pojo.request.MessageRequest; +import cn.stylefeng.roses.kernel.message.api.pojo.response.MessageResponse; +import cn.stylefeng.roses.kernel.message.api.pojo.request.MessageSendRequest; import cn.stylefeng.roses.kernel.message.db.entity.SysMessage; import cn.stylefeng.roses.kernel.message.db.service.SysMessageService; import cn.stylefeng.roses.kernel.rule.enums.YesOrNotEnum; @@ -51,8 +51,8 @@ public class MessageDbServiceImpl implements MessageApi { @Override @Transactional(rollbackFor = Exception.class) - public void sendMessage(MessageSendParam messageSendParam) { - String receiveUserIds = messageSendParam.getReceiveUserIds(); + public void sendMessage(MessageSendRequest messageSendRequest) { + String receiveUserIds = messageSendRequest.getReceiveUserIds(); // 获取当前登录人 LoginUser loginUser = LoginContext.me().getLoginUser(); List sendMsgList = new ArrayList<>(); @@ -71,7 +71,7 @@ public class MessageDbServiceImpl implements MessageApi { Set userIdSet = new HashSet<>(userIds); SysMessage sysMessage = new SysMessage(); - BeanUtil.copyProperties(messageSendParam, sysMessage); + BeanUtil.copyProperties(messageSendRequest, sysMessage); // 初始化默认值 sysMessage.setReadFlag(MessageReadFlagEnum.UNREAD.getCode()); sysMessage.setSendUserId(loginUser.getUserId()); @@ -83,18 +83,18 @@ public class MessageDbServiceImpl implements MessageApi { } }); - websocketApi.sendWebSocketMessage(ListUtil.toList(userIdSet), messageSendParam); + websocketApi.sendWebSocketMessage(ListUtil.toList(userIdSet), messageSendRequest); sysMessageService.saveBatch(sendMsgList); } @Override @Transactional(rollbackFor = Exception.class) - public void updateReadFlag(MessageParam messageParam) { - Long messageId = messageParam.getMessageId(); + public void updateReadFlag(MessageRequest messageRequest) { + Long messageId = messageRequest.getMessageId(); SysMessage sysMessage = sysMessageService.getById(messageId); Optional.ofNullable(sysMessage).ifPresent(msg -> { - msg.setReadFlag(messageParam.getReadFlag()); + msg.setReadFlag(messageRequest.getReadFlag()); sysMessageService.updateById(msg); }); @@ -143,8 +143,8 @@ public class MessageDbServiceImpl implements MessageApi { } @Override - public MessageResponse messageDetail(MessageParam messageParam) { - SysMessage sysMessage = sysMessageService.getById(messageParam.getMessageId()); + public MessageResponse messageDetail(MessageRequest messageRequest) { + SysMessage sysMessage = sysMessageService.getById(messageRequest.getMessageId()); // 判断消息为未读状态更新为已读 Optional.ofNullable(sysMessage).ifPresent(msg -> { if (MessageReadFlagEnum.UNREAD.getCode().equals(sysMessage.getReadFlag())) { @@ -158,8 +158,8 @@ public class MessageDbServiceImpl implements MessageApi { } @Override - public PageResult queryPage(MessageParam messageParam) { - PageResult pageResult = sysMessageService.page(messageParam); + public PageResult queryPage(MessageRequest messageRequest) { + PageResult pageResult = sysMessageService.findPage(messageRequest); PageResult result = new PageResult<>(); List messageList = pageResult.getRows(); List resultList = messageList.stream().map(msg -> { @@ -173,8 +173,8 @@ public class MessageDbServiceImpl implements MessageApi { } @Override - public List queryList(MessageParam messageParam) { - List messageList = sysMessageService.list(messageParam); + public List queryList(MessageRequest messageRequest) { + List messageList = sysMessageService.findList(messageRequest); List resultList = messageList.stream().map(msg -> { MessageResponse response = new MessageResponse(); BeanUtil.copyProperties(msg, response); @@ -184,41 +184,41 @@ public class MessageDbServiceImpl implements MessageApi { } @Override - public PageResult queryPageCurrentUser(MessageParam messageParam) { - if (ObjectUtil.isEmpty(messageParam)) { - messageParam = new MessageParam(); + public PageResult queryPageCurrentUser(MessageRequest messageRequest) { + if (ObjectUtil.isEmpty(messageRequest)) { + messageRequest = new MessageRequest(); } // 获取当前登录人 LoginUser loginUser = LoginContext.me().getLoginUser(); - messageParam.setReceiveUserId(loginUser.getUserId()); - return this.queryPage(messageParam); + messageRequest.setReceiveUserId(loginUser.getUserId()); + return this.queryPage(messageRequest); } @Override - public List queryListCurrentUser(MessageParam messageParam) { - if (ObjectUtil.isEmpty(messageParam)) { - messageParam = new MessageParam(); + public List queryListCurrentUser(MessageRequest messageRequest) { + if (ObjectUtil.isEmpty(messageRequest)) { + messageRequest = new MessageRequest(); } // 获取当前登录人 LoginUser loginUser = LoginContext.me().getLoginUser(); - messageParam.setReceiveUserId(loginUser.getUserId()); - return this.queryList(messageParam); + messageRequest.setReceiveUserId(loginUser.getUserId()); + return this.queryList(messageRequest); } @Override - public Integer queryCount(MessageParam messageParam) { - return sysMessageService.count(messageParam); + public Integer queryCount(MessageRequest messageRequest) { + return sysMessageService.findCount(messageRequest); } @Override - public Integer queryCountCurrentUser(MessageParam messageParam) { - if (ObjectUtil.isEmpty(messageParam)) { - messageParam = new MessageParam(); + public Integer queryCountCurrentUser(MessageRequest messageRequest) { + if (ObjectUtil.isEmpty(messageRequest)) { + messageRequest = new MessageRequest(); } // 获取当前登录人 LoginUser loginUser = LoginContext.me().getLoginUser(); - messageParam.setReceiveUserId(loginUser.getUserId()); - return this.queryCount(messageParam); + messageRequest.setReceiveUserId(loginUser.getUserId()); + return this.queryCount(messageRequest); } } 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 153a99a18..388913bbd 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 @@ -1,7 +1,7 @@ package cn.stylefeng.roses.kernel.message.db.service; import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult; -import cn.stylefeng.roses.kernel.message.api.pojo.MessageParam; +import cn.stylefeng.roses.kernel.message.api.pojo.request.MessageRequest; import cn.stylefeng.roses.kernel.message.db.entity.SysMessage; import com.baomidou.mybatisplus.extension.service.IService; @@ -14,30 +14,67 @@ import java.util.List; * @date 2020/12/31 20:09 */ public interface SysMessageService extends IService { + + /** + * 新增 + * + * @param messageRequest 参数对象 + * @author liuhanqing + * @date 2021/2/2 20:48 + */ + void add(MessageRequest messageRequest); + + /** + * 删除 + * + * @param messageRequest 参数对象 + * @author liuhanqing + * @date 2021/1/26 12:52 + */ + void del(MessageRequest messageRequest); + + /** + * 修改 + * + * @param messageRequest 参数对象 + * @author liuhanqing + * @date 2021/2/2 20:48 + */ + void edit(MessageRequest messageRequest); + + /** + * 查询-详情-根据主键id + * + * @param messageRequest 参数对象 + * @author liuhanqing + * @date 2021/2/2 20:48 + */ + SysMessage detail(MessageRequest messageRequest); + /** * 分页查询 * - * @param messageParam 参数 + * @param messageRequest 参数 * @author liuhanqing - * @date 2021/1/2 15:21 + * @date 2021/2/2 20:48 */ - PageResult page(MessageParam messageParam); + PageResult findPage(MessageRequest messageRequest); /** * 列表查询 * - * @param messageParam 参数 + * @param messageRequest 参数 * @author liuhanqing * @date 2021/1/8 15:21 */ - List list(MessageParam messageParam); + List findList(MessageRequest messageRequest); /** * 数量查询 * - * @param messageParam 参数 + * @param messageRequest 参数 * @author liuhanqing * @date 2021/1/11 19:21 */ - Integer count(MessageParam messageParam); + Integer findCount(MessageRequest messageRequest); } 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 1ebffd58b..5bb99a5f5 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 @@ -1,10 +1,13 @@ package cn.stylefeng.roses.kernel.message.db.service.impl; +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.page.PageResult; -import cn.stylefeng.roses.kernel.message.api.pojo.MessageParam; +import cn.stylefeng.roses.kernel.message.api.exception.MessageException; +import cn.stylefeng.roses.kernel.message.api.exception.enums.MessageExceptionEnum; +import cn.stylefeng.roses.kernel.message.api.pojo.request.MessageRequest; import cn.stylefeng.roses.kernel.message.db.entity.SysMessage; import cn.stylefeng.roses.kernel.message.db.mapper.SysMessageMapper; import cn.stylefeng.roses.kernel.message.db.service.SysMessageService; @@ -25,56 +28,94 @@ import java.util.List; @Service public class SysMessageServiceImpl extends ServiceImpl implements SysMessageService { + @Override + public void add(MessageRequest messageRequest) { + SysMessage sysMessage = new SysMessage(); + BeanUtil.copyProperties(messageRequest, sysMessage); + this.save(sysMessage); + } @Override - public PageResult page(MessageParam messageParam) { - LambdaQueryWrapper wrapper = createWrapper(messageParam); + public void del(MessageRequest messageRequest) { + SysMessage sysMessage = this.querySysMessageById(messageRequest); + // 逻辑删除 + sysMessage.setDelFlag(YesOrNotEnum.Y.getCode()); + this.updateById(sysMessage); + } + + @Override + public void edit(MessageRequest messageRequest) { + SysMessage sysMessage = new SysMessage(); + BeanUtil.copyProperties(messageRequest, sysMessage); + this.updateById(sysMessage); + } + + @Override + public SysMessage detail(MessageRequest messageRequest) { + LambdaQueryWrapper queryWrapper = this.createWrapper(messageRequest); + return this.getOne(queryWrapper, false); + } + + @Override + public PageResult findPage(MessageRequest messageRequest) { + LambdaQueryWrapper wrapper = createWrapper(messageRequest); Page page = this.page(PageFactory.defaultPage(), wrapper); return PageResultFactory.createPageResult(page); } @Override - public List list(MessageParam messageParam) { - LambdaQueryWrapper wrapper = createWrapper(messageParam); + public List findList(MessageRequest messageRequest) { + LambdaQueryWrapper wrapper = createWrapper(messageRequest); return this.list(wrapper); } + @Override - public Integer count(MessageParam messageParam) { - LambdaQueryWrapper wrapper = createWrapper(messageParam); + public Integer findCount(MessageRequest messageRequest) { + LambdaQueryWrapper wrapper = createWrapper(messageRequest); return this.count(wrapper); } + /** + * 根据主键id获取对象 + * + * @author liuhanqing + * @date 2021/2/2 20:57 + */ + private SysMessage querySysMessageById(MessageRequest messageRequest) { + SysMessage sysMessage = this.getById(messageRequest.getMessageId()); + if (ObjectUtil.isEmpty(sysMessage)) { + throw new MessageException(MessageExceptionEnum.NOT_EXISTED, messageRequest.getMessageId()); + } + return sysMessage; + } + /** * 创建wrapper * * @author liuhanqing * @date 2021/1/8 14:16 */ - private LambdaQueryWrapper createWrapper(MessageParam messageParam) { + private LambdaQueryWrapper createWrapper(MessageRequest messageRequest) { LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); - if (ObjectUtil.isNotNull(messageParam)) { + // 消息标题 + String messageTitle = messageRequest.getMessageTitle(); - // 拼接消息标题 - if (ObjectUtil.isNotEmpty(messageParam.getMessageTitle())) { - queryWrapper.like(SysMessage::getMessageTitle, messageParam.getMessageTitle()); - } + // 接收人id + Long receiveUserId = messageRequest.getReceiveUserId(); - // 拼接接收人id查询条件 - if (ObjectUtil.isNotEmpty(messageParam.getReceiveUserId())) { - queryWrapper.eq(SysMessage::getReceiveUserId, messageParam.getReceiveUserId()); - } + // 消息类型 + String messageType = messageRequest.getMessageType(); - // 拼接消息类型 - if (ObjectUtil.isNotEmpty(messageParam.getMessageType())) { - queryWrapper.eq(SysMessage::getMessageType, messageParam.getMessageType()); - } + // 阅读状态 + Integer readFlag = messageRequest.getReadFlag(); + + // 拼接sql 条件 + queryWrapper.like(ObjectUtil.isNotEmpty(messageTitle), SysMessage::getMessageTitle, messageTitle); + queryWrapper.eq(ObjectUtil.isNotEmpty(receiveUserId), SysMessage::getReceiveUserId, receiveUserId); + queryWrapper.eq(ObjectUtil.isNotEmpty(messageType), SysMessage::getMessageType, messageType); + queryWrapper.eq(ObjectUtil.isNotEmpty(readFlag), SysMessage::getReadFlag, readFlag); - // 拼接阅读状态 - if (ObjectUtil.isNotEmpty(messageParam.getReadFlag())) { - queryWrapper.eq(SysMessage::getReadFlag, messageParam.getReadFlag()); - } - } // 查询未删除的 queryWrapper.ne(SysMessage::getDelFlag, YesOrNotEnum.Y.getCode()); diff --git a/kernel-s-message/message-sdk-websocket/src/main/java/cn/stylefeng/roses/kernel/message/websocket/WebSocketServiceImpl.java b/kernel-s-message/message-sdk-websocket/src/main/java/cn/stylefeng/roses/kernel/message/websocket/WebSocketServiceImpl.java index c38527d75..cdb5544bf 100644 --- a/kernel-s-message/message-sdk-websocket/src/main/java/cn/stylefeng/roses/kernel/message/websocket/WebSocketServiceImpl.java +++ b/kernel-s-message/message-sdk-websocket/src/main/java/cn/stylefeng/roses/kernel/message/websocket/WebSocketServiceImpl.java @@ -5,8 +5,8 @@ import cn.stylefeng.roses.kernel.auth.api.context.LoginContext; import cn.stylefeng.roses.kernel.auth.api.pojo.login.LoginUser; import cn.stylefeng.roses.kernel.message.api.WebsocketApi; import cn.stylefeng.roses.kernel.message.api.enums.MessageReadFlagEnum; -import cn.stylefeng.roses.kernel.message.api.pojo.MessageResponse; -import cn.stylefeng.roses.kernel.message.api.pojo.MessageSendParam; +import cn.stylefeng.roses.kernel.message.api.pojo.response.MessageResponse; +import cn.stylefeng.roses.kernel.message.api.pojo.request.MessageSendRequest; import cn.stylefeng.roses.kernel.message.websocket.manager.WebSocketManager; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.core.JsonProcessingException; @@ -14,7 +14,6 @@ import com.fasterxml.jackson.databind.ObjectMapper; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; -import java.util.Date; import java.util.List; /** @@ -35,12 +34,12 @@ public class WebSocketServiceImpl implements WebsocketApi { } @Override - public void sendWebSocketMessage(List userIdList, MessageSendParam messageSendParam) { + public void sendWebSocketMessage(List userIdList, MessageSendRequest messageSendRequest) { // 获取当前登录人 LoginUser loginUser = LoginContext.me().getLoginUser(); try { MessageResponse sysMessage = new MessageResponse(); - BeanUtil.copyProperties(messageSendParam, sysMessage); + BeanUtil.copyProperties(messageSendRequest, sysMessage); sysMessage.setReadFlag(MessageReadFlagEnum.UNREAD.getCode()); sysMessage.setSendUserId(loginUser.getUserId()); String msgInfo = MAPPER.writeValueAsString(sysMessage);