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
4bff9deb
Commit
4bff9deb
authored
Dec 05, 2022
by
徐高华
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
sql
parent
67950e11
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
86 additions
and
46 deletions
+86
-46
GroupChatDTO.java
...java/com/gic/haoban/manage/api/dto/chat/GroupChatDTO.java
+10
-8
GroupChatSearchQDTO.java
.../haoban/manage/api/dto/qdto/chat/GroupChatSearchQDTO.java
+35
-4
TabGroupChat.java
...m/gic/haoban/manage/service/entity/chat/TabGroupChat.java
+10
-8
GroupChatServiceImpl.java
...anage/service/service/chat/impl/GroupChatServiceImpl.java
+25
-20
GroupChatMapper.xml
...ervice/src/main/resources/mapper/chat/GroupChatMapper.xml
+6
-6
No files found.
haoban-manage3-api/src/main/java/com/gic/haoban/manage/api/dto/chat/GroupChatDTO.java
View file @
4bff9deb
...
...
@@ -51,7 +51,7 @@ public class GroupChatDTO implements Serializable{
/**gic企业ID*/
private
String
enterpriseId
;
/**gic侧状态1可用,2不可用*/
private
Integer
status
Flag
;
private
Integer
gic
Flag
;
public
void
setGroupChatId
(
Long
groupChatId
){
this
.
groupChatId
=
groupChatId
;
...
...
@@ -186,11 +186,12 @@ public class GroupChatDTO implements Serializable{
public
String
getEnterpriseId
(){
return
enterpriseId
;
}
public
void
setStatusFlag
(
Integer
statusFlag
){
this
.
statusFlag
=
statusFlag
;
}
public
Integer
getStatusFlag
(){
return
statusFlag
;
}
public
Integer
getGicFlag
()
{
return
gicFlag
;
}
public
void
setGicFlag
(
Integer
gicFlag
)
{
this
.
gicFlag
=
gicFlag
;
}
}
\ No newline at end of file
haoban-manage3-api/src/main/java/com/gic/haoban/manage/api/dto/qdto/chat/GroupChatSearchQDTO.java
View file @
4bff9deb
...
...
@@ -2,6 +2,7 @@ package com.gic.haoban.manage.api.dto.qdto.chat;
import
java.io.Serializable
;
import
java.util.Date
;
import
java.util.List
;
public
class
GroupChatSearchQDTO
implements
Serializable
{
...
...
@@ -12,7 +13,36 @@ public class GroupChatSearchQDTO implements Serializable {
private
String
wxEnterpriseId
;
private
String
enterpriseId
;
private
String
searchParams
;
// 群状态 0跟进人正常1跟进人离职2离职继承中 4已解散
private
Integer
status
;
private
Date
dismissStartDate
;
private
Date
dismissEndDate
;
// 群主列表
private
List
<
String
>
staffIdList
;
public
Date
getDismissStartDate
()
{
return
dismissStartDate
;
}
public
Date
getDismissEndDate
()
{
return
dismissEndDate
;
}
public
List
<
String
>
getStaffIdList
()
{
return
staffIdList
;
}
public
void
setDismissStartDate
(
Date
dismissStartDate
)
{
this
.
dismissStartDate
=
dismissStartDate
;
}
public
void
setDismissEndDate
(
Date
dismissEndDate
)
{
this
.
dismissEndDate
=
dismissEndDate
;
}
public
void
setStaffIdList
(
List
<
String
>
staffIdList
)
{
this
.
staffIdList
=
staffIdList
;
}
public
Date
getStartDate
()
{
return
startDate
;
...
...
@@ -34,10 +64,6 @@ public class GroupChatSearchQDTO implements Serializable {
return
searchParams
;
}
public
Integer
getStatus
()
{
return
status
;
}
public
void
setStartDate
(
Date
startDate
)
{
this
.
startDate
=
startDate
;
}
...
...
@@ -58,7 +84,12 @@ public class GroupChatSearchQDTO implements Serializable {
this
.
searchParams
=
searchParams
;
}
public
Integer
getStatus
()
{
return
status
;
}
public
void
setStatus
(
Integer
status
)
{
this
.
status
=
status
;
}
}
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/entity/chat/TabGroupChat.java
View file @
4bff9deb
...
...
@@ -50,7 +50,7 @@ public class TabGroupChat implements Serializable{
private
Integer
quitMemberCount
;
/**gic企业ID*/
private
String
enterpriseId
;
private
Integer
status
Flag
;
private
Integer
gic
Flag
;
private
Integer
initFlag
;
private
String
wxChatId3th
;
...
...
@@ -203,11 +203,12 @@ public class TabGroupChat implements Serializable{
public
String
getEnterpriseId
(){
return
enterpriseId
;
}
public
void
setStatusFlag
(
Integer
statusFlag
){
this
.
statusFlag
=
statusFlag
;
}
public
Integer
getStatusFlag
(){
return
statusFlag
;
}
public
Integer
getGicFlag
()
{
return
gicFlag
;
}
public
void
setGicFlag
(
Integer
gicFlag
)
{
this
.
gicFlag
=
gicFlag
;
}
}
\ No newline at end of file
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/chat/impl/GroupChatServiceImpl.java
View file @
4bff9deb
...
...
@@ -96,7 +96,7 @@ public class GroupChatServiceImpl implements GroupChatService {
return
;
}
WxEnterpriseQwDTO
qwDTO
=
this
.
wxEnterpriseService
.
getQwInfo
(
wxEnterpriseId
);
this
.
insert
GroupChat
(
qwDTO
,
wxChatId
,
0
,
false
);
this
.
add
GroupChat
(
qwDTO
,
wxChatId
,
0
,
false
);
}
@Override
...
...
@@ -254,7 +254,7 @@ public class GroupChatServiceImpl implements GroupChatService {
if
(
qwDTO
.
needOpenUserIdDk
())
{
userId
=
staff
.
getWxOpenUseId
();
}
this
.
syncGroupChat
(
qwDTO
,
Arrays
.
asList
(
userId
),
null
,
false
);
this
.
syncGroupChat
List
(
qwDTO
,
Arrays
.
asList
(
userId
),
null
,
false
);
}
/**
...
...
@@ -284,26 +284,26 @@ public class GroupChatServiceImpl implements GroupChatService {
.
map
(
dto
->
dto
.
getWxUserId
()).
collect
(
Collectors
.
toList
());
}
if
(
CollectionUtils
.
isNotEmpty
(
userIdList
))
{
this
.
syncGroupChat
(
qwDTO
,
userIdList
,
null
,
true
);
this
.
syncGroupChat
List
(
qwDTO
,
userIdList
,
null
,
true
);
}
pageNum
++;
}
}
// 同步
成员的群
private
void
syncGroupChat
(
WxEnterpriseQwDTO
qwDTO
,
List
<
String
>
userIdList
,
String
cursor
,
// 同步
群列表
private
void
syncGroupChat
List
(
WxEnterpriseQwDTO
qwDTO
,
List
<
String
>
userIdList
,
String
cursor
,
boolean
syncDetailFlag
)
{
logger
.
info
(
"qwDTO={},idlist={},cursor={}"
,
JSON
.
toJSONString
(
qwDTO
),
JSON
.
toJSONString
(
userIdList
),
cursor
);
SecretSettingDTO
secretSetting
=
secretSettingService
.
getSecretSetting
(
qwDTO
.
getWxEnterpriseId
(),
SecretTypeEnum
.
CUSTOMIZED_APP
.
getVal
());
if
(
null
==
secretSetting
)
{
logger
.
info
(
"
没有
配置代开应用"
);
logger
.
info
(
"
未
配置代开应用"
);
}
String
secret
=
secretSetting
.
getSecretVal
();
ServiceResponse
<
GroupChatListDTO
>
resp
=
this
.
qywxChatApiService
.
groupchatList
(
qwDTO
.
getDkCorpid
(),
secret
,
userIdList
,
limit
,
cursor
);
if
(!
resp
.
isSuccess
())
{
logger
.
info
(
"拉取群异常={}"
,
JSON
.
toJSON
(
resp
));
logger
.
info
(
"拉取群
列表
异常={}"
,
JSON
.
toJSON
(
resp
));
return
;
}
GroupChatListDTO
dto
=
resp
.
getResult
();
...
...
@@ -312,39 +312,45 @@ public class GroupChatServiceImpl implements GroupChatService {
for
(
GroupChatListItemDTO
item
:
list
)
{
String
wxChatId
=
item
.
getChat_id
();
int
chatStatus
=
item
.
getStatus
();
this
.
insert
GroupChat
(
qwDTO
,
wxChatId
,
chatStatus
,
syncDetailFlag
);
this
.
add
GroupChat
(
qwDTO
,
wxChatId
,
chatStatus
,
syncDetailFlag
);
}
// 从企微拉取下一批数据
if
(
org
.
apache
.
commons
.
lang3
.
StringUtils
.
isNotBlank
(
cursor
))
{
this
.
syncGroupChat
(
qwDTO
,
userIdList
,
cursor
,
syncDetailFlag
);
if
(
StringUtils
.
isNotBlank
(
cursor
))
{
this
.
syncGroupChat
List
(
qwDTO
,
userIdList
,
cursor
,
syncDetailFlag
);
}
}
/**
* 新增群记录, 如果是更新,只更新群状态,新增只记录群id和群状态,其他数据都在详情修改维护
*/
private
void
insertGroupChat
(
WxEnterpriseQwDTO
qwDTO
,
String
wxChatId
,
int
chatStatus
,
boolean
syncDetailFlag
)
{
TabGroupChat
groupChat
=
this
.
groupChatMapper
.
selectByWxChatId
(
qwDTO
.
getWxEnterpriseId
(),
wxChatId
);
private
void
addGroupChat
(
WxEnterpriseQwDTO
qwDTO
,
String
wxChatId
,
int
chatStatus
,
boolean
syncDetailFlag
)
{
String
wxEnterpriseId
=
qwDTO
.
getWxEnterpriseId
();
TabGroupChat
groupChat
=
this
.
groupChatMapper
.
selectByWxChatId
(
wxEnterpriseId
,
wxChatId
);
Long
groupChatId
=
null
;
if
(
null
!=
groupChat
)
{
groupChatId
=
groupChat
.
getGroupChatId
();
logger
.
info
(
"群已存在,chatid={},groupChatId={}"
,
wxChatId
,
groupChatId
);
this
.
groupChatMapper
.
updateChatStatus
(
groupChatId
,
chatStatus
);
logger
.
info
(
"更新群状态,wxchatid={},groupChatId={},新老状态={}"
,
wxChatId
,
groupChatId
,
chatStatus
,
groupChat
.
getChatStatus
());
if
(
groupChat
.
getChatStatus
()
!=
chatStatus
)
{
this
.
groupChatMapper
.
updateChatStatus
(
groupChatId
,
chatStatus
);
}
}
else
{
groupChatId
=
UniqueIdUtils
.
uniqueLong
();
TabGroupChat
chat
=
new
TabGroupChat
();
chat
.
setGroupChatId
(
groupChatId
);
chat
.
setWxEnterpriseId
(
qwDTO
.
getWxEnterpriseId
()
);
chat
.
setWxEnterpriseId
(
wxEnterpriseId
);
chat
.
setWxChatId
(
wxChatId
);
chat
.
setChatStatus
(
chatStatus
);
chat
.
setCreateTime
(
new
Date
());
chat
.
setUpdateTime
(
new
Date
());
chat
.
set
Status
Flag
(
0
);
chat
.
set
Gic
Flag
(
0
);
chat
.
setDeleteFlag
(
0
);
chat
.
setTotalCount
(
0
);
if
(
syncDetailFlag
)
{
// 标识初始化中,会在查询群详情处理
chat
.
setInitFlag
(
2
);
}
else
{
// 标识未初始化,由于异步,需要异步获取群详情
chat
.
setInitFlag
(
0
);
}
chat
.
setTotalMemberCount
(
0
);
...
...
@@ -387,8 +393,7 @@ public class GroupChatServiceImpl implements GroupChatService {
}
else
{
logger
.
info
(
"群主未关联好办,不同步群成员,userid={}"
,
owner
);
}
int
statusFlag
=
chat
.
getStatusFlag
();
if
(
StringUtils
.
isBlank
(
enterpriseId
)
&&
statusFlag
==
0
)
{
if
(
StringUtils
.
isBlank
(
enterpriseId
)
&&
null
!=
staff
)
{
logger
.
info
(
"开始匹配群的gic商户id,staffid={}"
,
staff
.
getStaffId
());
List
<
StaffClerkRelationDTO
>
clerkList
=
this
.
staffClerkRelationService
.
listByStaffId
(
wxEnterpriseId
,
staff
.
getStaffId
());
...
...
@@ -403,8 +408,8 @@ public class GroupChatServiceImpl implements GroupChatService {
}
}
logger
.
info
(
"更新群信息={}"
,
JSON
.
toJSONString
(
chat
));
if
(
statusFlag
==
0
&&
StringUtils
.
isNotEmpty
(
chat
.
getEnterpriseId
()))
{
chat
.
set
Status
Flag
(
1
);
if
(
StringUtils
.
isNotEmpty
(
chat
.
getEnterpriseId
()))
{
chat
.
set
Gic
Flag
(
1
);
}
this
.
groupChatMapper
.
update
(
chat
);
if
(
null
==
staff
)
{
...
...
haoban-manage3-service/src/main/resources/mapper/chat/GroupChatMapper.xml
View file @
4bff9deb
...
...
@@ -22,7 +22,7 @@
<result
column=
"quit_count"
property=
"quitCount"
/>
<result
column=
"quit_member_count"
property=
"quitMemberCount"
/>
<result
column=
"enterprise_id"
property=
"enterpriseId"
/>
<result
column=
"
status_flag"
property=
"status
Flag"
/>
<result
column=
"
gic_flag"
property=
"gic
Flag"
/>
<result
column=
"init_flag"
property=
"initFlag"
/>
<result
column=
"wx_chat_id_3th"
property=
"wxChatId3th"
/>
</resultMap>
...
...
@@ -46,7 +46,7 @@
quit_count,
quit_member_count,
enterprise_id,
status
_flag , init_flag , wx_chat_id_3th
gic
_flag , init_flag , wx_chat_id_3th
</sql>
<!-- ===================== 新增 ======================== -->
<insert
id=
"insert"
...
...
@@ -72,7 +72,7 @@
quit_count,
quit_member_count,
enterprise_id,
status
_flag , init_flag
gic
_flag , init_flag
)VALUES(
#{groupChatId},
#{wxEnterpriseId},
...
...
@@ -93,7 +93,7 @@
#{quitCount},
#{quitMemberCount},
#{enterpriseId},
#{
status
Flag} , #{initFlag}
#{
gic
Flag} , #{initFlag}
)
]]>
</insert>
...
...
@@ -119,7 +119,7 @@
chat_notice=#{chatNotice},
chat_status=#{chatStatus},
update_time=now(),
status_flag=#{status
Flag},
gic_flag=#{gic
Flag},
init_flag = 1
where group_chat_id = #{groupChatId}
]]>
...
...
@@ -187,7 +187,7 @@
</select>
<select
id=
"list"
resultMap=
"result-map-tabHaobanGroupChat"
>
select
<include
refid=
"Base_Column_List"
/>
from ta_haoban_group_chat where wx_enterprise_id=#{wxEnterpriseId} and delete_flag = 0
select
<include
refid=
"Base_Column_List"
/>
from ta
b
_haoban_group_chat where wx_enterprise_id=#{wxEnterpriseId} and delete_flag = 0
</select>
<update
id=
"updateChatEnterpriseId"
>
...
...
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