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
7029dfd2
Commit
7029dfd2
authored
Apr 17, 2023
by
徐高华
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
自建刷新好友列表
parent
ac90fc04
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
51 additions
and
28 deletions
+51
-28
FriendClerkSyncNewOperation.java
...nage/service/task/friend/FriendClerkSyncNewOperation.java
+35
-28
SelfFriendSyncNewOperation.java
...anage/service/task/friend/SelfFriendSyncNewOperation.java
+16
-0
No files found.
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/task/friend/FriendClerkSyncNewOperation.java
View file @
7029dfd2
...
...
@@ -74,6 +74,7 @@ public class FriendClerkSyncNewOperation implements BaseSyncOperation {
dkWxUserId
=
staff
.
getWxOpenUseId
();
}
List
<
String
>
selfUserIdList
=
memberUnionidRelatedApiService
.
listSelfExterialList
(
wxEnterpriseId
,
dkWxUserId
);
List
<
String
>
delUserIdList
=
selfUserIdList
;
logger
.
info
(
"selfUserIdList={}"
,
JSONObject
.
toJSONString
(
selfUserIdList
));
if
(
CollectionUtils
.
isEmpty
(
selfUserIdList
))
{
logger
.
info
(
"自建应用调用第三方接口进入重试"
);
...
...
@@ -87,26 +88,30 @@ public class FriendClerkSyncNewOperation implements BaseSyncOperation {
reason
=
"该用户没有外部联系人"
;
return
;
}
//第三方服务商的外部联系人
String
wxUserId3th
=
staff
.
getWxUserId
()
;
if
(
qwDTO
.
needOpenUserId3th
())
{
wxUserId3th
=
staff
.
getWxOpenUseId
()
;
}
List
<
String
>
userIdList
=
memberUnionidRelatedApiService
.
listExterialList
(
wxEnterpriseId
,
wxUserId3th
);
if
(
CollectionUtils
.
isEmpty
(
selfUserIdList
))
{
dealFlag
=
tryAgainToMq
(
dataPre
);
reason
=
"重试次数过多"
;
logger
.
info
(
"第三方服务商外部联系人调用失败进入重试:{}"
,
dataPre
.
getDataId
());
return
;
}
if
(
CollectionUtils
.
isEmpty
(
userIdList
))
{
logger
.
info
(
"该用户无第三方外部联系人:{}"
,
JSONObject
.
toJSONString
(
dataPre
));
dealFlag
=
false
;
reason
=
"该用户没有外部联系人"
;
return
;
List
<
String
>
userIdList
=
null
;
if
(!
qwDTO
.
isSelf
())
{
//第三方服务商的外部联系人
userIdList
=
memberUnionidRelatedApiService
.
listExterialList
(
wxEnterpriseId
,
wxUserId3th
);
delUserIdList
=
userIdList
;
if
(
CollectionUtils
.
isEmpty
(
selfUserIdList
))
{
dealFlag
=
tryAgainToMq
(
dataPre
);
reason
=
"重试次数过多"
;
logger
.
info
(
"第三方服务商外部联系人调用失败进入重试:{}"
,
dataPre
.
getDataId
());
return
;
}
if
(
CollectionUtils
.
isEmpty
(
userIdList
))
{
logger
.
info
(
"该用户无第三方外部联系人:{}"
,
JSONObject
.
toJSONString
(
dataPre
));
dealFlag
=
false
;
reason
=
"该用户没有外部联系人"
;
return
;
}
}
//清理外部联系人
memberUnionidRelatedApiService
.
cleanNoExsitFriendNew
(
wxEnterpriseId
,
staffId
,
u
serIdList
);
memberUnionidRelatedApiService
.
cleanNoExsitFriendNew
(
wxEnterpriseId
,
staffId
,
delU
serIdList
);
//写入外部联系人的处理队列
List
<
TabHaobanPreDealLog
>
dealLogList
=
new
ArrayList
<>();
for
(
String
externalUserId
:
selfUserIdList
)
{
...
...
@@ -122,21 +127,23 @@ public class FriendClerkSyncNewOperation implements BaseSyncOperation {
}
preDealService
.
insert
(
dealLogList
);
//写入外部联系人的处理队列
List
<
TabHaobanPreDealLog
>
thirddealLogList
=
new
ArrayList
<>();
for
(
String
externalUserId
:
userIdList
)
{
TabHaobanPreDealLog
dealLog
=
new
TabHaobanPreDealLog
();
dealLog
.
setDataId
(
externalUserId
+
"###"
+
wxUserId3th
);
dealLog
.
setpDataId
(
staffId
);
dealLog
.
setDataType
(
PreDealTypeEnum
.
friend
.
getVal
());
dealLog
.
setStatusFlag
(
0
);
dealLog
.
setTaskId
(
dataPre
.
getTaskId
());
dealLog
.
setDataContent
(
externalUserId
);
dealLog
.
setWxEnterpriseId
(
wxEnterpriseId
);
thirddealLogList
.
add
(
dealLog
);
if
(!
qwDTO
.
isSelf
())
{
//写入外部联系人的处理队列
List
<
TabHaobanPreDealLog
>
thirddealLogList
=
new
ArrayList
<>();
for
(
String
externalUserId
:
userIdList
)
{
TabHaobanPreDealLog
dealLog
=
new
TabHaobanPreDealLog
();
dealLog
.
setDataId
(
externalUserId
+
"###"
+
wxUserId3th
);
dealLog
.
setpDataId
(
staffId
);
dealLog
.
setDataType
(
PreDealTypeEnum
.
friend
.
getVal
());
dealLog
.
setStatusFlag
(
0
);
dealLog
.
setTaskId
(
dataPre
.
getTaskId
());
dealLog
.
setDataContent
(
externalUserId
);
dealLog
.
setWxEnterpriseId
(
wxEnterpriseId
);
thirddealLogList
.
add
(
dealLog
);
}
preDealService
.
insert
(
thirddealLogList
);
}
preDealService
.
insert
(
thirddealLogList
);
//成功更新状态
dealSuccess
(
dealParamMqDTO
.
getTaskId
(),
dealParamMqDTO
.
getData
(),
dataPre
.
getEnterpriseId
(),
dataPre
.
getWxEnterpriseId
());
}
catch
(
Exception
e
)
{
...
...
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/task/friend/SelfFriendSyncNewOperation.java
View file @
7029dfd2
...
...
@@ -8,6 +8,7 @@ import com.esotericsoftware.minlog.Log;
import
com.gic.commons.util.GICMQClientUtil
;
import
com.gic.haoban.manage.api.dto.DealParamMqDTO
;
import
com.gic.haoban.manage.api.dto.ExternalUserDTO
;
import
com.gic.haoban.manage.api.dto.WxEnterpriseQwDTO
;
import
com.gic.haoban.manage.api.enums.PreDealStatusEnum
;
import
com.gic.haoban.manage.api.enums.PreDealTypeEnum
;
import
com.gic.haoban.manage.api.enums.SyncTaskStatusEnum
;
...
...
@@ -16,10 +17,12 @@ import com.gic.haoban.manage.service.entity.TabHaobanPreDealLog;
import
com.gic.haoban.manage.service.exception.WxApiLimitException
;
import
com.gic.haoban.manage.service.service.PreDealService
;
import
com.gic.haoban.manage.service.service.SyncTaskService
;
import
com.gic.haoban.manage.service.service.WxEnterpriseService
;
import
com.gic.haoban.manage.service.task.BaseSyncOperation
;
import
com.gic.mq.sdk.GicMQClient
;
import
com.gic.redis.data.util.RedisUtil
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
...
@@ -46,6 +49,8 @@ public class SelfFriendSyncNewOperation implements BaseSyncOperation {
private
SyncTaskService
syncTaskService
;
@Autowired
private
FriendClerkSyncNewOperation
friendClerkSyncNewOperation
;
@Autowired
private
WxEnterpriseService
wxEnterpriseService
;
private
static
final
String
TRY_AGAIN
=
"haoban_fresh_wx_friend_again_"
;
...
...
@@ -77,6 +82,17 @@ public class SelfFriendSyncNewOperation implements BaseSyncOperation {
String
str
=
staffId
+
"_"
+
externalUserDTO
.
getName
()
+
"_"
+
externalUserDTO
.
getAddCreateTime
()
;
String
relationKey
=
SecureUtil
.
md5
(
str
);
logger
.
info
(
"生成代开发relationKey={},staff={},{}"
,
relationKey
,
staffId
,
str
);
WxEnterpriseQwDTO
qwDTO
=
this
.
wxEnterpriseService
.
getQwInfo
(
wxEnterpriseId
)
;
if
(
qwDTO
.
isSelf
())
{
externalUserDTO
.
setSelfExternalUserId
(
externalUserDTO
.
getExternalUserId
());
String
ret
=
this
.
memberUnionidRelatedApiService
.
dealMergeForReflsh
(
externalUserDTO
,
wxEnterpriseId
,
staffId
)
;
if
(
StringUtils
.
isNotBlank
(
ret
))
{
logger
.
info
(
"好友创建失败:{},{}"
,
ret
,
JSONObject
.
toJSONString
(
externalUserDTO
));
dealFlag
=
false
;
reason
=
ret
+
":"
+
relationKey
;
return
;
}
}
//更新状态
this
.
preDealService
.
updateFriendStatusByDataId
(
taskId
,
dataPre
.
getDataId
(),
PreDealStatusEnum
.
computed
.
getVal
(),
reason
,
json
.
toJSONString
(),
relationKey
,
PreDealTypeEnum
.
self_friend
.
getVal
());
dealSuccess
(
taskId
,
dataPre
.
getDataId
(),
null
,
wxEnterpriseId
);
...
...
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