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
dfa52f16
Commit
dfa52f16
authored
Sep 01, 2022
by
南千昊
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
群内添加好友 加好友数量控制
parent
2b4e9a5e
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
40 additions
and
33 deletions
+40
-33
core/src/main/java/com/wecloud/im/service/impl/ImConversationMembersServiceImpl.java
+40
-33
No files found.
core/src/main/java/com/wecloud/im/service/impl/ImConversationMembersServiceImpl.java
View file @
dfa52f16
package
com
.
wecloud
.
im
.
service
.
impl
;
package
com
.
wecloud
.
im
.
service
.
impl
;
import
io.geekidea.springbootplus.framework.common.api.ApiCode
;
import
io.geekidea.springbootplus.framework.common.api.ApiResult
;
import
io.geekidea.springbootplus.framework.common.exception.BusinessException
;
import
io.geekidea.springbootplus.framework.common.service.impl.BaseServiceImpl
;
import
io.geekidea.springbootplus.framework.core.pagination.PageInfo
;
import
io.geekidea.springbootplus.framework.core.pagination.Paging
;
import
io.geekidea.springbootplus.framework.shiro.util.SecurityUtils
;
import
lombok.extern.slf4j.Slf4j
;
import
java.util.ArrayList
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.Map
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONObject
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.core.metadata.OrderItem
;
import
com.baomidou.mybatisplus.core.metadata.OrderItem
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.google.common.collect.Maps
;
import
com.google.common.collect.Maps
;
import
com.wecloud.im.entity.ImApplication
;
import
com.wecloud.im.entity.*
;
import
com.wecloud.im.entity.ImClient
;
import
com.wecloud.im.entity.ImConversation
;
import
com.wecloud.im.entity.ImConversationMembers
;
import
com.wecloud.im.entity.ImMessageOnlineSend
;
import
com.wecloud.im.friend.param.ImFriendApplyParam
;
import
com.wecloud.im.friend.param.ImFriendApplyParam
;
import
com.wecloud.im.friend.param.ImFriendBaseDto
;
import
com.wecloud.im.friend.service.ImFriendService
;
import
com.wecloud.im.friend.service.ImFriendService
;
import
com.wecloud.im.mapper.ImConversationMapper
;
import
com.wecloud.im.mapper.ImConversationMapper
;
import
com.wecloud.im.mapper.ImConversationMembersMapper
;
import
com.wecloud.im.mapper.ImConversationMembersMapper
;
import
com.wecloud.im.param.ApiImConversationMembersPageParam
;
import
com.wecloud.im.param.*
;
import
com.wecloud.im.param.ApiImConversationMembersQueryVo
;
import
com.wecloud.im.param.ChatSettingParam
;
import
com.wecloud.im.param.ChatSettingTypeEnum
;
import
com.wecloud.im.param.ImConvMemeClientRemarkNameParam
;
import
com.wecloud.im.param.ImConversationMembersPageParam
;
import
com.wecloud.im.param.ImConversationMembersQueryVo
;
import
com.wecloud.im.param.ListConversationMembersParam
;
import
com.wecloud.im.param.SetAdminsParam
;
import
com.wecloud.im.param.add.ImConversationMemAttrUpdate
;
import
com.wecloud.im.param.add.ImConversationMemAttrUpdate
;
import
com.wecloud.im.service.ContextService
;
import
com.wecloud.im.service.ContextService
;
import
com.wecloud.im.service.ImClientService
;
import
com.wecloud.im.service.ImClientService
;
...
@@ -54,6 +26,20 @@ import com.wecloud.im.ws.enums.WsResponseCmdEnum;
...
@@ -54,6 +26,20 @@ 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
com.wecloud.utils.JsonUtils
;
import
com.wecloud.utils.JsonUtils
;
import
io.geekidea.springbootplus.framework.common.api.ApiCode
;
import
io.geekidea.springbootplus.framework.common.api.ApiResult
;
import
io.geekidea.springbootplus.framework.common.exception.BusinessException
;
import
io.geekidea.springbootplus.framework.common.service.impl.BaseServiceImpl
;
import
io.geekidea.springbootplus.framework.core.pagination.PageInfo
;
import
io.geekidea.springbootplus.framework.core.pagination.Paging
;
import
io.geekidea.springbootplus.framework.shiro.util.SecurityUtils
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
java.util.*
;
/**
/**
* 会话成员表 服务实现类
* 会话成员表 服务实现类
...
@@ -318,7 +304,28 @@ public class ImConversationMembersServiceImpl extends BaseServiceImpl<ImConversa
...
@@ -318,7 +304,28 @@ public class ImConversationMembersServiceImpl extends BaseServiceImpl<ImConversa
// 校验通过,调用imFriendService apply方法
// 校验通过,调用imFriendService apply方法
ImClient
initiator
=
imClientService
.
getCacheImClient
(
appId
,
param
.
getClientId
());
ImClient
initiator
=
imClientService
.
getCacheImClient
(
appId
,
param
.
getClientId
());
ImClient
recipient
=
imClientService
.
getCacheImClient
(
appId
,
param
.
getFriendClientId
());
ImClient
recipient
=
imClientService
.
getCacheImClient
(
appId
,
param
.
getFriendClientId
());
String
senderAttributesStr
=
initiator
.
getAttributes
();
JSONObject
senderAttributes
=
new
JSONObject
();
if
(
StringUtils
.
isNotBlank
(
senderAttributesStr
))
{
try
{
senderAttributes
=
JSONObject
.
parseObject
(
senderAttributesStr
);
}
catch
(
Exception
e
)
{
// do nothing is ok
}
}
boolean
isVip
=
Optional
.
ofNullable
(
senderAttributes
.
getBoolean
(
"isVip"
)).
orElse
(
Boolean
.
FALSE
);
List
<
ImFriendBaseDto
>
friends
=
imFriendService
.
getFriends
(
initiator
);
if
(
isVip
){
// 是vip
if
(
friends
.
size
()>=
10
){
throw
new
BusinessException
(
"vip最多只能加10个好友"
);
}
}
else
{
// 不是vip
if
(
friends
.
size
()>=
3
){
throw
new
BusinessException
(
"非vip最多只能加3个好友"
);
}
}
imFriendService
.
applyFriend
(
initiator
,
recipient
,
param
.
getFriendName
(),
imFriendService
.
applyFriend
(
initiator
,
recipient
,
param
.
getFriendName
(),
param
.
getRequestRemark
());
param
.
getRequestRemark
());
...
...
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