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
4b237125
Commit
4b237125
authored
May 18, 2022
by
罗长华
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fixed bug[7943]账号a发起添加好友,b账号点同意,账号a还停留在添加好友页面再次发起添加好友,账号b已同意的状态变成未同意,通讯录好友消失
parent
b9f7367a
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
37 additions
and
26 deletions
+37
-26
core/src/main/java/com/wecloud/im/friend/service/ImFriendService.java
+37
-26
No files found.
core/src/main/java/com/wecloud/im/friend/service/ImFriendService.java
View file @
4b237125
...
...
@@ -108,15 +108,31 @@ public class ImFriendService extends BaseServiceImpl<ImFriendMapper, ImFriend> {
*/
@Transactional
public
Boolean
applyFriend
(
ImClient
currentClient
,
ImClient
friendClient
,
String
friendName
,
String
requestRemark
)
{
//好友关系有维护两条,我和他,他和我
ImFriend
my
=
new
ImFriend
();
my
.
setClientId
(
currentClient
.
getClientId
());
my
.
setClientIdFriend
(
friendClient
.
getClientId
());
my
.
setClientIdClaimer
(
currentClient
.
getClientId
());
my
.
setFriendName
(
friendName
);
my
.
setRequestRemark
(
requestRemark
);
my
.
setState
(
FriendStateEnum
.
UNSURE
.
getCode
());
if
(
getByKey
(
currentClient
.
getClientId
(),
friendClient
.
getClientId
())
!=
null
)
{
ImFriend
my
=
getByKey
(
currentClient
.
getClientId
(),
friendClient
.
getClientId
());
ImFriend
friend
=
getByKey
(
friendClient
.
getClientId
(),
currentClient
.
getClientId
());
if
(
my
!=
null
&&
friend
!=
null
)
{
// 先判断双方是否已经处理过
boolean
myIsApprove
=
my
.
getState
().
equals
(
FriendStateEnum
.
CONFORM
.
getCode
())
||
my
.
getState
().
equals
(
FriendStateEnum
.
REJECT
.
getCode
());
boolean
friendIsApprove
=
friend
.
getState
().
equals
(
FriendStateEnum
.
CONFORM
.
getCode
())
||
friend
.
getState
().
equals
(
FriendStateEnum
.
REJECT
.
getCode
());
if
(
myIsApprove
&&
friendIsApprove
)
{
return
true
;
}
}
if
(
my
==
null
)
{
my
=
new
ImFriend
();
my
.
setClientId
(
currentClient
.
getClientId
());
my
.
setClientIdFriend
(
friendClient
.
getClientId
());
my
.
setClientIdClaimer
(
currentClient
.
getClientId
());
my
.
setFriendName
(
friendName
);
my
.
setRequestRemark
(
requestRemark
);
my
.
setState
(
FriendStateEnum
.
UNSURE
.
getCode
());
my
.
setId
(
SnowflakeUtil
.
getId
());
my
.
setCreateTime
(
new
Date
());
my
.
setUpdateTime
(
new
Date
());
this
.
save
(
my
);
}
else
{
if
(
StringUtils
.
isNotEmpty
(
requestRemark
))
{
my
.
setRequestRemark
(
requestRemark
);
}
...
...
@@ -124,29 +140,24 @@ public class ImFriendService extends BaseServiceImpl<ImFriendMapper, ImFriend> {
my
.
setFriendName
(
friendName
);
}
this
.
updateByKey
(
my
);
}
else
{
my
.
setId
(
SnowflakeUtil
.
getId
());
my
.
setCreateTime
(
new
Date
());
my
.
setUpdateTime
(
new
Date
());
this
.
save
(
my
);
}
ImFriend
friend
=
new
ImFriend
();
friend
.
setClientId
(
friendClient
.
getClientId
());
friend
.
setClientIdFriend
(
currentClient
.
getClientId
());
friend
.
setClientIdClaimer
(
currentClient
.
getClientId
());
friend
.
setRequestRemark
(
requestRemark
);
friend
.
setState
(
FriendStateEnum
.
UNSURE
.
getCode
());
if
(
getByKey
(
friendClient
.
getClientId
(),
currentClient
.
getClientId
())
!=
null
)
{
if
(
StringUtils
.
isNotEmpty
(
requestRemark
))
{
friend
.
setRequestRemark
(
requestRemark
);
}
this
.
updateByKey
(
friend
);
}
else
{
if
(
friend
==
null
)
{
friend
=
new
ImFriend
();
friend
.
setClientId
(
friendClient
.
getClientId
());
friend
.
setClientIdFriend
(
currentClient
.
getClientId
());
friend
.
setClientIdClaimer
(
currentClient
.
getClientId
());
friend
.
setRequestRemark
(
requestRemark
);
friend
.
setState
(
FriendStateEnum
.
UNSURE
.
getCode
());
friend
.
setId
(
SnowflakeUtil
.
getId
());
friend
.
setCreateTime
(
new
Date
());
friend
.
setUpdateTime
(
new
Date
());
this
.
save
(
friend
);
}
else
{
if
(
StringUtils
.
isNotEmpty
(
requestRemark
))
{
friend
.
setRequestRemark
(
requestRemark
);
}
this
.
updateByKey
(
friend
);
}
//既然申请好友了,就删除好友推荐
...
...
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