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
66505dce
Commit
66505dce
authored
Nov 30, 2021
by
hweeeeeei
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
将他人添加到会话
parent
c8eba5d3
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
101 additions
and
0 deletions
+101
-0
common/src/main/java/com/wecloud/im/controller/ImConversationController.java
+25
-0
common/src/main/java/com/wecloud/im/param/add/ImClientToConversation.java
+29
-0
common/src/main/java/com/wecloud/im/service/ImConversationService.java
+11
-0
common/src/main/java/com/wecloud/im/service/impl/ImConversationServiceImpl.java
+36
-0
No files found.
common/src/main/java/com/wecloud/im/controller/ImConversationController.java
View file @
66505dce
package
com
.
wecloud
.
im
.
controller
;
import
com.wecloud.im.param.add.ImClientToConversation
;
import
com.wecloud.im.param.add.ImConversationCreate
;
import
com.wecloud.im.param.add.ImConversationDisplayUpdate
;
import
com.wecloud.im.service.ImConversationService
;
...
...
@@ -34,6 +35,30 @@ public class ImConversationController extends BaseController {
private
ImConversationService
imConversationService
;
/**
* TODO 添加或修改会话拓展字段
*/
/**
* TODO 退出会话
*/
/**
* TODO 将client从会话移除
*/
/**
* 将用户添加进会话
*/
@PostMapping
(
"addClient"
)
@ApiOperation
(
value
=
"将用户添加进会话"
,
notes
=
""
)
public
ApiResult
<
Boolean
>
addClientToConversation
(
@RequestBody
ImClientToConversation
imClientToConversation
)
throws
Exception
{
return
imConversationService
.
ImClientToConversation
(
imClientToConversation
);
}
/**
* 创建会话
*/
@PostMapping
(
"/create"
)
...
...
common/src/main/java/com/wecloud/im/param/add/ImClientToConversation.java
0 → 100644
View file @
66505dce
package
com
.
wecloud
.
im
.
param
.
add
;
import
io.geekidea.springbootplus.framework.common.entity.BaseEntity
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
lombok.experimental.Accessors
;
import
java.util.List
;
/**
* @author wei
* @since 2021年11月30日16:57:03
*/
@Data
@Accessors
(
chain
=
true
)
@EqualsAndHashCode
(
callSuper
=
true
)
@ApiModel
(
value
=
"ImClientToConversation"
)
public
class
ImClientToConversation
extends
BaseEntity
{
private
static
final
long
serialVersionUID
=
1L
;
@ApiModelProperty
(
"会话表id"
)
private
Long
conversationId
;
@ApiModelProperty
(
"可选 邀请加入会话的客户端,如创建单聊,则填入对方的clientId"
)
private
List
<
String
>
clientIds
;
}
common/src/main/java/com/wecloud/im/service/ImConversationService.java
View file @
66505dce
...
...
@@ -4,6 +4,7 @@ import com.fasterxml.jackson.core.JsonProcessingException;
import
com.wecloud.im.entity.ImConversation
;
import
com.wecloud.im.param.ImConversationPageParam
;
import
com.wecloud.im.param.ImConversationQueryVo
;
import
com.wecloud.im.param.add.ImClientToConversation
;
import
com.wecloud.im.param.add.ImConversationCreate
;
import
com.wecloud.im.param.add.ImConversationDisplayUpdate
;
import
com.wecloud.im.vo.ImConversationCreateVo
;
...
...
@@ -40,6 +41,16 @@ public interface ImConversationService extends BaseService<ImConversation> {
*/
ApiResult
<
ImConversationCreateVo
>
createImConversation
(
ImConversationCreate
imConversationCreate
)
throws
JsonProcessingException
;
/**
* 将用户添加进会话
*
* @param imClientToConversation
* @return
* @throws JsonProcessingException
*/
ApiResult
<
Boolean
>
ImClientToConversation
(
ImClientToConversation
imClientToConversation
);
/**
* 修改
*
...
...
common/src/main/java/com/wecloud/im/service/impl/ImConversationServiceImpl.java
View file @
66505dce
...
...
@@ -14,6 +14,7 @@ import com.wecloud.im.entity.ImConversationMembers;
import
com.wecloud.im.mapper.ImConversationMapper
;
import
com.wecloud.im.param.ImConversationPageParam
;
import
com.wecloud.im.param.ImConversationQueryVo
;
import
com.wecloud.im.param.add.ImClientToConversation
;
import
com.wecloud.im.param.add.ImConversationCreate
;
import
com.wecloud.im.param.add.ImConversationDisplayUpdate
;
import
com.wecloud.im.service.ImApplicationService
;
...
...
@@ -206,6 +207,41 @@ public class ImConversationServiceImpl extends BaseServiceImpl<ImConversationMap
return
ApiResult
.
ok
(
imConversationCreateVo
);
}
@Override
public
ApiResult
<
Boolean
>
ImClientToConversation
(
ImClientToConversation
imClientToConversation
)
{
// shiro线程中获取当前token
JwtToken
curentJwtToken
=
JwtUtil
.
getCurentJwtToken
();
// 根据appKey查询application
ImApplication
imApplication
=
imApplicationService
.
getOneByAppKey
(
curentJwtToken
.
getAppKey
());
// 将他人添加到会话
for
(
String
id
:
imClientToConversation
.
getClientIds
())
{
ImClient
client2
=
imClientService
.
getOne
(
new
QueryWrapper
<
ImClient
>().
lambda
()
.
eq
(
ImClient:
:
getFkAppid
,
imApplication
.
getId
())
.
eq
(
ImClient:
:
getClientId
,
id
));
// 判断用户是否已经在该会话
imConversationMembersService
.
getOne
(
new
QueryWrapper
<
ImConversationMembers
>().
lambda
()
.
eq
(
ImConversationMembers:
:
getFkAppid
,
imApplication
.
getId
())
.
eq
(
ImConversationMembers:
:
getFkConversationId
,
imClientToConversation
.
getConversationId
())
.
eq
(
ImConversationMembers:
:
getFkClientId
,
client2
.
getId
())
);
Long
imConversationMembersId2
=
SnowflakeUtil
.
getId
();
ImConversationMembers
imConversationMembers2
=
new
ImConversationMembers
();
imConversationMembers2
.
setId
(
imConversationMembersId2
);
imConversationMembers2
.
setCreateTime
(
new
Date
());
imConversationMembers2
.
setFkAppid
(
imApplication
.
getId
());
imConversationMembers2
.
setFkConversationId
(
imClientToConversation
.
getConversationId
());
imConversationMembers2
.
setFkClientId
(
client2
.
getId
());
imConversationMembersService
.
save
(
imConversationMembers2
);
}
return
ApiResult
.
ok
();
}
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Override
public
boolean
updateImConversation
(
ImConversation
imConversation
)
throws
Exception
{
...
...
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