Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wecloud_im_server
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
hewei
wecloud_im_server
Commits
344d2d5e
Commit
344d2d5e
authored
Oct 19, 2022
by
Future
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
添加消息链
parent
4ec6121e
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
14 changed files
with
51 additions
and
20 deletions
+51
-20
config/src/main/resources/config/application-dev.yml
+1
-1
core/pom.xml
+7
-0
core/src/main/java/com/wecloud/im/action/NormalChatAction.java
+5
-4
core/src/main/java/com/wecloud/im/chatroom/action/ChatRoomAction.java
+1
-1
core/src/main/java/com/wecloud/im/entity/ImMessageOnlineSend.java
+3
-0
core/src/main/java/com/wecloud/im/param/MsgVo.java
+12
-0
core/src/main/java/com/wecloud/im/post/Couriers.java
+2
-1
core/src/main/java/com/wecloud/im/post/MessageBuilder.java
+0
-4
core/src/main/java/com/wecloud/im/service/ImMessageService.java
+7
-4
core/src/main/java/com/wecloud/im/service/impl/ImMessageServiceImpl.java
+0
-0
core/src/main/java/com/wecloud/im/thousandchat/action/ThousandChatAction.java
+5
-4
core/src/main/java/com/wecloud/im/vo/OfflineMsgDto.java
+3
-0
core/src/main/resources/mapper/ImMsgReadLastestMapper.xml
+1
-0
docs/db/feature-cluster增量.sql
+4
-1
No files found.
config/src/main/resources/config/application-dev.yml
View file @
344d2d5e
...
...
@@ -29,7 +29,7 @@ spring:
redis
:
database
:
0
host
:
127.0.0.1
password
:
#
password:
port
:
6379
# database: 0
...
...
core/pom.xml
View file @
344d2d5e
...
...
@@ -164,6 +164,13 @@
<version>
4.0.0
</version>
</dependency>
<!-- 注解版分布式锁 -->
<dependency>
<groupId>
com.baomidou
</groupId>
<artifactId>
lock4j-redisson-spring-boot-starter
</artifactId>
<version>
2.2.2
</version>
</dependency>
</dependencies>
<!-- <build>-->
<!-- <resources>-->
...
...
core/src/main/java/com/wecloud/im/action/NormalChatAction.java
View file @
344d2d5e
...
...
@@ -185,7 +185,7 @@ public class NormalChatAction {
}
// 响应发送方消息id等信息
response
(
reqId
,
imMessageOnlineSend
.
getMsgId
()
,
request
.
getSenderChannel
());
response
(
reqId
,
imMessageOnlineSend
,
request
.
getSenderChannel
());
}
private
void
sendMsgToMember
(
ImApplication
imApplication
,
ImConversationMembers
member
,
ImMessageOnlineSend
imMessageOnlineSend
,
PushVO
push
,
Boolean
isPush
)
{
...
...
@@ -235,6 +235,7 @@ public class NormalChatAction {
// 封装响应的实体
ImMessageOnlineSend
imMessageOnlineSend
=
new
ImMessageOnlineSend
();
imMessageOnlineSend
.
setMsgId
(
imMessage
.
getId
());
imMessageOnlineSend
.
setPreMessageId
(
imMessage
.
getPreMessageId
());
imMessageOnlineSend
.
setSender
(
imClientSender
.
getClientId
());
Map
<
String
,
Object
>
content
=
JsonUtils
.
beanCopyDeep
(
data
,
Map
.
class
);
//action的属性无需要返回
...
...
@@ -255,16 +256,16 @@ public class NormalChatAction {
* 响应发送方消息id等信息
*
* @param reqId
* @param
messageI
d
* @param
imMessageOnlineSen
d
* @param channel
*/
private
void
response
(
String
reqId
,
long
messageI
d
,
Channel
channel
)
{
private
void
response
(
String
reqId
,
ImMessageOnlineSend
imMessageOnlineSen
d
,
Channel
channel
)
{
WsResponse
<
MsgVo
>
responseModel
=
new
WsResponse
<>();
ApiResult
<
Boolean
>
result
=
ApiResult
.
result
(
ApiCode
.
SUCCESS
);
responseModel
.
setCmd
(
WsResponseCmdEnum
.
RES
.
getCmdCode
());
responseModel
.
setCode
(
result
.
getCode
());
responseModel
.
setMsg
(
result
.
getMessage
());
responseModel
.
setData
(
new
MsgVo
(
messageId
));
responseModel
.
setData
(
new
MsgVo
(
imMessageOnlineSend
.
getMsgId
(),
imMessageOnlineSend
.
getPreMessageId
(),
imMessageOnlineSend
.
getCreateTime
()
));
responseModel
.
setReqId
(
reqId
);
// 响应发送方
channelSender
.
sendMsgLocal
((
NioSocketChannel
)
channel
,
responseModel
);
...
...
core/src/main/java/com/wecloud/im/chatroom/action/ChatRoomAction.java
View file @
344d2d5e
...
...
@@ -154,7 +154,7 @@ public class ChatRoomAction {
responseModel
.
setCmd
(
WsResponseCmdEnum
.
RES
.
getCmdCode
());
responseModel
.
setCode
(
result
.
getCode
());
responseModel
.
setMsg
(
result
.
getMessage
());
responseModel
.
setData
(
new
MsgVo
(
messageId
));
responseModel
.
setData
(
new
MsgVo
(
messageId
,
null
,
new
Date
()
));
responseModel
.
setReqId
(
reqId
);
// 响应发送方
channelSender
.
sendMsgLocal
((
NioSocketChannel
)
channel
,
responseModel
);
...
...
core/src/main/java/com/wecloud/im/entity/ImMessageOnlineSend.java
View file @
344d2d5e
...
...
@@ -35,6 +35,9 @@ public class ImMessageOnlineSend extends BaseEntity {
@ApiModelProperty
(
"消息id"
)
private
Long
msgId
;
@ApiModelProperty
(
"前一条消息的id"
)
private
Long
preMessageId
;
@ApiModelProperty
(
"创建时间"
)
private
Date
createTime
;
...
...
core/src/main/java/com/wecloud/im/param/MsgVo.java
View file @
344d2d5e
...
...
@@ -6,6 +6,7 @@ import lombok.Data;
import
lombok.NoArgsConstructor
;
import
java.io.Serializable
;
import
java.util.Date
;
/**
* @Description TODO
...
...
@@ -16,5 +17,16 @@ import java.io.Serializable;
@AllArgsConstructor
@NoArgsConstructor
public
class
MsgVo
implements
Serializable
{
private
Long
msgId
;
/**
* 上一条消息id
*/
private
Long
preMessageId
;
/**
* 消息创建时间
*/
private
Date
createTime
;
}
core/src/main/java/com/wecloud/im/post/Couriers.java
View file @
344d2d5e
...
...
@@ -42,7 +42,8 @@ public class Couriers {
ImMessageOnlineSend
imMessageOnlineSend
=
new
ImMessageOnlineSend
();
imMessageOnlineSend
.
setMsgId
(
message
.
getId
());
imMessageOnlineSend
.
setCreateTime
(
new
Date
());
imMessageOnlineSend
.
setPreMessageId
(
message
.
getPreMessageId
());
imMessageOnlineSend
.
setCreateTime
(
message
.
getCreateTime
());
imMessageOnlineSend
.
setType
(
message
.
getMsgType
());
imMessageOnlineSend
.
setSender
(
sender
.
getClientId
());
imMessageOnlineSend
.
setContent
(
content
);
...
...
core/src/main/java/com/wecloud/im/post/MessageBuilder.java
View file @
344d2d5e
...
...
@@ -54,16 +54,13 @@ public class MessageBuilder {
* @param type
* @param application
* @param sender
* @param receiver
* @Return
*/
public
static
ImMessage
buildEventMessage
(
MsgTypeEnum
type
,
ImApplication
application
,
ImClient
sender
,
ImConversation
conversation
,
String
content
)
{
long
messageId
=
SnowflakeUtil
.
getId
();
ImMessage
imMessage
=
new
ImMessage
();
// 保存消息至消息表
imMessage
.
setId
(
messageId
);
imMessage
.
setMsgType
(
type
.
getUriCode
());
imMessage
.
setFkAppid
(
application
.
getId
());
imMessage
.
setSender
(
sender
.
getId
());
...
...
@@ -73,7 +70,6 @@ public class MessageBuilder {
imMessage
.
setSystemFlag
(
false
);
imMessage
.
setSendStatus
(
2
);
imMessage
.
setFkConversationId
(
conversation
.
getId
());
imMessage
.
setCreateTime
(
new
Date
());
return
imMessage
;
}
...
...
core/src/main/java/com/wecloud/im/service/ImMessageService.java
View file @
344d2d5e
...
...
@@ -47,10 +47,6 @@ public interface ImMessageService extends BaseService<ImMessage> {
*/
ApiResult
<
Boolean
>
restApiImMessageSend
(
ImMsgSendToOnlineClient
imMsgSendToOnlineClient
,
ImApplication
imApplication
);
ImMessage
saveImMessage
(
ImApplication
imApplication
,
ImClient
imClientSender
,
long
messageId
,
ReceiveVO
receiveVO
,
ReceiveDataVO
sysParam
);
@Transactional
(
rollbackFor
=
Exception
.
class
)
ImMessage
saveImMessage
(
ImClientSimpleDto
client
,
ChatContentVo
data
);
...
...
@@ -188,4 +184,11 @@ public interface ImMessageService extends BaseService<ImMessage> {
* @Return
*/
Boolean
singleUserNotification
(
SingleUserNotificationParam
param
);
/**
* 保存消息到数据库
* @param imMessage
*/
void
saveMessageToDb
(
ImMessage
imMessage
);
}
core/src/main/java/com/wecloud/im/service/impl/ImMessageServiceImpl.java
View file @
344d2d5e
This diff is collapsed.
Click to expand it.
core/src/main/java/com/wecloud/im/thousandchat/action/ThousandChatAction.java
View file @
344d2d5e
...
...
@@ -139,7 +139,7 @@ public class ThousandChatAction {
}
// 响应发送方消息id等信息
response
(
reqId
,
imMessageOnlineSend
.
getMsgId
()
,
request
.
getSenderChannel
());
response
(
reqId
,
imMessageOnlineSend
,
request
.
getSenderChannel
());
}
...
...
@@ -200,6 +200,7 @@ public class ThousandChatAction {
// 封装响应的实体
ImMessageOnlineSend
imMessageOnlineSend
=
new
ImMessageOnlineSend
();
imMessageOnlineSend
.
setMsgId
(
imMessage
.
getId
());
imMessageOnlineSend
.
setPreMessageId
(
imMessage
.
getPreMessageId
());
imMessageOnlineSend
.
setSender
(
imClientSender
.
getClientId
());
Map
<
String
,
Object
>
content
=
JsonUtils
.
beanCopyDeep
(
data
,
Map
.
class
);
//action的属性无需要返回
...
...
@@ -220,16 +221,16 @@ public class ThousandChatAction {
* 响应发送方消息id等信息
*
* @param reqId
* @param
messageI
d
* @param
imMessageOnlineSen
d
* @param channel
*/
private
void
response
(
String
reqId
,
long
messageI
d
,
Channel
channel
)
{
private
void
response
(
String
reqId
,
ImMessageOnlineSend
imMessageOnlineSen
d
,
Channel
channel
)
{
WsResponse
<
MsgVo
>
responseModel
=
new
WsResponse
<>();
ApiResult
<
Boolean
>
result
=
ApiResult
.
result
(
ApiCode
.
SUCCESS
);
responseModel
.
setCmd
(
WsResponseCmdEnum
.
RES
.
getCmdCode
());
responseModel
.
setCode
(
result
.
getCode
());
responseModel
.
setMsg
(
result
.
getMessage
());
responseModel
.
setData
(
new
MsgVo
(
messageId
));
responseModel
.
setData
(
new
MsgVo
(
imMessageOnlineSend
.
getMsgId
(),
imMessageOnlineSend
.
getPreMessageId
(),
imMessageOnlineSend
.
getCreateTime
()
));
responseModel
.
setReqId
(
reqId
);
// 响应发送方
channelSender
.
sendMsgLocal
((
NioSocketChannel
)
channel
,
responseModel
);
...
...
core/src/main/java/com/wecloud/im/vo/OfflineMsgDto.java
View file @
344d2d5e
...
...
@@ -29,6 +29,9 @@ public class OfflineMsgDto implements Serializable {
@ApiModelProperty
(
"消息id"
)
private
Long
msgId
;
@ApiModelProperty
(
"前一条消息的id"
)
private
Long
preMessageId
;
@ApiModelProperty
(
"创建时间"
)
private
Date
createTime
;
...
...
core/src/main/resources/mapper/ImMsgReadLastestMapper.xml
View file @
344d2d5e
...
...
@@ -35,6 +35,7 @@
<select
id=
"findOfflineMsgs"
resultType=
"com.wecloud.im.thousandchat.param.ThousandOffineMsgDto"
>
<foreach
collection=
"lastestMsgs"
item=
"lastestMsg"
separator=
" union all "
>
select msg.id AS msgId,
msg.pre_message_id AS preMessageId,
msg.create_time,
msg.withdraw_time,
msg.update_date,
...
...
docs/db/feature-cluster增量.sql
View file @
344d2d5e
-- 在f
eature-cluster 2021年12月22日之后,需要执行的的sql增量脚本
-- 在f
eature-cluster 2021年12月22日之后,需要执行的的sql增量脚本
...
...
@@ -210,3 +210,6 @@ ALTER TABLE `im_message` ADD INDEX `idx_sender`(`sender`);
ALTER
TABLE
`im_message`
ADD
INDEX
`idx_create_time`
(
`create_time`
);
ALTER
TABLE
im_message
ADD
COLUMN
`pre_message_id`
bigint
(
20
)
DEFAULT
NULL
COMMENT
'前一条消息的id'
;
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment