From 5ebff699a2665164ea481a65a3fdd15615a5bef9 Mon Sep 17 00:00:00 2001 From: Bunny <1319900154@qq.com> Date: Wed, 30 Oct 2024 23:44:21 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=B6=88=E6=81=AF=E6=8E=A5=E5=8F=97?= =?UTF-8?q?=E5=92=8C=E5=8F=91=E9=80=81=E8=BF=9E=E8=A1=A8=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E6=98=BE=E7=A4=BA=E7=94=A8=E6=88=B7=E5=90=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/resources/vms/server/serviceImpl.vm | 1 - .../dao/dto/system/message/MessageAddDto.java | 11 ++---- .../dao/dto/system/message/MessageDto.java | 10 +---- .../dto/system/message/MessageUpdateDto.java | 9 +---- .../cn/bunny/dao/entity/system/Message.java | 7 +--- .../dao/vo/system/message/MessageTypeVo.java | 4 +- .../dao/vo/system/message/MessageVo.java | 19 ++++++---- .../factory/RouterServiceFactory.java | 31 ---------------- .../bunny/services/mapper/MessageMapper.java | 3 +- .../services/mapper/MessageTypeMapper.java | 3 +- .../service/impl/MessageServiceImpl.java | 21 +++++++---- .../service/impl/MessageTypeServiceImpl.java | 10 +---- .../main/resources/mapper/MessageMapper.xml | 37 +++++++++---------- .../resources/mapper/MessageTypeMapper.xml | 18 +++++---- 14 files changed, 72 insertions(+), 112 deletions(-) diff --git a/common/common-generator/src/main/resources/vms/server/serviceImpl.vm b/common/common-generator/src/main/resources/vms/server/serviceImpl.vm index f7ac061..57670c2 100644 --- a/common/common-generator/src/main/resources/vms/server/serviceImpl.vm +++ b/common/common-generator/src/main/resources/vms/server/serviceImpl.vm @@ -31,7 +31,6 @@ public class ${originalName}ServiceImpl extends ServiceImpl<${originalName}Mappe */ @Override public PageResult<${originalName}Vo> get${originalName}List(Page<${originalName}> pageParams, ${originalName}Dto dto) { - // 分页查询菜单图标 IPage<${originalName}> page = baseMapper.selectListByPage(pageParams, dto); List<${originalName}Vo> voList = page.getRecords().stream().map(${lowercaseName} -> { 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 2abb44b..cf1b5f2 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 @@ -14,7 +14,7 @@ import java.util.List; @AllArgsConstructor @NoArgsConstructor @Builder -@Schema(name = "MessageAddDto对象", title = "系统消息", description = "系统消息") +@Schema(name = "MessageAddDto对象", title = "添加系统消息", description = "添加系统消息") public class MessageAddDto { @Schema(name = "title", title = "消息标题") @@ -22,18 +22,13 @@ public class MessageAddDto { @NotBlank(message = "消息标题 不能为空") private String title; - @Schema(name = "receivedUserId", title = "接收人用户ID") - private List receivedUserId; + @Schema(name = "receivedUserIds", title = "接收人用户ID") + private List receivedUserIds; @Schema(name = "sendUserId", title = "发送人用户ID") @NotNull(message = "发送人用户ID 不能为空") private Long sendUserId; - @Schema(name = "sendNickName", title = "发送人昵称") - @NotBlank(message = "发送人昵称 不能为空") - @NotNull(message = "发送人昵称 不能为空") - private String sendNickName; - @Schema(name = "messageType", title = "消息类型") @NotBlank(message = "消息类型 不能为空") @NotNull(message = "消息类型 不能为空") diff --git a/dao/src/main/java/cn/bunny/dao/dto/system/message/MessageDto.java b/dao/src/main/java/cn/bunny/dao/dto/system/message/MessageDto.java index 33c30e8..bb24bf6 100644 --- a/dao/src/main/java/cn/bunny/dao/dto/system/message/MessageDto.java +++ b/dao/src/main/java/cn/bunny/dao/dto/system/message/MessageDto.java @@ -16,14 +16,8 @@ public class MessageDto { @Schema(name = "title", title = "消息标题") private String title; - @Schema(name = "receivedUserId", title = "接收人用户ID") - private Long receivedUserId; - - @Schema(name = "sendUserId", title = "发送人用户ID") - private Long sendUserId; - - @Schema(name = "sendNickName", title = "发送人昵称") - private String sendNickName; + @Schema(name = "sendNickname", title = "发送人用户昵称") + private String sendNickname; @Schema(name = "messageType", title = "消息类型") private String messageType; 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 eb0250b..d5285d3 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 @@ -26,18 +26,13 @@ public class MessageUpdateDto { @NotBlank(message = "消息标题 不能为空") private String title; - @Schema(name = "receivedUserId", title = "接收人用户ID") - private List receivedUserId; + @Schema(name = "receivedUserIds", title = "接收人用户ID") + private List receivedUserIds; @Schema(name = "sendUserId", title = "发送人用户ID") @NotNull(message = "发送人用户ID 不能为空") private Long sendUserId; - @Schema(name = "sendNickName", title = "发送人昵称") - @NotBlank(message = "发送人昵称 不能为空") - @NotNull(message = "发送人昵称 不能为空") - private String sendNickName; - @Schema(name = "messageType", 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 7dc0e77..7743a0a 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 @@ -25,15 +25,12 @@ public class Message extends BaseEntity { @Schema(name = "title", title = "消息标题") private String title; - @Schema(name = "receivedUserId", title = "接收人用户ID") - private Long receivedUserId; + @Schema(name = "receivedUserIds", title = "接收人用户ID") + private String receivedUserIds; @Schema(name = "sendUserId", title = "发送人用户ID") private Long sendUserId; - @Schema(name = "sendNickName", title = "发送人昵称") - private String sendNickName; - @Schema(name = "messageType", title = "sys:系统消息,user用户消息") private String messageType; diff --git a/dao/src/main/java/cn/bunny/dao/vo/system/message/MessageTypeVo.java b/dao/src/main/java/cn/bunny/dao/vo/system/message/MessageTypeVo.java index 1e02f86..bcd697b 100644 --- a/dao/src/main/java/cn/bunny/dao/vo/system/message/MessageTypeVo.java +++ b/dao/src/main/java/cn/bunny/dao/vo/system/message/MessageTypeVo.java @@ -1,6 +1,6 @@ package cn.bunny.dao.vo.system.message; -import cn.bunny.dao.common.vo.BaseVo; +import cn.bunny.dao.common.vo.BaseUserVo; import io.swagger.v3.oas.annotations.media.Schema; import lombok.*; @@ -10,7 +10,7 @@ import lombok.*; @NoArgsConstructor @Builder @Schema(name = "MessageTypeVo对象", title = "系统消息类型", description = "系统消息类型") -public class MessageTypeVo extends BaseVo { +public class MessageTypeVo extends BaseUserVo { @Schema(name = "messageName", title = "消息名称") private String messageName; 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 49b34af..61007f6 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 @@ -1,6 +1,9 @@ package cn.bunny.dao.vo.system.message; -import cn.bunny.dao.common.vo.BaseVo; +import cn.bunny.dao.common.vo.BaseUserVo; +import com.alibaba.fastjson2.annotation.JSONField; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; import io.swagger.v3.oas.annotations.media.Schema; import lombok.*; @@ -10,19 +13,21 @@ import lombok.*; @NoArgsConstructor @Builder @Schema(name = "MessageVo对象", title = "系统消息返回内容", description = "系统消息返回内容") -public class MessageVo extends BaseVo { +public class MessageVo extends BaseUserVo { @Schema(name = "title", title = "消息标题") private String title; - @Schema(name = "receivedUserId", title = "接收人用户ID") - private Long receivedUserId; - @Schema(name = "sendUserId", title = "发送人用户ID") + @JsonFormat(shape = JsonFormat.Shape.STRING) + @JSONField(serializeUsing = ToStringSerializer.class) private Long sendUserId; - @Schema(name = "sendNickName", title = "发送人昵称") - private String sendNickName; + @Schema(name = "sendNickname", title = "发送人昵称") + private String sendNickname; + + @Schema(name = "receivedUserIds", title = "接收人用户ID") + private String receivedUserIds; @Schema(name = "messageType", title = "sys:系统消息,user用户消息") private String messageType; diff --git a/service/src/main/java/cn/bunny/services/factory/RouterServiceFactory.java b/service/src/main/java/cn/bunny/services/factory/RouterServiceFactory.java index be0fe39..e5b5b97 100644 --- a/service/src/main/java/cn/bunny/services/factory/RouterServiceFactory.java +++ b/service/src/main/java/cn/bunny/services/factory/RouterServiceFactory.java @@ -1,7 +1,5 @@ package cn.bunny.services.factory; -import cn.bunny.dao.common.vo.TreeSelectVo; -import cn.bunny.dao.vo.system.router.RouterManageVo; import cn.bunny.dao.vo.system.router.UserRouterVo; import org.jetbrains.annotations.NotNull; import org.springframework.stereotype.Component; @@ -30,33 +28,4 @@ public class RouterServiceFactory { return list; } - - /** - * * 递归调用设置管理子路由 - * - * @param nodeId 主键 - * @param nodeList 返回VO列表 - * @return 返回路由列表 - */ - public List handleGetChildrenWithRouterControllerVo(Long nodeId, List nodeList) { - return nodeList.stream() - .filter(node -> node.getParentId().equals(nodeId)) - .peek(node -> node.setChildren(handleGetChildrenWithRouterControllerVo(node.getId(), nodeList))) - .toList(); - } - - /** - * * 整理树形结构 - * - * @param nodeId 节点ID - * @param nodeList 节点列表 - * @return 树形列表 - */ - public List handleGetTreeSelectList(Object nodeId, @NotNull List nodeList) { - // 使用 Stream API 找到所有子节点 - return nodeList.stream() - .filter(node -> node.getParentId().equals(nodeId)) - .peek(node -> node.setChildren(handleGetTreeSelectList(node.getValue(), nodeList))) - .toList(); - } } diff --git a/service/src/main/java/cn/bunny/services/mapper/MessageMapper.java b/service/src/main/java/cn/bunny/services/mapper/MessageMapper.java index d4cfa5f..5f88d66 100644 --- a/service/src/main/java/cn/bunny/services/mapper/MessageMapper.java +++ b/service/src/main/java/cn/bunny/services/mapper/MessageMapper.java @@ -2,6 +2,7 @@ package cn.bunny.services.mapper; import cn.bunny.dao.dto.system.message.MessageDto; import cn.bunny.dao.entity.system.Message; +import cn.bunny.dao.vo.system.message.MessageVo; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -28,7 +29,7 @@ public interface MessageMapper extends BaseMapper { * @param dto 系统消息查询表单 * @return 系统消息分页结果 */ - IPage selectListByPage(@Param("page") Page pageParams, @Param("dto") MessageDto dto); + IPage selectListByPage(@Param("page") Page pageParams, @Param("dto") MessageDto dto); /** * 物理删除系统消息 diff --git a/service/src/main/java/cn/bunny/services/mapper/MessageTypeMapper.java b/service/src/main/java/cn/bunny/services/mapper/MessageTypeMapper.java index 04b9a55..eec4db1 100644 --- a/service/src/main/java/cn/bunny/services/mapper/MessageTypeMapper.java +++ b/service/src/main/java/cn/bunny/services/mapper/MessageTypeMapper.java @@ -2,6 +2,7 @@ package cn.bunny.services.mapper; import cn.bunny.dao.dto.system.message.MessageTypeDto; import cn.bunny.dao.entity.system.MessageType; +import cn.bunny.dao.vo.system.message.MessageTypeVo; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -28,7 +29,7 @@ public interface MessageTypeMapper extends BaseMapper { * @param dto 系统消息类型查询表单 * @return 系统消息类型分页结果 */ - IPage selectListByPage(@Param("page") Page pageParams, @Param("dto") MessageTypeDto dto); + IPage selectListByPage(@Param("page") Page pageParams, @Param("dto") MessageTypeDto dto); /** * 物理删除系统消息类型 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 83a9135..73df30a 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 @@ -12,6 +12,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import jakarta.validation.Valid; +import jodd.util.StringUtil; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; @@ -37,15 +38,13 @@ public class MessageServiceImpl extends ServiceImpl impl */ @Override public PageResult getMessageList(Page pageParams, MessageDto dto) { - // 分页查询菜单图标 - IPage page = baseMapper.selectListByPage(pageParams, dto); + IPage page = baseMapper.selectListByPage(pageParams, dto); - List voList = page.getRecords().stream().map(message -> { - MessageVo messageVo = new MessageVo(); - BeanUtils.copyProperties(message, messageVo); - return messageVo; + List voList = page.getRecords().stream().map(messageVo -> { + MessageVo vo = new MessageVo(); + BeanUtils.copyProperties(messageVo, vo); + return vo; }).toList(); - return PageResult.builder() .list(voList) .pageNo(page.getCurrent()) @@ -64,6 +63,10 @@ public class MessageServiceImpl extends ServiceImpl impl // 保存数据 Message message = new Message(); BeanUtils.copyProperties(dto, message); + + // 将发送用户逗号分隔 + String receivedUserIds = StringUtil.join(dto.getReceivedUserIds(), ","); + message.setReceivedUserIds(receivedUserIds); save(message); } @@ -77,6 +80,10 @@ public class MessageServiceImpl extends ServiceImpl impl // 更新内容 Message message = new Message(); BeanUtils.copyProperties(dto, message); + + // 将发送用户逗号分隔 + String receivedUserIds = StringUtil.join(dto.getReceivedUserIds(), ","); + message.setReceivedUserIds(receivedUserIds); updateById(message); } diff --git a/service/src/main/java/cn/bunny/services/service/impl/MessageTypeServiceImpl.java b/service/src/main/java/cn/bunny/services/service/impl/MessageTypeServiceImpl.java index fb5066c..66498a4 100644 --- a/service/src/main/java/cn/bunny/services/service/impl/MessageTypeServiceImpl.java +++ b/service/src/main/java/cn/bunny/services/service/impl/MessageTypeServiceImpl.java @@ -39,16 +39,10 @@ public class MessageTypeServiceImpl extends ServiceImpl getMessageTypeList(Page pageParams, MessageTypeDto dto) { // 分页查询菜单图标 - IPage page = baseMapper.selectListByPage(pageParams, dto); - - List voList = page.getRecords().stream().map(messageType -> { - MessageTypeVo messageTypeVo = new MessageTypeVo(); - BeanUtils.copyProperties(messageType, messageTypeVo); - return messageTypeVo; - }).toList(); + IPage page = baseMapper.selectListByPage(pageParams, dto); return PageResult.builder() - .list(voList) + .list(page.getRecords()) .pageNo(page.getCurrent()) .pageSize(page.getSize()) .total(page.getTotal()) diff --git a/service/src/main/resources/mapper/MessageMapper.xml b/service/src/main/resources/mapper/MessageMapper.xml index 5936a84..58ff5cc 100644 --- a/service/src/main/resources/mapper/MessageMapper.xml +++ b/service/src/main/resources/mapper/MessageMapper.xml @@ -13,7 +13,6 @@ - @@ -26,35 +25,35 @@ - select - - from sys_message + message.*, + create_user.username as create_username, + update_user.username as update_username, + send_user.nickname as send_nickname + from sys_message message + left join sys_user create_user on create_user.id = message.create_user + left join sys_user update_user on update_user.id = message.update_user + left join sys_user send_user on send_user.id = message.send_user_id - is_deleted = 0 + message.is_deleted = 0 - and title like CONCAT('%',#{dto.title},'%') + and message.title like CONCAT('%',#{dto.title},'%') - - and received_user_id like CONCAT('%',#{dto.receivedUserId},'%') - - - and send_user_id like CONCAT('%',#{dto.sendUserId},'%') - - - and send_nick_name like CONCAT('%',#{dto.sendNickName},'%') + + and send_user.nickname like CONCAT('%',#{dto.sendNickname},'%') - and message_type like CONCAT('%',#{dto.messageType},'%') + and message.message_type like CONCAT('%',#{dto.messageType},'%') - and content like CONCAT('%',#{dto.content},'%') + and message.content like CONCAT('%',#{dto.content},'%') - and editor_type like CONCAT('%',#{dto.editorType},'%') + and message.editor_type = #{dto.editorType} - - and status like CONCAT('%',#{dto.status},'%') + + and message.status = #{dto.status} diff --git a/service/src/main/resources/mapper/MessageTypeMapper.xml b/service/src/main/resources/mapper/MessageTypeMapper.xml index 820970f..11923e2 100644 --- a/service/src/main/resources/mapper/MessageTypeMapper.xml +++ b/service/src/main/resources/mapper/MessageTypeMapper.xml @@ -22,23 +22,27 @@ - select - - from sys_message_type + message_type.*, + create_user.username as create_username, + update_user.username as update_username + from sys_message_type message_type + left join sys_user create_user on create_user.id = message_type.create_user + left join sys_user update_user on update_user.id = message_type.update_user - is_deleted = 0 + message_type.is_deleted = 0 and status = #{dto.status} - and message_name like CONCAT('%',#{dto.messageName},'%') + and message_type.message_name like CONCAT('%',#{dto.messageName},'%') - and message_type like CONCAT('%',#{dto.messageType},'%') + and message_type.message_type like CONCAT('%',#{dto.messageType},'%') - and summary like CONCAT('%',#{dto.summary},'%') + and message_type.summary like CONCAT('%',#{dto.summary},'%')