diff --git a/common/common-generator/src/main/java/cn/bunny/common/generator/generator/AdminCodeGenerator.java b/common/common-generator/src/main/java/cn/bunny/common/generator/generator/AdminCodeGenerator.java
index b03e1d7..88afe38 100644
--- a/common/common-generator/src/main/java/cn/bunny/common/generator/generator/AdminCodeGenerator.java
+++ b/common/common-generator/src/main/java/cn/bunny/common/generator/generator/AdminCodeGenerator.java
@@ -14,13 +14,13 @@ public class AdminCodeGenerator {
// 作者名称
public static final String author = "Bunny";
// 公共路径
- public static final String outputDir = "D:\\MyFolder\\auth-admin\\auth-server-java\\service";
- // public static final String outputDir = "D:\\Project\\web\\PC\\auth\\auth-server-java\\service";
+ // public static final String outputDir = "D:\\MyFolder\\auth-admin\\auth-server-java\\service";
+ public static final String outputDir = "D:\\Project\\web\\PC\\auth\\auth-server-java\\service";
// 实体类名称
public static final String entity = "Bunny";
public static void main(String[] args) {
- Generation("sys_message", "sys_message_type");
+ Generation("sys_message_received");
}
/**
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 5f716d9..e13d73b 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
@@ -54,4 +54,12 @@ public class MessageAddDto {
@Schema(name = "status", title = "0:未读 1:已读")
private Boolean status = false;
+
+ @Schema(name = "level", title = "消息等级")
+ private String level;
+
+ @Schema(name = "extra", title = "消息等级详情")
+ private String extra;
+
+
}
\ No newline at end of file
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 bb24bf6..a2dd14a 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
@@ -31,4 +31,10 @@ public class MessageDto {
@Schema(name = "status", title = "0:未读 1:已读")
private Boolean status;
+ @Schema(name = "level", title = "消息等级")
+ private String level;
+
+ @Schema(name = "extra", title = "消息等级详情")
+ private String extra;
+
}
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 983ffc0..48a858e 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
@@ -59,5 +59,11 @@ public class MessageUpdateDto {
@Schema(name = "status", title = "0:未读 1:已读")
private Boolean status;
+ @Schema(name = "level", title = "消息等级")
+ private String level;
+
+ @Schema(name = "extra", title = "消息等级详情")
+ private String extra;
+
}
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 e5f27ed..ad351a4 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,9 +25,6 @@ public class Message extends BaseEntity {
@Schema(name = "title", title = "消息标题")
private String title;
- @Schema(name = "receivedUserIds", title = "接收人用户ID")
- private String receivedUserIds;
-
@Schema(name = "sendUserId", title = "发送人用户ID")
private Long sendUserId;
@@ -39,7 +36,7 @@ public class Message extends BaseEntity {
@Schema(name = "summary", title = "消息简介")
private String summary;
-
+
@Schema(name = "content", title = "消息内容")
private String content;
@@ -49,6 +46,12 @@ public class Message extends BaseEntity {
@Schema(name = "status", title = "0:未读 1:已读")
private Boolean status;
+ @Schema(name = "level", title = "消息等级")
+ private String level;
+
+ @Schema(name = "extra", title = "消息等级详情")
+ private String extra;
+
}
diff --git a/dao/src/main/java/cn/bunny/dao/entity/system/MessageReceived.java b/dao/src/main/java/cn/bunny/dao/entity/system/MessageReceived.java
new file mode 100644
index 0000000..5e4f078
--- /dev/null
+++ b/dao/src/main/java/cn/bunny/dao/entity/system/MessageReceived.java
@@ -0,0 +1,31 @@
+package cn.bunny.dao.entity.system;
+
+import cn.bunny.dao.common.entity.BaseEntity;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.experimental.Accessors;
+
+/**
+ *
+ *
+ *
+ *
+ * @author Bunny
+ * @since 2024-10-31
+ */
+@Getter
+@Setter
+@Accessors(chain = true)
+@TableName("sys_message_received")
+@Schema(name = "MessageReceived对象", title = "系统消息接受用户", description = "系统消息接受用户")
+public class MessageReceived extends BaseEntity {
+
+ @Schema(name = "receivedUserId", title = "接受者id")
+ private Long receivedUserId;
+
+ @Schema(name = "messageId", title = "消息ID")
+ private Long messageId;
+
+}
diff --git a/dao/src/main/java/cn/bunny/dao/vo/system/message/MessageUserVo.java b/dao/src/main/java/cn/bunny/dao/vo/system/message/MessageUserVo.java
new file mode 100644
index 0000000..8d5d857
--- /dev/null
+++ b/dao/src/main/java/cn/bunny/dao/vo/system/message/MessageUserVo.java
@@ -0,0 +1,34 @@
+package cn.bunny.dao.vo.system.message;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@Builder
+@Schema(name = "MessageVo对象", title = "系统消息返回内容", description = "系统消息返回内容")
+public class MessageUserVo {
+
+ @Schema(name = "title", title = "消息标题")
+ private String title;
+
+ @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 = "level", title = "消息等级")
+ private String level;
+
+ @Schema(name = "extra", title = "消息等级详情")
+ private String extra;
+
+}
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 071cbce..ab60851 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
@@ -7,6 +7,8 @@ import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
+import java.util.List;
+
@EqualsAndHashCode(callSuper = true)
@Data
@AllArgsConstructor
@@ -27,7 +29,7 @@ public class MessageVo extends BaseUserVo {
private String sendNickname;
@Schema(name = "receivedUserIds", title = "接收人用户ID")
- private String receivedUserIds;
+ private List receivedUserIds;
@Schema(name = "messageType", title = "sys:系统消息,user用户消息")
private String messageType;
@@ -47,4 +49,10 @@ public class MessageVo extends BaseUserVo {
@Schema(name = "status", title = "0:未读 1:已读")
private Boolean status;
+ @Schema(name = "level", title = "消息等级")
+ private String level;
+
+ @Schema(name = "extra", title = "消息等级详情")
+ private String extra;
+
}
\ No newline at end of file
diff --git a/service/src/main/java/cn/bunny/services/controller/MessageController.java b/service/src/main/java/cn/bunny/services/controller/MessageController.java
index 9f6cbae..da14c4b 100644
--- a/service/src/main/java/cn/bunny/services/controller/MessageController.java
+++ b/service/src/main/java/cn/bunny/services/controller/MessageController.java
@@ -7,6 +7,7 @@ import cn.bunny.dao.entity.system.Message;
import cn.bunny.dao.pojo.result.PageResult;
import cn.bunny.dao.pojo.result.Result;
import cn.bunny.dao.pojo.result.ResultCodeEnum;
+import cn.bunny.dao.vo.system.message.MessageUserVo;
import cn.bunny.dao.vo.system.message.MessageVo;
import cn.bunny.services.service.MessageService;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -36,7 +37,7 @@ public class MessageController {
@Autowired
private MessageService messageService;
- @Operation(summary = "分页查询系统消息", description = "分页查询系统消息")
+ @Operation(summary = "分页查询消息", description = "分页查询消息")
@GetMapping("getMessageList/{page}/{limit}")
public Mono>> getMessageList(
@Parameter(name = "page", description = "当前页", required = true)
@@ -49,6 +50,18 @@ public class MessageController {
return Mono.just(Result.success(pageResult));
}
+ @Operation(summary = "分页查询用户消息", description = "分页查询用户消息")
+ @GetMapping("getUserMessageList/{page}/{limit}")
+ public Mono>> getUserMessageList(
+ @Parameter(name = "page", description = "当前页", required = true)
+ @PathVariable("page") Integer page,
+ @Parameter(name = "limit", description = "每页记录数", required = true)
+ @PathVariable("limit") Integer limit) {
+ Page pageParams = new Page<>(page, limit);
+ PageResult pageResult = messageService.getUserMessageList(pageParams);
+ return Mono.just(Result.success(pageResult));
+ }
+
@Operation(summary = "添加系统消息", description = "添加系统消息")
@PostMapping("addMessage")
public Mono> addMessage(@Valid @RequestBody MessageAddDto dto) {
diff --git a/service/src/main/java/cn/bunny/services/controller/MessageReceivedController.java b/service/src/main/java/cn/bunny/services/controller/MessageReceivedController.java
new file mode 100644
index 0000000..a7c93fd
--- /dev/null
+++ b/service/src/main/java/cn/bunny/services/controller/MessageReceivedController.java
@@ -0,0 +1,18 @@
+package cn.bunny.services.controller;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 前端控制器
+ *
+ *
+ * @author Bunny
+ * @since 2024-10-31
+ */
+@RestController
+@RequestMapping("/messageReceived")
+public class MessageReceivedController {
+
+}
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 5f88d66..426204a 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.MessageUserVo;
import cn.bunny.dao.vo.system.message.MessageVo;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -37,4 +38,12 @@ public interface MessageMapper extends BaseMapper {
* @param ids 删除 id 列表
*/
void deleteBatchIdsWithPhysics(List ids);
+
+ /**
+ * 分页查询用户消息
+ *
+ * @param pageParams 系统消息返回列表
+ * @return 分页结果
+ */
+ IPage selectUserMessageList(@Param("page") Page pageParams, Long userId);
}
diff --git a/service/src/main/java/cn/bunny/services/mapper/MessageReceivedMapper.java b/service/src/main/java/cn/bunny/services/mapper/MessageReceivedMapper.java
new file mode 100644
index 0000000..c6f9b78
--- /dev/null
+++ b/service/src/main/java/cn/bunny/services/mapper/MessageReceivedMapper.java
@@ -0,0 +1,33 @@
+package cn.bunny.services.mapper;
+
+import cn.bunny.dao.entity.system.MessageReceived;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+import java.util.List;
+
+/**
+ *
+ * Mapper 接口
+ *
+ *
+ * @author Bunny
+ * @since 2024-10-31
+ */
+@Mapper
+public interface MessageReceivedMapper extends BaseMapper {
+
+ /**
+ * 根据发送者id批量删除消息接受者
+ *
+ * @param userIds 发送用户ID
+ */
+ void deleteBatchIdsWithPhysics(List userIds);
+
+ /**
+ * 根据消息Id物理删除接受者消息
+ *
+ * @param ids 消息id
+ */
+ void deleteBatchIdsByMessageIdsWithPhysics(List ids);
+}
diff --git a/service/src/main/java/cn/bunny/services/service/MessageReceivedService.java b/service/src/main/java/cn/bunny/services/service/MessageReceivedService.java
new file mode 100644
index 0000000..5ee9f3e
--- /dev/null
+++ b/service/src/main/java/cn/bunny/services/service/MessageReceivedService.java
@@ -0,0 +1,24 @@
+package cn.bunny.services.service;
+
+import cn.bunny.dao.entity.system.MessageReceived;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+import java.util.List;
+
+/**
+ *
+ * 服务类
+ *
+ *
+ * @author Bunny
+ * @since 2024-10-31
+ */
+public interface MessageReceivedService extends IService {
+
+ /**
+ * 根据发送者id批量删除消息接受者
+ *
+ * @param sendUserIds 发送用户ID
+ */
+ void deleteBatchIdsWithPhysics(List sendUserIds);
+}
diff --git a/service/src/main/java/cn/bunny/services/service/MessageService.java b/service/src/main/java/cn/bunny/services/service/MessageService.java
index dfed33f..9cd4751 100644
--- a/service/src/main/java/cn/bunny/services/service/MessageService.java
+++ b/service/src/main/java/cn/bunny/services/service/MessageService.java
@@ -5,6 +5,7 @@ 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.MessageUserVo;
import cn.bunny.dao.vo.system.message.MessageVo;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
@@ -49,4 +50,12 @@ public interface MessageService extends IService {
* @param ids 删除id列表
*/
void deleteMessage(List ids);
+
+ /**
+ * 分页查询用户消息
+ *
+ * @param pageParams 系统消息返回列表
+ * @return 分页结果
+ */
+ PageResult getUserMessageList(Page pageParams);
}
diff --git a/service/src/main/java/cn/bunny/services/service/impl/MessageReceivedServiceImpl.java b/service/src/main/java/cn/bunny/services/service/impl/MessageReceivedServiceImpl.java
new file mode 100644
index 0000000..d33c225
--- /dev/null
+++ b/service/src/main/java/cn/bunny/services/service/impl/MessageReceivedServiceImpl.java
@@ -0,0 +1,31 @@
+package cn.bunny.services.service.impl;
+
+import cn.bunny.dao.entity.system.MessageReceived;
+import cn.bunny.services.mapper.MessageReceivedMapper;
+import cn.bunny.services.service.MessageReceivedService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ *
+ * 服务实现类
+ *
+ *
+ * @author Bunny
+ * @since 2024-10-31
+ */
+@Service
+public class MessageReceivedServiceImpl extends ServiceImpl implements MessageReceivedService {
+
+ /**
+ * 根据发送者id批量删除消息接受者
+ *
+ * @param sendUserIds 发送用户ID
+ */
+ @Override
+ public void deleteBatchIdsWithPhysics(List sendUserIds) {
+ baseMapper.deleteBatchIdsWithPhysics(sendUserIds);
+ }
+}
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 1bd699e..edc2451 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
@@ -6,20 +6,25 @@ 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.entity.system.MessageReceived;
import cn.bunny.dao.pojo.result.PageResult;
+import cn.bunny.dao.vo.system.message.MessageUserVo;
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.MessageReceivedMapper;
import cn.bunny.services.mapper.UserMapper;
+import cn.bunny.services.service.MessageReceivedService;
import cn.bunny.services.service.MessageService;
import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
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.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
import java.util.List;
@@ -32,6 +37,7 @@ import java.util.List;
* @since 2024-10-30 15:19:56
*/
@Service
+@Transactional
public class MessageServiceImpl extends ServiceImpl implements MessageService {
@Autowired
@@ -40,6 +46,12 @@ public class MessageServiceImpl extends ServiceImpl impl
@Autowired
private UserFactory userFactory;
+ @Autowired
+ private MessageReceivedService messageReceivedService;
+
+ @Autowired
+ private MessageReceivedMapper messageReceivedMapper;
+
/**
* * 系统消息 服务实现类
*
@@ -80,20 +92,28 @@ public class MessageServiceImpl extends ServiceImpl impl
Long sendUserId = dto.getSendUserId();
if (sendUserId == null) dto.setSendUserId(BaseContext.getUserId());
+ // 接受人id列表
+ List receivedUserIds = dto.getReceivedUserIds();
+
// 如果接收人为空默认接收全部人
- if (dto.getReceivedUserIds().isEmpty()) {
+ if (receivedUserIds.isEmpty()) {
List userIds = userMapper.selectList(null).stream().map(BaseEntity::getId).toList();
dto.setReceivedUserIds(userIds);
}
- // 保存数据
+ // 保存消息数据
Message message = new Message();
BeanUtils.copyProperties(dto, message);
-
- // 将发送用户逗号分隔
- String receivedUserIds = StringUtil.join(dto.getReceivedUserIds(), ",");
- message.setReceivedUserIds(receivedUserIds);
save(message);
+
+ // 保存消息和用户之间关联数据
+ List receivedList = receivedUserIds.stream().map(id -> {
+ MessageReceived messageReceived = new MessageReceived();
+ messageReceived.setMessageId(dto.getSendUserId());
+ messageReceived.setReceivedUserId(id);
+ return messageReceived;
+ }).toList();
+ messageReceivedService.saveBatch(receivedList);
}
/**
@@ -103,14 +123,37 @@ public class MessageServiceImpl extends ServiceImpl impl
*/
@Override
public void updateMessage(@Valid MessageUpdateDto dto) {
+ // 如果发送人为空设置当前登录的人的ID
+ Long sendUserId = dto.getSendUserId();
+ if (sendUserId == null) dto.setSendUserId(BaseContext.getUserId());
+
+ // 接受人id列表
+ List receivedUserIds = dto.getReceivedUserIds();
+
+ // 如果接收人为空默认接收全部人
+ if (receivedUserIds.isEmpty()) {
+ List userIds = userMapper.selectList(null).stream().map(BaseEntity::getId).toList();
+ dto.setReceivedUserIds(userIds);
+ }
+
// 更新内容
Message message = new Message();
BeanUtils.copyProperties(dto, message);
-
- // 将发送用户逗号分隔
- String receivedUserIds = StringUtil.join(dto.getReceivedUserIds(), ",");
- message.setReceivedUserIds(receivedUserIds);
updateById(message);
+
+ // 删除这个消息接受下所有发送者
+ if (sendUserId != null) {
+ messageReceivedMapper.deleteBatchIdsWithPhysics(List.of(sendUserId));
+ }
+
+ // 保存消息和用户之间关联数据
+ List receivedList = receivedUserIds.stream().map(id -> {
+ MessageReceived messageReceived = new MessageReceived();
+ messageReceived.setMessageId(dto.getSendUserId());
+ messageReceived.setReceivedUserId(id);
+ return messageReceived;
+ }).toList();
+ messageReceivedService.saveBatch(receivedList);
}
/**
@@ -121,5 +164,40 @@ public class MessageServiceImpl extends ServiceImpl impl
@Override
public void deleteMessage(List ids) {
baseMapper.deleteBatchIdsWithPhysics(ids);
+
+ // 根据消息Id物理删除接受者消息
+ messageReceivedMapper.deleteBatchIdsByMessageIdsWithPhysics(ids);
+ }
+
+ /**
+ * 分页查询用户消息
+ *
+ * @param pageParams 系统消息返回列表
+ * @return 分页结果
+ */
+ @Override
+ public PageResult getUserMessageList(Page pageParams) {
+ // 查询当前用户接收的消息的接收者关系表
+ List messageReceivedList = messageReceivedMapper.selectList(Wrappers.lambdaQuery().eq(MessageReceived::getReceivedUserId, BaseContext.getUserId()));
+ List messageIds = messageReceivedList.stream().map(MessageReceived::getMessageId).toList();
+
+ // 根据消息所有包含匹配当前消息Id的列表
+ Page page = page(pageParams, Wrappers.lambdaQuery().in(Message::getId, messageIds));
+ List voList = page.getRecords().stream().map(messageVo -> {
+ MessageUserVo vo = new MessageUserVo();
+ BeanUtils.copyProperties(messageVo, vo);
+
+ // 设置封面返回内容
+ String cover = vo.getCover();
+ cover = userFactory.checkGetUserAvatar(cover);
+ vo.setCover(cover);
+ return vo;
+ }).toList();
+ return PageResult.builder()
+ .list(voList)
+ .pageNo(page.getCurrent())
+ .pageSize(page.getSize())
+ .total(page.getTotal())
+ .build();
}
}
diff --git a/service/src/main/resources/mapper/MessageMapper.xml b/service/src/main/resources/mapper/MessageMapper.xml
index 5b84af0..a21eeec 100644
--- a/service/src/main/resources/mapper/MessageMapper.xml
+++ b/service/src/main/resources/mapper/MessageMapper.xml
@@ -19,11 +19,13 @@
+
+
- 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
+ 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, level, extra
@@ -32,11 +34,13 @@
message.*,
create_user.username as create_username,
update_user.username as update_username,
- send_user.nickname as send_nickname
+ send_user.nickname as send_nickname,
+ message_recived.received_user_id as message_recivedids
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
+ left join sys_message_recived message_recived on message_recived.message_id = message.id
message.is_deleted = 0
@@ -54,12 +58,27 @@
and message.editor_type = #{dto.editorType}
+
+ and message.editor_type = #{dto.editorType}
+
+
+ and message.level = #{dto.level}
+
+
+ and message.extra = #{dto.extra}
+
and message.status = #{dto.status}
+
+
+
+
delete
diff --git a/service/src/main/resources/mapper/MessageReceivedMapper.xml b/service/src/main/resources/mapper/MessageReceivedMapper.xml
new file mode 100644
index 0000000..fc668c0
--- /dev/null
+++ b/service/src/main/resources/mapper/MessageReceivedMapper.xml
@@ -0,0 +1,37 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ id, received_user_id, message_id
+
+
+
+
+ delete
+ from sys_message_recived
+ where received_user_id in
+
+ #{id}
+
+
+
+
+
+ delete
+ from sys_message_recived
+ where message_id in
+
+ #{id}
+
+
+
+