mirror of https://gitee.com/stylefeng/roses
系统消息,代码结构优化
parent
297823d1db
commit
f2fa18cdd6
|
@ -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<MessageResponse> queryPage(MessageParam messageParam);
|
||||
PageResult<MessageResponse> queryPage(MessageRequest messageRequest);
|
||||
|
||||
/**
|
||||
* 查询系统消息
|
||||
*
|
||||
* @param messageParam 查询参数
|
||||
* @param messageRequest 查询参数
|
||||
* @return 系统消息列表
|
||||
* @author liuhanqing
|
||||
* @date 2021/1/2 21:21
|
||||
*/
|
||||
List<MessageResponse> queryList(MessageParam messageParam);
|
||||
List<MessageResponse> queryList(MessageRequest messageRequest);
|
||||
|
||||
/**
|
||||
* 查询分页系统消息 当前登录用户
|
||||
*
|
||||
* @param messageParam 查询参数
|
||||
* @param messageRequest 查询参数
|
||||
* @return 查询分页结果
|
||||
* @author liuhanqing
|
||||
* @date 2021/1/2 21:21
|
||||
*/
|
||||
PageResult<MessageResponse> queryPageCurrentUser(MessageParam messageParam);
|
||||
PageResult<MessageResponse> queryPageCurrentUser(MessageRequest messageRequest);
|
||||
|
||||
/**
|
||||
* 查询系统消息 当前登录用户
|
||||
*
|
||||
* @param messageParam 查询参数
|
||||
* @param messageRequest 查询参数
|
||||
* @return 系统消息列表
|
||||
* @author liuhanqing
|
||||
* @date 2021/1/2 21:21
|
||||
*/
|
||||
List<MessageResponse> queryListCurrentUser(MessageParam messageParam);
|
||||
List<MessageResponse> 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);
|
||||
|
||||
|
||||
}
|
|
@ -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<Long> userIdList, MessageSendParam messageSendParam);
|
||||
void sendWebSocketMessage(List<Long> userIdList, MessageSendRequest messageSendRequest);
|
||||
|
||||
}
|
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -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为:{}");
|
||||
|
||||
/**
|
||||
* 错误编码
|
||||
|
|
|
@ -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
|
|
@ -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字符串,多个以,分割
|
|
@ -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;
|
|
@ -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<Long> messageIdList = messageParam.getMessageIdList();
|
||||
public ResponseData batchUpdateReadFlag(@RequestBody @Validated(MessageRequest.updateReadFlag.class) MessageRequest messageRequest) {
|
||||
List<Long> 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<String, Object> msgMap = new HashMap<>(1);
|
||||
msgMap.put("msgUnReadCount", messageCount);
|
||||
return new SuccessResponseData(messageApi.queryListCurrentUser(messageParam));
|
||||
return new SuccessResponseData(messageApi.queryListCurrentUser(messageRequest));
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -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<SysMessage> sendMsgList = new ArrayList<>();
|
||||
|
@ -71,7 +71,7 @@ public class MessageDbServiceImpl implements MessageApi {
|
|||
|
||||
Set<Long> 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<MessageResponse> queryPage(MessageParam messageParam) {
|
||||
PageResult<SysMessage> pageResult = sysMessageService.page(messageParam);
|
||||
public PageResult<MessageResponse> queryPage(MessageRequest messageRequest) {
|
||||
PageResult<SysMessage> pageResult = sysMessageService.findPage(messageRequest);
|
||||
PageResult<MessageResponse> result = new PageResult<>();
|
||||
List<SysMessage> messageList = pageResult.getRows();
|
||||
List<MessageResponse> resultList = messageList.stream().map(msg -> {
|
||||
|
@ -173,8 +173,8 @@ public class MessageDbServiceImpl implements MessageApi {
|
|||
}
|
||||
|
||||
@Override
|
||||
public List<MessageResponse> queryList(MessageParam messageParam) {
|
||||
List<SysMessage> messageList = sysMessageService.list(messageParam);
|
||||
public List<MessageResponse> queryList(MessageRequest messageRequest) {
|
||||
List<SysMessage> messageList = sysMessageService.findList(messageRequest);
|
||||
List<MessageResponse> 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<MessageResponse> queryPageCurrentUser(MessageParam messageParam) {
|
||||
if (ObjectUtil.isEmpty(messageParam)) {
|
||||
messageParam = new MessageParam();
|
||||
public PageResult<MessageResponse> 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<MessageResponse> queryListCurrentUser(MessageParam messageParam) {
|
||||
if (ObjectUtil.isEmpty(messageParam)) {
|
||||
messageParam = new MessageParam();
|
||||
public List<MessageResponse> 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);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -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<SysMessage> {
|
||||
|
||||
/**
|
||||
* 新增
|
||||
*
|
||||
* @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<SysMessage> page(MessageParam messageParam);
|
||||
PageResult<SysMessage> findPage(MessageRequest messageRequest);
|
||||
|
||||
/**
|
||||
* 列表查询
|
||||
*
|
||||
* @param messageParam 参数
|
||||
* @param messageRequest 参数
|
||||
* @author liuhanqing
|
||||
* @date 2021/1/8 15:21
|
||||
*/
|
||||
List<SysMessage> list(MessageParam messageParam);
|
||||
List<SysMessage> findList(MessageRequest messageRequest);
|
||||
|
||||
/**
|
||||
* 数量查询
|
||||
*
|
||||
* @param messageParam 参数
|
||||
* @param messageRequest 参数
|
||||
* @author liuhanqing
|
||||
* @date 2021/1/11 19:21
|
||||
*/
|
||||
Integer count(MessageParam messageParam);
|
||||
Integer findCount(MessageRequest messageRequest);
|
||||
}
|
||||
|
|
|
@ -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<SysMessageMapper, SysMessage> implements SysMessageService {
|
||||
|
||||
@Override
|
||||
public void add(MessageRequest messageRequest) {
|
||||
SysMessage sysMessage = new SysMessage();
|
||||
BeanUtil.copyProperties(messageRequest, sysMessage);
|
||||
this.save(sysMessage);
|
||||
}
|
||||
|
||||
@Override
|
||||
public PageResult<SysMessage> page(MessageParam messageParam) {
|
||||
LambdaQueryWrapper<SysMessage> 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<SysMessage> queryWrapper = this.createWrapper(messageRequest);
|
||||
return this.getOne(queryWrapper, false);
|
||||
}
|
||||
|
||||
@Override
|
||||
public PageResult<SysMessage> findPage(MessageRequest messageRequest) {
|
||||
LambdaQueryWrapper<SysMessage> wrapper = createWrapper(messageRequest);
|
||||
Page<SysMessage> page = this.page(PageFactory.defaultPage(), wrapper);
|
||||
return PageResultFactory.createPageResult(page);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<SysMessage> list(MessageParam messageParam) {
|
||||
LambdaQueryWrapper<SysMessage> wrapper = createWrapper(messageParam);
|
||||
public List<SysMessage> findList(MessageRequest messageRequest) {
|
||||
LambdaQueryWrapper<SysMessage> wrapper = createWrapper(messageRequest);
|
||||
return this.list(wrapper);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Integer count(MessageParam messageParam) {
|
||||
LambdaQueryWrapper<SysMessage> wrapper = createWrapper(messageParam);
|
||||
public Integer findCount(MessageRequest messageRequest) {
|
||||
LambdaQueryWrapper<SysMessage> 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<SysMessage> createWrapper(MessageParam messageParam) {
|
||||
private LambdaQueryWrapper<SysMessage> createWrapper(MessageRequest messageRequest) {
|
||||
LambdaQueryWrapper<SysMessage> 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());
|
||||
|
||||
|
|
|
@ -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<Long> userIdList, MessageSendParam messageSendParam) {
|
||||
public void sendWebSocketMessage(List<Long> 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);
|
||||
|
|
Loading…
Reference in New Issue