Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
H
haoban-manage3.0
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
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
haoban3.0
haoban-manage3.0
Commits
cec971d2
Commit
cec971d2
authored
Dec 01, 2022
by
徐高华
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
群同步
parent
01990c17
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
59 additions
and
32 deletions
+59
-32
GroupChatMapper.java
...aoban/manage/service/dao/mapper/chat/GroupChatMapper.java
+2
-0
GroupChatUserMapper.java
...n/manage/service/dao/mapper/chat/GroupChatUserMapper.java
+7
-1
GroupChatServiceImpl.java
...anage/service/service/chat/impl/GroupChatServiceImpl.java
+20
-1
GroupChatUserMapper.xml
...ce/src/main/resources/mapper/chat/GroupChatUserMapper.xml
+30
-30
No files found.
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/dao/mapper/chat/GroupChatMapper.java
View file @
cec971d2
...
...
@@ -23,6 +23,8 @@ public interface GroupChatMapper {
public
int
update
(
TabGroupChat
tabHaobanGroupChat
);
public
int
updateData
()
;
// 更新群状态
public
int
updateChatStatus
(
@Param
(
"groupChatId"
)
Long
groupChatId
,
@Param
(
"chatStatus"
)
int
chatStatus
)
;
...
...
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/dao/mapper/chat/GroupChatUserMapper.java
View file @
cec971d2
package
com
.
gic
.
haoban
.
manage
.
service
.
dao
.
mapper
.
chat
;
import
java.util.List
;
import
org.apache.ibatis.annotations.Param
;
import
com.gic.haoban.manage.service.entity.chat.TabGroupChatUser
;
...
...
@@ -17,7 +19,7 @@ public interface GroupChatUserMapper {
public
int
insert
(
TabGroupChatUser
tabHaobanGroupChatUser
);
public
int
delete
ByPrimaryKey
(
Long
chatUserId
);
public
int
delete
(
@Param
(
"idList"
)
List
<
Long
>
chatUserIdList
);
public
int
update
(
TabGroupChatUser
tabHaobanGroupChatUser
);
...
...
@@ -26,4 +28,7 @@ public interface GroupChatUserMapper {
public
TabGroupChatUser
selectByUserIdAndChatId
(
@Param
(
"groupChatId"
)
Long
groupChatId
,
@Param
(
"userId"
)
String
userId
);
public
List
<
TabGroupChatUser
>
listAllChatUser
(
@Param
(
"wxEnterpriseId"
)
String
wxEnterpriseId
,
@Param
(
"groupChatId"
)
Long
groupChatId
);
}
\ No newline at end of file
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/chat/impl/GroupChatServiceImpl.java
View file @
cec971d2
...
...
@@ -3,6 +3,7 @@ package com.gic.haoban.manage.service.service.chat.impl;
import
java.util.ArrayList
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.stream.Collectors
;
import
org.apache.commons.collections.CollectionUtils
;
...
...
@@ -232,6 +233,7 @@ public class GroupChatServiceImpl implements GroupChatService {
}
private
void
initGroupChatDetail
(
WxEnterpriseQwDTO
qwDTO
,
TabGroupChat
chat
,
boolean
syncMember
)
{
// 控制同时刷新
Long
groupChatId
=
chat
.
getGroupChatId
();
String
wxEnterpriseId
=
chat
.
getWxEnterpriseId
();
String
enterpriseId
=
chat
.
getEnterpriseId
();
...
...
@@ -265,9 +267,12 @@ public class GroupChatServiceImpl implements GroupChatService {
}
List
<
GroupChatDetailMemberDTO
>
memberList
=
detail
.
getMember_list
();
List
<
TabGroupChatUser
>
userList
=
new
ArrayList
<>();
List
<
TabGroupChatUser
>
allUserList
=
this
.
groupChatUserMapper
.
listAllChatUser
(
wxEnterpriseId
,
groupChatId
);
Map
<
String
,
TabGroupChatUser
>
userMap
=
allUserList
.
stream
()
.
collect
(
Collectors
.
toMap
(
TabGroupChatUser:
:
getUserId
,
o
->
o
,
((
k1
,
k2
)
->
k1
)));
for
(
GroupChatDetailMemberDTO
member
:
memberList
)
{
String
userId
=
member
.
getUserid
();
TabGroupChatUser
user
=
this
.
groupChatUserMapper
.
selectByUserIdAndChatId
(
groupChatId
,
userId
);
TabGroupChatUser
user
=
userMap
.
get
(
userId
);
if
(
null
!=
user
)
{
logger
.
info
(
"更新用户"
);
this
.
matchGicMember
(
wxEnterpriseId
,
enterpriseId
,
member
.
getUnionid
(),
userId
,
user
);
...
...
@@ -296,9 +301,23 @@ public class GroupChatServiceImpl implements GroupChatService {
this
.
matchGicMember
(
wxEnterpriseId
,
enterpriseId
,
member
.
getUnionid
(),
userId
,
user
);
userList
.
add
(
user
);
}
List
<
String
>
nowUserIdList
=
memberList
.
stream
().
map
(
dto
->
dto
.
getUserid
()).
collect
(
Collectors
.
toList
());
for
(
TabGroupChatUser
item
:
userList
)
{
this
.
groupChatUserMapper
.
insert
(
item
);
}
int
addNum
=
userList
.
size
();
// 删除退群的人
List
<
Long
>
deleteIdList
=
new
ArrayList
<>();
for
(
TabGroupChatUser
user
:
allUserList
)
{
if
(!
nowUserIdList
.
contains
(
user
.
getUserId
()))
{
deleteIdList
.
add
(
user
.
getChatUserId
());
}
}
if
(
CollectionUtils
.
isNotEmpty
(
deleteIdList
))
{
this
.
groupChatUserMapper
.
delete
(
deleteIdList
);
}
// 群统计
this
.
groupChatMapper
.
updateData
();
}
// 初始化群信息-不包括群状态
...
...
haoban-manage3-service/src/main/resources/mapper/chat/GroupChatUserMapper.xml
View file @
cec971d2
...
...
@@ -102,43 +102,44 @@
</insert>
<!-- =====================删除==================== -->
<update
id=
"deleteByPrimaryKey"
parameterType=
"long"
>
UPDATE tab_haoban_group_chat_user SET delete_flag = 1 WHERE chat_user_id =
#{chatUserId}
<update
id=
"delete"
>
UPDATE tab_haoban_group_chat_user SET delete_flag = 1 WHERE chat_user_id
<foreach
collection=
"idList"
close=
")"
open=
"("
index=
"index"
item=
"id"
separator=
","
>
#{id}
</foreach>
</update>
<!-- ==================更新 ========== -->
<update
id=
"update"
parameterType=
"com.gic.haoban.manage.service.entity.chat.TabGroupChatUser"
>
<![CDATA[
UPDATE tab_haoban_group_chat_user SET
user_type=#{userType,jdbcType=INTEGER},
join_time=#{joinTime,jdbcType=DATE},
user_name=#{userName,jdbcType=VARCHAR},
nick_name=#{nickName,jdbcType=VARCHAR},
user_id=#{userId,jdbcType=VARCHAR},
unionid=#{unionid,jdbcType=VARCHAR},
member_id=#{memberId,jdbcType=VARCHAR},
invitor_user_id=#{invitorUserId,jdbcType=VARCHAR},
update_time=now(),
group_chat_id=#{groupChatId,jdbcType=BIGINT},
status_flag=#{statusFlag,jdbcType=INTEGER},
user_quit_time=#{userQuitTime,jdbcType=TIMESTAMP},
quit_scene=#{quitScene,jdbcType=INTEGER},
join_scene=#{joinScene,jdbcType=INTEGER},
join_remark=#{joinRemark,jdbcType=VARCHAR},
join_state=#{joinState,jdbcType=VARCHAR}
where chat_user_id = #{chatUserId}
]]>
<![CDATA[
UPDATE tab_haoban_group_chat_user SET
user_type=#{userType,jdbcType=INTEGER},
join_time=#{joinTime,jdbcType=DATE},
user_name=#{userName,jdbcType=VARCHAR},
nick_name=#{nickName,jdbcType=VARCHAR},
user_id=#{userId,jdbcType=VARCHAR},
unionid=#{unionid,jdbcType=VARCHAR},
member_id=#{memberId,jdbcType=VARCHAR},
invitor_user_id=#{invitorUserId,jdbcType=VARCHAR},
update_time=now(),
group_chat_id=#{groupChatId,jdbcType=BIGINT},
status_flag=#{statusFlag,jdbcType=INTEGER},
user_quit_time=#{userQuitTime,jdbcType=TIMESTAMP},
quit_scene=#{quitScene,jdbcType=INTEGER},
join_scene=#{joinScene,jdbcType=INTEGER},
join_remark=#{joinRemark,jdbcType=VARCHAR},
join_state=#{joinState,jdbcType=VARCHAR}
where chat_user_id = #{chatUserId}
]]>
</update>
<!-- ============ 查询============= -->
<select
id=
"selectById"
parameterType=
"long"
resultMap=
"result-map-tabHaobanGroupChatUser"
>
<select
id=
"selectById"
parameterType=
"long"
resultMap=
"result-map-tabHaobanGroupChatUser"
>
SELECT
<include
refid=
"Base_Column_List"
/>
FROM tab_haoban_group_chat_user WHERE chat_user_id = #{chatUserId}
FROM tab_haoban_group_chat_user WHERE chat_user_id = #{chatUserId}
and delete_flag = 0
</select>
<select
id=
"selectByUserIdAndChatId"
resultMap=
"result-map-tabHaobanGroupChatUser"
>
...
...
@@ -148,9 +149,7 @@
and user_id =#{userId} and delete_flag = 0
</select>
<select
id=
"listAll"
parameterType=
"com.gic.haoban.manage.service.entity.chat.TabGroupChatUser"
resultMap=
"result-map-tabHaobanGroupChatUser"
>
select * from tab_haoban_group_chat_user
<select
id=
"listAllChatUser"
resultMap=
"result-map-tabHaobanGroupChatUser"
>
select
<include
refid=
"Base_Column_List"
/>
from tab_haoban_group_chat_user where group_chat_id = #{groupChatId} and wx_enterprise_id = #{wxEnterpriseId} and delete_flag = 0
</select>
</mapper>
\ No newline at end of file
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