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
703ea8a6
Commit
703ea8a6
authored
May 06, 2022
by
罗长华
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
完善sdk群聊消息发送接口
数据库msgType类型使用String
parent
161b1a72
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
18 changed files
with
436 additions
and
61 deletions
+436
-61
core/src/main/java/com/wecloud/im/action/NormalChatAction.java
+1
-1
core/src/main/java/com/wecloud/im/chatroom/action/ChatRoomAction.java
+16
-14
core/src/main/java/com/wecloud/im/controller/ImConversationMembersController.java
+14
-0
core/src/main/java/com/wecloud/im/controller/ImMessageController.java
+30
-1
core/src/main/java/com/wecloud/im/entity/ImMessage.java
+6
-4
core/src/main/java/com/wecloud/im/entity/ImMessageOnlineSend.java
+4
-4
core/src/main/java/com/wecloud/im/param/GroupChatMessageParam.java
+56
-0
core/src/main/java/com/wecloud/im/param/GroupChatStatusMessageParam.java
+56
-0
core/src/main/java/com/wecloud/im/param/PrivateChatMessageParam.java
+79
-0
core/src/main/java/com/wecloud/im/param/PrivateChatStatusMessageParam.java
+56
-0
core/src/main/java/com/wecloud/im/param/PushExtParam.java
+42
-0
core/src/main/java/com/wecloud/im/service/ImMessageService.java
+38
-0
core/src/main/java/com/wecloud/im/service/impl/ImConversationMembersServiceImpl.java
+1
-1
core/src/main/java/com/wecloud/im/service/impl/ImConversationServiceImpl.java
+0
-0
core/src/main/java/com/wecloud/im/service/impl/ImInboxServiceImpl.java
+2
-2
core/src/main/java/com/wecloud/im/service/impl/ImMessageServiceImpl.java
+0
-0
core/src/main/java/com/wecloud/im/thousandchat/action/ThousandChatAction.java
+17
-18
core/src/main/java/com/wecloud/im/thousandchat/service/ThousandChatService.java
+18
-16
No files found.
core/src/main/java/com/wecloud/im/action/NormalChatAction.java
View file @
703ea8a6
...
@@ -226,7 +226,7 @@ public class NormalChatAction {
...
@@ -226,7 +226,7 @@ public class NormalChatAction {
imMessageOnlineSend
.
setWithdraw
(
imMessage
.
getWithdraw
());
imMessageOnlineSend
.
setWithdraw
(
imMessage
.
getWithdraw
());
imMessageOnlineSend
.
setEvent
(
imMessage
.
getEvent
());
imMessageOnlineSend
.
setEvent
(
imMessage
.
getEvent
());
imMessageOnlineSend
.
setSystemFlag
(
imMessage
.
getSystemFlag
());
imMessageOnlineSend
.
setSystemFlag
(
imMessage
.
getSystemFlag
());
imMessageOnlineSend
.
setType
(
data
.
getType
());
imMessageOnlineSend
.
setType
(
data
.
getType
()
+
""
);
imMessageOnlineSend
.
setAt
(
imMessage
.
getAt
());
imMessageOnlineSend
.
setAt
(
imMessage
.
getAt
());
return
imMessageOnlineSend
;
return
imMessageOnlineSend
;
}
}
...
...
core/src/main/java/com/wecloud/im/chatroom/action/ChatRoomAction.java
View file @
703ea8a6
package
com
.
wecloud
.
im
.
chatroom
.
action
;
package
com
.
wecloud
.
im
.
chatroom
.
action
;
import
io.geekidea.springbootplus.framework.common.api.ApiCode
;
import
io.geekidea.springbootplus.framework.common.api.ApiResult
;
import
io.netty.channel.Channel
;
import
io.netty.channel.socket.nio.NioSocketChannel
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
lombok.extern.slf4j.Slf4j
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.Map
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Component
;
import
com.wecloud.dispatch.annotation.ActionMapping
;
import
com.wecloud.dispatch.annotation.ActionMapping
;
import
com.wecloud.dispatch.common.BaseRequest
;
import
com.wecloud.dispatch.common.BaseRequest
;
import
com.wecloud.dispatch.extend.ActionRequest
;
import
com.wecloud.dispatch.extend.ActionRequest
;
...
@@ -18,19 +33,6 @@ import com.wecloud.im.ws.model.WsResponse;
...
@@ -18,19 +33,6 @@ import com.wecloud.im.ws.model.WsResponse;
import
com.wecloud.im.ws.sender.ChannelSender
;
import
com.wecloud.im.ws.sender.ChannelSender
;
import
com.wecloud.utils.JsonUtils
;
import
com.wecloud.utils.JsonUtils
;
import
com.wecloud.utils.SnowflakeUtil
;
import
com.wecloud.utils.SnowflakeUtil
;
import
io.geekidea.springbootplus.framework.common.api.ApiCode
;
import
io.geekidea.springbootplus.framework.common.api.ApiResult
;
import
io.netty.channel.Channel
;
import
io.netty.channel.socket.nio.NioSocketChannel
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Component
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.Map
;
/**
/**
* @Author wenzhida
* @Author wenzhida
...
@@ -134,7 +136,7 @@ public class ChatRoomAction {
...
@@ -134,7 +136,7 @@ public class ChatRoomAction {
imMessageOnlineSend
.
setWithdraw
(
false
);
imMessageOnlineSend
.
setWithdraw
(
false
);
imMessageOnlineSend
.
setEvent
(
false
);
imMessageOnlineSend
.
setEvent
(
false
);
imMessageOnlineSend
.
setSystemFlag
(
false
);
imMessageOnlineSend
.
setSystemFlag
(
false
);
imMessageOnlineSend
.
setType
(
data
.
getType
());
imMessageOnlineSend
.
setType
(
data
.
getType
()
+
""
);
imMessageOnlineSend
.
setAt
(
data
.
getAt
());
imMessageOnlineSend
.
setAt
(
data
.
getAt
());
return
imMessageOnlineSend
;
return
imMessageOnlineSend
;
}
}
...
...
core/src/main/java/com/wecloud/im/controller/ImConversationMembersController.java
View file @
703ea8a6
...
@@ -117,5 +117,19 @@ public class ImConversationMembersController extends BaseController {
...
@@ -117,5 +117,19 @@ public class ImConversationMembersController extends BaseController {
return
ApiResult
.
ok
(
imConversationMembersService
.
addUser
(
param
));
return
ApiResult
.
ok
(
imConversationMembersService
.
addUser
(
param
));
}
}
/**
*
* @Author luozh
* @Date 2022年04月29日 03:59:54
* @param
* @Return
*/
@ApiOperation
(
value
=
"消息发布"
)
@PostMapping
(
"/publish"
)
public
ApiResult
<
Boolean
>
publish
()
{
return
null
;
}
}
}
core/src/main/java/com/wecloud/im/controller/ImMessageController.java
View file @
703ea8a6
...
@@ -21,8 +21,12 @@ import org.springframework.web.bind.annotation.RequestMapping;
...
@@ -21,8 +21,12 @@ import org.springframework.web.bind.annotation.RequestMapping;
import
org.springframework.web.bind.annotation.RestController
;
import
org.springframework.web.bind.annotation.RestController
;
import
com.wecloud.im.param.GetReadersParam
;
import
com.wecloud.im.param.GetReadersParam
;
import
com.wecloud.im.param.GroupChatMessageParam
;
import
com.wecloud.im.param.GroupChatStatusMessageParam
;
import
com.wecloud.im.param.ImHistoryMessagePageParam
;
import
com.wecloud.im.param.ImHistoryMessagePageParam
;
import
com.wecloud.im.param.MsgDeleteParam
;
import
com.wecloud.im.param.MsgDeleteParam
;
import
com.wecloud.im.param.PrivateChatMessageParam
;
import
com.wecloud.im.param.PrivateChatStatusMessageParam
;
import
com.wecloud.im.param.add.ImMsgRecall
;
import
com.wecloud.im.param.add.ImMsgRecall
;
import
com.wecloud.im.param.add.ImMsgUpdate
;
import
com.wecloud.im.param.add.ImMsgUpdate
;
import
com.wecloud.im.service.ImMessageService
;
import
com.wecloud.im.service.ImMessageService
;
...
@@ -60,7 +64,7 @@ public class ImMessageController extends BaseController {
...
@@ -60,7 +64,7 @@ public class ImMessageController extends BaseController {
@PostMapping
(
"/delete"
)
@PostMapping
(
"/delete"
)
@ApiOperation
(
value
=
"删除消息"
,
notes
=
"单条消息与批量消息删除共用"
)
@ApiOperation
(
value
=
"删除消息"
,
notes
=
"单条消息与批量消息删除共用"
)
public
ApiResult
<
Boolean
>
deleteMsg
(
@RequestBody
MsgDeleteParam
param
)
{
public
ApiResult
<
Boolean
>
deleteMsg
(
@RequestBody
MsgDeleteParam
param
)
{
if
(
param
==
null
)
{
if
(
param
==
null
)
{
return
ApiResult
.
fail
(
ApiCode
.
PARAMETER_EXCEPTION
,
null
);
return
ApiResult
.
fail
(
ApiCode
.
PARAMETER_EXCEPTION
,
null
);
}
}
if
(
CollectionUtils
.
isEmpty
(
param
.
getMsgIds
()))
{
if
(
CollectionUtils
.
isEmpty
(
param
.
getMsgIds
()))
{
...
@@ -109,5 +113,30 @@ public class ImMessageController extends BaseController {
...
@@ -109,5 +113,30 @@ public class ImMessageController extends BaseController {
return
ApiResult
.
ok
(
readerList
);
return
ApiResult
.
ok
(
readerList
);
}
}
@ApiOperation
(
"发布群聊消息"
)
@PostMapping
(
"/group/publish"
)
public
ApiResult
<
Boolean
>
groupMessagePublish
(
@RequestBody
@Validated
GroupChatMessageParam
param
)
{
// 参数校验
return
ApiResult
.
ok
(
imMessageService
.
groupMessagePublish
(
param
));
}
@ApiOperation
(
"发布群聊状态消息"
)
@PostMapping
(
"/group/status/publish"
)
public
ApiResult
<
Boolean
>
groupStatusMessagePublish
(
@RequestBody
@Validated
GroupChatStatusMessageParam
param
)
{
return
ApiResult
.
ok
(
imMessageService
.
groupStatusMessagePublish
(
param
));
}
@ApiOperation
(
"发布单聊消息"
)
@PostMapping
(
"/private/publish"
)
public
ApiResult
<
Boolean
>
privateMessagePublish
(
@RequestBody
@Validated
PrivateChatMessageParam
param
)
{
return
ApiResult
.
ok
(
imMessageService
.
privateMessagePublish
(
param
));
}
@ApiOperation
(
"发布单聊状态消息"
)
@PostMapping
(
"/private/status/publish"
)
public
ApiResult
<
Boolean
>
privateStatusMessagePublish
(
@RequestBody
@Validated
PrivateChatStatusMessageParam
param
)
{
return
ApiResult
.
ok
(
imMessageService
.
privateStatusMessagePublish
(
param
));
}
}
}
core/src/main/java/com/wecloud/im/entity/ImMessage.java
View file @
703ea8a6
package
com
.
wecloud
.
im
.
entity
;
package
com
.
wecloud
.
im
.
entity
;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
io.geekidea.springbootplus.framework.common.entity.BaseEntity
;
import
io.geekidea.springbootplus.framework.common.entity.BaseEntity
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
io.swagger.annotations.ApiModelProperty
;
...
@@ -9,9 +7,13 @@ import lombok.Data;
...
@@ -9,9 +7,13 @@ import lombok.Data;
import
lombok.EqualsAndHashCode
;
import
lombok.EqualsAndHashCode
;
import
lombok.experimental.Accessors
;
import
lombok.experimental.Accessors
;
import
javax.validation.constraints.NotNull
;
import
java.util.Date
;
import
java.util.Date
;
import
javax.validation.constraints.NotNull
;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
com.baomidou.mybatisplus.annotation.TableId
;
/**
/**
* 消息存储表
* 消息存储表
*
*
...
@@ -74,7 +76,7 @@ public class ImMessage extends BaseEntity {
...
@@ -74,7 +76,7 @@ public class ImMessage extends BaseEntity {
private
Long
fkConversationId
;
private
Long
fkConversationId
;
@ApiModelProperty
(
"消息类型"
)
@ApiModelProperty
(
"消息类型"
)
private
Integer
msgType
;
private
String
msgType
;
@ApiModelProperty
(
"是否删除 1-未删除 2-已删除"
)
@ApiModelProperty
(
"是否删除 1-未删除 2-已删除"
)
private
Integer
isDelete
;
private
Integer
isDelete
;
...
...
core/src/main/java/com/wecloud/im/entity/ImMessageOnlineSend.java
View file @
703ea8a6
...
@@ -7,9 +7,9 @@ import lombok.Data;
...
@@ -7,9 +7,9 @@ import lombok.Data;
import
lombok.EqualsAndHashCode
;
import
lombok.EqualsAndHashCode
;
import
lombok.experimental.Accessors
;
import
lombok.experimental.Accessors
;
import
javax.validation.constraints.NotNull
;
import
java.util.Date
;
import
java.util.Date
;
import
java.util.Map
;
import
javax.validation.constraints.NotNull
;
/**
/**
* 消息在线推送
* 消息在线推送
...
@@ -29,7 +29,7 @@ public class ImMessageOnlineSend extends BaseEntity {
...
@@ -29,7 +29,7 @@ public class ImMessageOnlineSend extends BaseEntity {
* @see com.wecloud.im.ws.enums.MsgTypeEnum
* @see com.wecloud.im.ws.enums.MsgTypeEnum
*/
*/
@ApiModelProperty
(
"消息类型"
)
@ApiModelProperty
(
"消息类型"
)
private
Integer
type
;
private
String
type
;
@NotNull
(
message
=
"消息id不能为空"
)
@NotNull
(
message
=
"消息id不能为空"
)
@ApiModelProperty
(
"消息id"
)
@ApiModelProperty
(
"消息id"
)
...
@@ -45,7 +45,7 @@ public class ImMessageOnlineSend extends BaseEntity {
...
@@ -45,7 +45,7 @@ public class ImMessageOnlineSend extends BaseEntity {
private
String
sender
;
private
String
sender
;
@ApiModelProperty
(
"内容"
)
@ApiModelProperty
(
"内容"
)
private
Map
content
;
private
Object
content
;
@ApiModelProperty
(
"0未撤回; 1已撤回"
)
@ApiModelProperty
(
"0未撤回; 1已撤回"
)
private
Boolean
withdraw
;
private
Boolean
withdraw
;
...
...
core/src/main/java/com/wecloud/im/param/GroupChatMessageParam.java
0 → 100644
View file @
703ea8a6
package
com
.
wecloud
.
im
.
param
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
javax.validation.constraints.NotEmpty
;
/**
* 发送群聊消息入参
* @Author luozh
* @Date 2022年04月29日 16:00
* @Version 1.0
*/
@Data
public
class
GroupChatMessageParam
{
@NotEmpty
(
message
=
"发送人id不能为空"
)
@ApiModelProperty
(
"发送人id"
)
private
String
fromUserId
;
@NotEmpty
(
message
=
"接收群id不能为空"
)
@ApiModelProperty
(
"接收群id"
)
private
String
toGroupIds
;
@ApiModelProperty
(
"指定一个或多个用户"
)
private
String
toUserIds
;
@NotEmpty
(
message
=
"消息类型不能为空"
)
@ApiModelProperty
(
"消息类型"
)
private
String
messageType
;
@NotEmpty
(
message
=
"消息不能为空"
)
@ApiModelProperty
(
"消息"
)
private
String
content
;
@ApiModelProperty
(
"指定离线推送通知中的推送内容"
)
private
String
pushContent
;
@ApiModelProperty
(
"是否包含发送用户"
)
private
Boolean
includeSender
;
@ApiModelProperty
(
"是否存储此条消息"
)
private
Boolean
persisted
;
@ApiModelProperty
(
"是否为@消息"
)
private
Boolean
mentioned
;
@ApiModelProperty
(
"是否为静默消息"
)
private
Boolean
silent
;
@ApiModelProperty
(
"推送配置"
)
private
PushExtParam
pushExt
;
}
core/src/main/java/com/wecloud/im/param/GroupChatStatusMessageParam.java
0 → 100644
View file @
703ea8a6
package
com
.
wecloud
.
im
.
param
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
javax.validation.constraints.NotEmpty
;
/**
*
* @Author luozh
* @Date 2022年05月05日 10:08
* @Version 1.0
*/
@Data
public
class
GroupChatStatusMessageParam
{
/**
* 发送人客户端id
*/
@NotEmpty
(
message
=
"发送人id不能为空"
)
@ApiModelProperty
(
"发送人id"
)
private
String
fromUserId
;
/**
* 接收群id
*/
@NotEmpty
(
message
=
"接收群id不能为空"
)
@ApiModelProperty
(
"接收群id"
)
private
String
toGroupIds
;
/**
* 消息类型
*/
@NotEmpty
(
message
=
"消息类型不能为空"
)
@ApiModelProperty
(
"消息类型"
)
private
String
messageType
;
/**
* 消息
*/
@NotEmpty
(
message
=
"消息不能为空"
)
@ApiModelProperty
(
"消息"
)
private
String
content
;
/**
* 是否过滤黑名单
*/
@ApiModelProperty
(
"是否过滤黑名单"
)
private
Boolean
includeBlacklist
;
/**
* 发送用户是否接收
*/
@ApiModelProperty
(
"发送用户是否接收"
)
private
Boolean
includeSender
;
}
core/src/main/java/com/wecloud/im/param/PrivateChatMessageParam.java
0 → 100644
View file @
703ea8a6
package
com
.
wecloud
.
im
.
param
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
javax.validation.constraints.NotEmpty
;
/**
* 单聊消息
* @Author luozh
* @Date 2022年05月05日 11:49
* @Version 1.0
*/
@Data
public
class
PrivateChatMessageParam
{
/**
* 发送人id
*/
@NotEmpty
(
message
=
"发送人id不能为空"
)
@ApiModelProperty
(
"发送人id"
)
private
String
fromUserId
;
/**
* 指定一个或多个用户
*/
@NotEmpty
(
message
=
"接收用户id不能为空"
)
@ApiModelProperty
(
"接收用户id"
)
private
String
toUserIds
;
/**
* 消息类型
*/
@NotEmpty
(
message
=
"消息类型不能为空"
)
@ApiModelProperty
(
"消息类型"
)
private
String
messageType
;
/**
* 消息
*/
@NotEmpty
(
message
=
"消息不能为空"
)
@ApiModelProperty
(
"消息"
)
private
String
content
;
/**
* 指定离线推送通知中的推送内容
*/
@ApiModelProperty
(
"指定离线推送通知中的推送内容"
)
private
String
pushContent
;
/**
* 是否包含发送用户
*/
@ApiModelProperty
(
"是否包含发送用户"
)
private
Boolean
includeSender
;
/**
* 是否过滤黑名单
*/
@ApiModelProperty
(
"是否过滤黑名单"
)
private
Boolean
includeBlacklist
;
/**
* 是否存储此条消息
*/
@ApiModelProperty
(
"是否存储此条消息"
)
private
Boolean
persisted
;
/**
* 是否为静默消息
*/
@ApiModelProperty
(
"是否为静默消息"
)
private
Boolean
silent
;
/**
* 推送拓展配置
*/
@ApiModelProperty
(
"推送拓展配置"
)
private
PushExtParam
pushExt
;
}
core/src/main/java/com/wecloud/im/param/PrivateChatStatusMessageParam.java
0 → 100644
View file @
703ea8a6
package
com
.
wecloud
.
im
.
param
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
javax.validation.constraints.NotEmpty
;
/**
*
* @Author luozh
* @Date 2022年05月05日 10:08
* @Version 1.0
*/
@Data
public
class
PrivateChatStatusMessageParam
{
/**
* 发送人客户端id
*/
@NotEmpty
(
message
=
"发送人id不能为空"
)
@ApiModelProperty
(
"发送人id"
)
private
String
fromUserId
;
/**
* 接收群id
*/
@NotEmpty
(
message
=
"接收用户id不能为空"
)
@ApiModelProperty
(
"接收用户id"
)
private
String
toUserIds
;
/**
* 消息类型
*/
@NotEmpty
(
message
=
"消息类型不能为空"
)
@ApiModelProperty
(
"消息类型"
)
private
String
messageType
;
/**
* 消息
*/
@NotEmpty
(
message
=
"消息不能为空"
)
@ApiModelProperty
(
"消息"
)
private
String
content
;
/**
* 是否过滤黑名单
*/
@ApiModelProperty
(
"是否过滤黑名单"
)
private
Boolean
includeBlacklist
;
/**
* 发送用户是否接收
*/
@ApiModelProperty
(
"发送用户是否接收"
)
private
Boolean
includeSender
;
}
core/src/main/java/com/wecloud/im/param/PushExtParam.java
0 → 100644
View file @
703ea8a6
package
com
.
wecloud
.
im
.
param
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
/**
* 推送拓展参数
* @Author luozh
* @Date 2022年04月29日 17:07
* @Version 1.0
*/
@Data
public
class
PushExtParam
{
@ApiModelProperty
(
"通知栏显示主题"
)
private
String
title
;
@ApiModelProperty
(
"按厂商设置不同推送属性。支持的推送通道值为 `MI`(小米)、`HW`(华为)、`OPPO`、`VIVO`"
)
private
String
pushChannel
;
@ApiModelProperty
(
"通知渠道的 ID"
)
private
String
channelId
;
@ApiModelProperty
(
"华为通知栏消息优先级,取值 NORMAL、LOW,默认为 NORMAL 重要消息"
)
private
String
hwPriority
;
@ApiModelProperty
(
"华为推送自定义的通知栏消息右侧大图标 URL,如果不设置,则不展示通知栏右侧图标"
)
private
String
hwImage
;
@ApiModelProperty
(
"小米推送自定义的通知栏消息右侧图标 URL"
)
private
String
miLargeIconUri
;
@ApiModelProperty
(
"vivo 推送通道类型。0 为运营消息、1 为系统消息"
)
private
String
vivoChannelType
;
@ApiModelProperty
(
"iOS 平台通知栏分组 ID"
)
private
String
iosGroupId
;
@ApiModelProperty
(
"iOS 平台"
)
private
String
iosApnsCollapseId
;
}
core/src/main/java/com/wecloud/im/service/ImMessageService.java
View file @
703ea8a6
...
@@ -13,9 +13,13 @@ import com.wecloud.im.entity.ImClient;
...
@@ -13,9 +13,13 @@ import com.wecloud.im.entity.ImClient;
import
com.wecloud.im.entity.ImMessage
;
import
com.wecloud.im.entity.ImMessage
;
import
com.wecloud.im.param.ChatContentVo
;
import
com.wecloud.im.param.ChatContentVo
;
import
com.wecloud.im.param.GetReadersParam
;
import
com.wecloud.im.param.GetReadersParam
;
import
com.wecloud.im.param.GroupChatMessageParam
;
import
com.wecloud.im.param.GroupChatStatusMessageParam
;
import
com.wecloud.im.param.ImClientSimpleDto
;
import
com.wecloud.im.param.ImClientSimpleDto
;
import
com.wecloud.im.param.ImHistoryMessagePageParam
;
import
com.wecloud.im.param.ImHistoryMessagePageParam
;
import
com.wecloud.im.param.MsgDeleteParam
;
import
com.wecloud.im.param.MsgDeleteParam
;
import
com.wecloud.im.param.PrivateChatMessageParam
;
import
com.wecloud.im.param.PrivateChatStatusMessageParam
;
import
com.wecloud.im.param.add.ImMsgRecall
;
import
com.wecloud.im.param.add.ImMsgRecall
;
import
com.wecloud.im.param.add.ImMsgSendToOnlineClient
;
import
com.wecloud.im.param.add.ImMsgSendToOnlineClient
;
import
com.wecloud.im.param.add.ImMsgUpdate
;
import
com.wecloud.im.param.add.ImMsgUpdate
;
...
@@ -132,4 +136,38 @@ public interface ImMessageService extends BaseService<ImMessage> {
...
@@ -132,4 +136,38 @@ public interface ImMessageService extends BaseService<ImMessage> {
*/
*/
ReaderList
getReaders
(
GetReadersParam
param
);
ReaderList
getReaders
(
GetReadersParam
param
);
/**
* 发送群聊消息
* @param param
* @return
*/
Boolean
groupMessagePublish
(
GroupChatMessageParam
param
);
/**
* 发送群聊状态消息
* @Author luozh
* @Date 2022年05月05日 02:32:58
* @param param
* @Return
*/
Boolean
groupStatusMessagePublish
(
GroupChatStatusMessageParam
param
);
/**
* 发送单聊消息
* @Author luozh
* @Date 2022年05月05日 02:33:26
* @param param
* @Return
*/
Boolean
privateMessagePublish
(
PrivateChatMessageParam
param
);
/**
* 发送单聊状态消息
* @Author luozh
* @Date 2022年05月05日 02:33:56
* @param param
* @Return
*/
Boolean
privateStatusMessagePublish
(
PrivateChatStatusMessageParam
param
);
}
}
core/src/main/java/com/wecloud/im/service/impl/ImConversationMembersServiceImpl.java
View file @
703ea8a6
...
@@ -136,7 +136,7 @@ public class ImConversationMembersServiceImpl extends BaseServiceImpl<ImConversa
...
@@ -136,7 +136,7 @@ public class ImConversationMembersServiceImpl extends BaseServiceImpl<ImConversa
// 封装响应的实体
// 封装响应的实体
ImMessageOnlineSend
imMessageOnlineSend
=
new
ImMessageOnlineSend
();
ImMessageOnlineSend
imMessageOnlineSend
=
new
ImMessageOnlineSend
();
imMessageOnlineSend
.
setCreateTime
(
new
Date
());
imMessageOnlineSend
.
setCreateTime
(
new
Date
());
imMessageOnlineSend
.
setType
(
MsgTypeEnum
.
CONVERSATION_MEMBER_NAME_MODIFY
.
getUriCode
());
imMessageOnlineSend
.
setType
(
MsgTypeEnum
.
CONVERSATION_MEMBER_NAME_MODIFY
.
getUriCode
()
+
""
);
imMessageOnlineSend
.
setSender
(
currentClient
.
getClientId
());
imMessageOnlineSend
.
setSender
(
currentClient
.
getClientId
());
Map
<
String
,
Object
>
content
=
Maps
.
newHashMap
();
Map
<
String
,
Object
>
content
=
Maps
.
newHashMap
();
content
.
put
(
"operator"
,
currentClient
.
getClientId
());
content
.
put
(
"operator"
,
currentClient
.
getClientId
());
...
...
core/src/main/java/com/wecloud/im/service/impl/ImConversationServiceImpl.java
View file @
703ea8a6
This diff is collapsed.
Click to expand it.
core/src/main/java/com/wecloud/im/service/impl/ImInboxServiceImpl.java
View file @
703ea8a6
...
@@ -206,7 +206,7 @@ public class ImInboxServiceImpl extends BaseServiceImpl<ImInboxMapper, ImInbox>
...
@@ -206,7 +206,7 @@ public class ImInboxServiceImpl extends BaseServiceImpl<ImInboxMapper, ImInbox>
// 消息实体
// 消息实体
ImMessage
imMessage
=
new
ImMessage
();
ImMessage
imMessage
=
new
ImMessage
();
imMessage
.
setId
(
msgId
);
imMessage
.
setId
(
msgId
);
imMessage
.
setMsgType
(
msgTypeEnum
.
getUriCode
());
imMessage
.
setMsgType
(
msgTypeEnum
.
getUriCode
()
+
""
);
imMessage
.
setCreateTime
(
new
Date
());
imMessage
.
setCreateTime
(
new
Date
());
imMessage
.
setFkAppid
(
currentClient
.
getFkAppid
());
imMessage
.
setFkAppid
(
currentClient
.
getFkAppid
());
imMessage
.
setSender
(
currentClient
.
getId
());
imMessage
.
setSender
(
currentClient
.
getId
());
...
@@ -219,7 +219,7 @@ public class ImInboxServiceImpl extends BaseServiceImpl<ImInboxMapper, ImInbox>
...
@@ -219,7 +219,7 @@ public class ImInboxServiceImpl extends BaseServiceImpl<ImInboxMapper, ImInbox>
// 封装响应的实体
// 封装响应的实体
ImMessageOnlineSend
imMessageOnlineSend
=
new
ImMessageOnlineSend
();
ImMessageOnlineSend
imMessageOnlineSend
=
new
ImMessageOnlineSend
();
BeanUtils
.
copyProperties
(
imMessage
,
imMessageOnlineSend
);
BeanUtils
.
copyProperties
(
imMessage
,
imMessageOnlineSend
);
imMessageOnlineSend
.
setType
(
msgTypeEnum
.
getUriCode
());
imMessageOnlineSend
.
setType
(
msgTypeEnum
.
getUriCode
()
+
""
);
imMessageOnlineSend
.
setMsgId
(
imMessage
.
getId
());
imMessageOnlineSend
.
setMsgId
(
imMessage
.
getId
());
imMessageOnlineSend
.
setCreateTime
(
new
Date
());
imMessageOnlineSend
.
setCreateTime
(
new
Date
());
imMessageOnlineSend
.
setSender
(
currentClient
.
getClientId
());
imMessageOnlineSend
.
setSender
(
currentClient
.
getClientId
());
...
...
core/src/main/java/com/wecloud/im/service/impl/ImMessageServiceImpl.java
View file @
703ea8a6
This diff is collapsed.
Click to expand it.
core/src/main/java/com/wecloud/im/thousandchat/action/ThousandChatAction.java
View file @
703ea8a6
package
com
.
wecloud
.
im
.
thousandchat
.
action
;
package
com
.
wecloud
.
im
.
thousandchat
.
action
;
import
io.geekidea.springbootplus.framework.common.api.ApiCode
;
import
io.geekidea.springbootplus.framework.common.api.ApiResult
;
import
io.netty.channel.Channel
;
import
io.netty.channel.socket.nio.NioSocketChannel
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
lombok.extern.slf4j.Slf4j
;
import
java.util.List
;
import
java.util.Map
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Component
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.wecloud.dispatch.annotation.ActionMapping
;
import
com.wecloud.dispatch.annotation.ActionMapping
;
import
com.wecloud.dispatch.common.BaseRequest
;
import
com.wecloud.dispatch.common.BaseRequest
;
...
@@ -29,23 +45,6 @@ import com.wecloud.pushserver.client.model.constant.MqConstant;
...
@@ -29,23 +45,6 @@ import com.wecloud.pushserver.client.model.constant.MqConstant;
import
com.wecloud.pushserver.client.model.dto.PushDTO
;
import
com.wecloud.pushserver.client.model.dto.PushDTO
;
import
com.wecloud.utils.JsonUtils
;
import
com.wecloud.utils.JsonUtils
;
import
com.wecloud.utils.SnowflakeUtil
;
import
com.wecloud.utils.SnowflakeUtil
;
import
io.geekidea.springbootplus.framework.common.api.ApiCode
;
import
io.geekidea.springbootplus.framework.common.api.ApiResult
;
import
io.netty.channel.Channel
;
import
io.netty.channel.socket.nio.NioSocketChannel
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Component
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RestController
;
import
java.util.List
;
import
java.util.Map
;
/**
/**
* @Description 处理Cmd请求
* @Description 处理Cmd请求
...
@@ -212,7 +211,7 @@ public class ThousandChatAction {
...
@@ -212,7 +211,7 @@ public class ThousandChatAction {
imMessageOnlineSend
.
setWithdraw
(
imMessage
.
getWithdraw
());
imMessageOnlineSend
.
setWithdraw
(
imMessage
.
getWithdraw
());
imMessageOnlineSend
.
setEvent
(
imMessage
.
getEvent
());
imMessageOnlineSend
.
setEvent
(
imMessage
.
getEvent
());
imMessageOnlineSend
.
setSystemFlag
(
imMessage
.
getSystemFlag
());
imMessageOnlineSend
.
setSystemFlag
(
imMessage
.
getSystemFlag
());
imMessageOnlineSend
.
setType
(
data
.
getType
());
imMessageOnlineSend
.
setType
(
data
.
getType
()
+
""
);
imMessageOnlineSend
.
setAt
(
imMessage
.
getAt
());
imMessageOnlineSend
.
setAt
(
imMessage
.
getAt
());
return
imMessageOnlineSend
;
return
imMessageOnlineSend
;
}
}
...
...
core/src/main/java/com/wecloud/im/thousandchat/service/ThousandChatService.java
View file @
703ea8a6
package
com
.
wecloud
.
im
.
thousandchat
.
service
;
package
com
.
wecloud
.
im
.
thousandchat
.
service
;
import
io.geekidea.springbootplus.framework.common.api.ApiCode
;
import
io.geekidea.springbootplus.framework.common.api.ApiResult
;
import
io.geekidea.springbootplus.framework.common.service.impl.BaseServiceImpl
;
import
lombok.extern.slf4j.Slf4j
;
import
java.util.ArrayList
;
import
java.util.Date
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.stream.Collectors
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.lang3.BooleanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
com.wecloud.im.entity.ImClient
;
import
com.wecloud.im.entity.ImClient
;
import
com.wecloud.im.entity.ImConversation
;
import
com.wecloud.im.entity.ImConversation
;
import
com.wecloud.im.entity.ImMessage
;
import
com.wecloud.im.entity.ImMessage
;
...
@@ -18,22 +35,7 @@ import com.wecloud.im.ws.enums.MsgTypeEnum;
...
@@ -18,22 +35,7 @@ import com.wecloud.im.ws.enums.MsgTypeEnum;
import
com.wecloud.im.ws.enums.WsResponseCmdEnum
;
import
com.wecloud.im.ws.enums.WsResponseCmdEnum
;
import
com.wecloud.im.ws.model.WsResponse
;
import
com.wecloud.im.ws.model.WsResponse
;
import
com.wecloud.im.ws.sender.ChannelSender
;
import
com.wecloud.im.ws.sender.ChannelSender
;
import
io.geekidea.springbootplus.framework.common.api.ApiCode
;
import
io.geekidea.springbootplus.framework.common.api.ApiResult
;
import
io.geekidea.springbootplus.framework.common.service.impl.BaseServiceImpl
;
import
com.wecloud.utils.SnowflakeUtil
;
import
com.wecloud.utils.SnowflakeUtil
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.lang3.BooleanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.util.ArrayList
;
import
java.util.Date
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.stream.Collectors
;
/**
/**
* 消息收件箱表 服务实现类
* 消息收件箱表 服务实现类
...
@@ -191,7 +193,7 @@ public class ThousandChatService extends BaseServiceImpl<ImMsgReadLastestMapper,
...
@@ -191,7 +193,7 @@ public class ThousandChatService extends BaseServiceImpl<ImMsgReadLastestMapper,
// 封装响应的实体
// 封装响应的实体
ImMessageOnlineSend
imMessageOnlineSend
=
new
ImMessageOnlineSend
();
ImMessageOnlineSend
imMessageOnlineSend
=
new
ImMessageOnlineSend
();
imMessageOnlineSend
.
setMsgId
(
lastestMsg
.
getId
());
imMessageOnlineSend
.
setMsgId
(
lastestMsg
.
getId
());
imMessageOnlineSend
.
setType
(
msgTypeEnum
.
getUriCode
());
imMessageOnlineSend
.
setType
(
msgTypeEnum
.
getUriCode
()
+
""
);
imMessageOnlineSend
.
setSender
(
curentClient
.
getClientId
());
imMessageOnlineSend
.
setSender
(
curentClient
.
getClientId
());
imMessageOnlineSend
.
setContent
(
contentMap
);
imMessageOnlineSend
.
setContent
(
contentMap
);
imMessageOnlineSend
.
setConversationId
(
lastestMsg
.
getFkConversationId
());
imMessageOnlineSend
.
setConversationId
(
lastestMsg
.
getFkConversationId
());
...
...
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