From 4ebc7c3a69429227b03720aac89b8e2fa16302e1 Mon Sep 17 00:00:00 2001 From: bunny <1319900154@qq.com> Date: Thu, 31 Oct 2024 16:58:50 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=B6=88=E6=81=AF=E5=8F=91=E9=80=81?= =?UTF-8?q?=E7=BC=BA=E9=99=B7=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dao/dto/system/message/MessageAddDto.java | 9 ++++++- .../dto/system/message/MessageUpdateDto.java | 8 ++++++ .../cn/bunny/dao/entity/system/Message.java | 6 +++++ .../dao/vo/system/message/MessageVo.java | 6 +++++ .../service/impl/MessageServiceImpl.java | 26 +++++++++++++++++++ .../main/resources/mapper/MessageMapper.xml | 6 +++-- 6 files changed, 58 insertions(+), 3 deletions(-) diff --git a/dao/src/main/java/cn/bunny/dao/dto/system/message/MessageAddDto.java b/dao/src/main/java/cn/bunny/dao/dto/system/message/MessageAddDto.java index cf1b5f2..5f716d9 100644 --- a/dao/src/main/java/cn/bunny/dao/dto/system/message/MessageAddDto.java +++ b/dao/src/main/java/cn/bunny/dao/dto/system/message/MessageAddDto.java @@ -26,7 +26,6 @@ public class MessageAddDto { private List receivedUserIds; @Schema(name = "sendUserId", title = "发送人用户ID") - @NotNull(message = "发送人用户ID 不能为空") private Long sendUserId; @Schema(name = "messageType", title = "消息类型") @@ -34,6 +33,14 @@ public class MessageAddDto { @NotNull(message = "消息类型 不能为空") private String messageType; + @Schema(name = "cover", title = "封面") + private String cover; + + @Schema(name = "summary", title = "消息简介") + @NotBlank(message = "消息简介 不能为空") + @NotNull(message = "消息简介 不能为空") + private String summary; + @Schema(name = "content", title = "消息内容") @NotBlank(message = "消息内容 不能为空") @NotNull(message = "消息内容 不能为空") diff --git a/dao/src/main/java/cn/bunny/dao/dto/system/message/MessageUpdateDto.java b/dao/src/main/java/cn/bunny/dao/dto/system/message/MessageUpdateDto.java index d5285d3..983ffc0 100644 --- a/dao/src/main/java/cn/bunny/dao/dto/system/message/MessageUpdateDto.java +++ b/dao/src/main/java/cn/bunny/dao/dto/system/message/MessageUpdateDto.java @@ -38,6 +38,14 @@ public class MessageUpdateDto { @NotNull(message = "消息类型 不能为空") private String messageType; + @Schema(name = "cover", title = "封面") + private String cover; + + @Schema(name = "summary", title = "消息简介") + @NotBlank(message = "消息简介 不能为空") + @NotNull(message = "消息简介 不能为空") + private String summary; + @Schema(name = "content", title = "消息内容") @NotBlank(message = "消息内容 不能为空") @NotNull(message = "消息内容 不能为空") diff --git a/dao/src/main/java/cn/bunny/dao/entity/system/Message.java b/dao/src/main/java/cn/bunny/dao/entity/system/Message.java index 7743a0a..e5f27ed 100644 --- a/dao/src/main/java/cn/bunny/dao/entity/system/Message.java +++ b/dao/src/main/java/cn/bunny/dao/entity/system/Message.java @@ -34,6 +34,12 @@ public class Message extends BaseEntity { @Schema(name = "messageType", title = "sys:系统消息,user用户消息") private String messageType; + @Schema(name = "cover", title = "封面") + private String cover; + + @Schema(name = "summary", title = "消息简介") + private String summary; + @Schema(name = "content", title = "消息内容") private String content; diff --git a/dao/src/main/java/cn/bunny/dao/vo/system/message/MessageVo.java b/dao/src/main/java/cn/bunny/dao/vo/system/message/MessageVo.java index 61007f6..071cbce 100644 --- a/dao/src/main/java/cn/bunny/dao/vo/system/message/MessageVo.java +++ b/dao/src/main/java/cn/bunny/dao/vo/system/message/MessageVo.java @@ -32,6 +32,12 @@ public class MessageVo extends BaseUserVo { @Schema(name = "messageType", title = "sys:系统消息,user用户消息") private String messageType; + @Schema(name = "cover", title = "封面") + private String cover; + + @Schema(name = "summary", title = "消息简介") + private String summary; + @Schema(name = "content", title = "消息内容") private String content; diff --git a/service/src/main/java/cn/bunny/services/service/impl/MessageServiceImpl.java b/service/src/main/java/cn/bunny/services/service/impl/MessageServiceImpl.java index 73df30a..1bd699e 100644 --- a/service/src/main/java/cn/bunny/services/service/impl/MessageServiceImpl.java +++ b/service/src/main/java/cn/bunny/services/service/impl/MessageServiceImpl.java @@ -1,12 +1,16 @@ package cn.bunny.services.service.impl; +import cn.bunny.common.service.context.BaseContext; +import cn.bunny.dao.common.entity.BaseEntity; import cn.bunny.dao.dto.system.message.MessageAddDto; import cn.bunny.dao.dto.system.message.MessageDto; import cn.bunny.dao.dto.system.message.MessageUpdateDto; import cn.bunny.dao.entity.system.Message; import cn.bunny.dao.pojo.result.PageResult; import cn.bunny.dao.vo.system.message.MessageVo; +import cn.bunny.services.factory.UserFactory; import cn.bunny.services.mapper.MessageMapper; +import cn.bunny.services.mapper.UserMapper; import cn.bunny.services.service.MessageService; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -14,6 +18,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import jakarta.validation.Valid; import jodd.util.StringUtil; import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; @@ -29,6 +34,12 @@ import java.util.List; @Service public class MessageServiceImpl extends ServiceImpl implements MessageService { + @Autowired + private UserMapper userMapper; + + @Autowired + private UserFactory userFactory; + /** * * 系统消息 服务实现类 * @@ -43,6 +54,11 @@ public class MessageServiceImpl extends ServiceImpl impl List voList = page.getRecords().stream().map(messageVo -> { MessageVo vo = new MessageVo(); BeanUtils.copyProperties(messageVo, vo); + + // 设置封面返回内容 + String cover = vo.getCover(); + cover = userFactory.checkGetUserAvatar(cover); + vo.setCover(cover); return vo; }).toList(); return PageResult.builder() @@ -60,6 +76,16 @@ public class MessageServiceImpl extends ServiceImpl impl */ @Override public void addMessage(@Valid MessageAddDto dto) { + // 如果发送人为空设置当前登录的人的ID + Long sendUserId = dto.getSendUserId(); + if (sendUserId == null) dto.setSendUserId(BaseContext.getUserId()); + + // 如果接收人为空默认接收全部人 + if (dto.getReceivedUserIds().isEmpty()) { + List userIds = userMapper.selectList(null).stream().map(BaseEntity::getId).toList(); + dto.setReceivedUserIds(userIds); + } + // 保存数据 Message message = new Message(); BeanUtils.copyProperties(dto, message); diff --git a/service/src/main/resources/mapper/MessageMapper.xml b/service/src/main/resources/mapper/MessageMapper.xml index 58ff5cc..5b84af0 100644 --- a/service/src/main/resources/mapper/MessageMapper.xml +++ b/service/src/main/resources/mapper/MessageMapper.xml @@ -11,17 +11,19 @@ - + + + - id, create_time, update_time, create_user, update_user, is_deleted, title, received_user_id, send_user_id, send_nick_name, message_type, content, editor_type, status + id, create_time, update_time, create_user, update_user, is_deleted, title, received_user_ids, send_user_id, send_nick_name, message_type, content, editor_type, status