feat(UserMessage):添加好友聊天功能,可以与其它用户进行简单的文本聊天
Change-Id: Idd701e827313babd721aef5559f3a714a7198d82
diff --git a/ruoyi-system/pom.xml b/ruoyi-system/pom.xml
index 51f3f3c..c688993 100644
--- a/ruoyi-system/pom.xml
+++ b/ruoyi-system/pom.xml
@@ -16,12 +16,31 @@
</description>
<dependencies>
-
<!-- 通用工具-->
+
<dependency>
<groupId>com.ruoyi</groupId>
<artifactId>ruoyi-common</artifactId>
</dependency>
+ <dependency>
+ <groupId>org.projectlombok</groupId>
+ <artifactId>lombok</artifactId>
+ <scope>annotationProcessor</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.springframework.boot</groupId>
+ <artifactId>spring-boot-starter-validation</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.springframework.boot</groupId>
+ <artifactId>spring-boot-starter-web</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>org.springframework.boot</groupId>
+ <artifactId>spring-boot-starter-test</artifactId>
+ <scope>test</scope>
+ </dependency>
</dependencies>
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysUserMessage.java b/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysUserMessage.java
new file mode 100644
index 0000000..0796dd5
--- /dev/null
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysUserMessage.java
@@ -0,0 +1,27 @@
+package com.ruoyi.system.domain;
+
+import com.ruoyi.common.annotation.Excel;
+import com.ruoyi.common.core.domain.BaseEntity;
+import lombok.Data;
+import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.NotNull;
+
+@Data
+public class SysUserMessage extends BaseEntity {
+ private static final long serialVersionUID = 1L;
+
+ @Excel(name = "消息ID")
+ private Long messageId;
+
+ @Excel(name = "发送者ID")
+ @NotNull(message = "发送者ID不能为空")
+ private Long senderId;
+
+ @Excel(name = "接收者ID")
+ @NotNull(message = "接收者ID不能为空")
+ private Long receiverId;
+
+ @Excel(name = "消息内容")
+ @NotBlank(message = "消息内容不能为空")
+ private String content;
+}
\ No newline at end of file
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserMessageMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserMessageMapper.java
new file mode 100644
index 0000000..6e2fc1d
--- /dev/null
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserMessageMapper.java
@@ -0,0 +1,9 @@
+package com.ruoyi.system.mapper;
+
+import com.ruoyi.system.domain.SysUserMessage;
+import java.util.List;
+
+public interface SysUserMessageMapper {
+ int insertMessage(SysUserMessage message);
+ List<SysUserMessage> selectMessageListByUserIds(Long userId1, Long userId2);
+}
\ No newline at end of file
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserMessageService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserMessageService.java
new file mode 100644
index 0000000..1bcc9f5
--- /dev/null
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserMessageService.java
@@ -0,0 +1,9 @@
+package com.ruoyi.system.service;
+
+import com.ruoyi.system.domain.SysUserMessage;
+import java.util.List;
+
+public interface ISysUserMessageService {
+ int sendMessage(SysUserMessage message);
+ List<SysUserMessage> getMessageList(Long userId1, Long userId2);
+}
\ No newline at end of file
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserMessageServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserMessageServiceImpl.java
new file mode 100644
index 0000000..94c9e6e
--- /dev/null
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserMessageServiceImpl.java
@@ -0,0 +1,24 @@
+package com.ruoyi.system.service.impl;
+
+import com.ruoyi.system.domain.SysUserMessage;
+import com.ruoyi.system.mapper.SysUserMessageMapper;
+import com.ruoyi.system.service.ISysUserMessageService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import java.util.List;
+
+@Service
+public class SysUserMessageServiceImpl implements ISysUserMessageService {
+ @Autowired
+ private SysUserMessageMapper messageMapper;
+
+ @Override
+ public int sendMessage(SysUserMessage message) {
+ return messageMapper.insertMessage(message);
+ }
+
+ @Override
+ public List<SysUserMessage> getMessageList(Long userId1, Long userId2) {
+ return messageMapper.selectMessageListByUserIds(userId1, userId2);
+ }
+}
\ No newline at end of file
diff --git a/ruoyi-system/src/main/resources/mapper/system/SysUserMessageMapper.xml b/ruoyi-system/src/main/resources/mapper/system/SysUserMessageMapper.xml
new file mode 100644
index 0000000..79fe8b7
--- /dev/null
+++ b/ruoyi-system/src/main/resources/mapper/system/SysUserMessageMapper.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruoyi.system.mapper.SysUserMessageMapper">
+ <resultMap id="SysUserMessageMap" type="com.ruoyi.system.domain.SysUserMessage">
+ <id property="messageId" column="message_id"/>
+ <result property="senderId" column="sender_id"/>
+ <result property="receiverId" column="receiver_id"/>
+ <result property="content" column="content"/>
+ <result property="createTime" column="create_time"/>
+ </resultMap>
+
+ <insert id="insertMessage" parameterType="com.ruoyi.system.domain.SysUserMessage">
+ insert into sys_user_message (sender_id, receiver_id, content, create_time)
+ values (#{senderId}, #{receiverId}, #{content}, sysdate())
+ </insert>
+
+ <select id="selectMessageListByUserIds" resultMap="SysUserMessageMap">
+ select message_id, sender_id, receiver_id, content, create_time
+ from sys_user_message
+ where (sender_id = #{userId1} and receiver_id = #{userId2})
+ or (sender_id = #{userId2} and receiver_id = #{userId1})
+ and del_flag = '0'
+ order by create_time asc
+ </select>
+</mapper>
\ No newline at end of file