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
2daddf05
Commit
2daddf05
authored
Mar 31, 2021
by
fudahua
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
导购刷新好友超时时间
parent
3cf28e59
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
39 additions
and
4 deletions
+39
-4
MemberUnionidRelatedApiServiceImpl.java
.../service/out/impl/MemberUnionidRelatedApiServiceImpl.java
+5
-2
FriendSyncNewOperation.java
...an/manage/service/task/friend/FriendSyncNewOperation.java
+1
-1
SelfFriendSyncNewOperation.java
...anage/service/task/friend/SelfFriendSyncNewOperation.java
+33
-1
No files found.
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/out/impl/MemberUnionidRelatedApiServiceImpl.java
View file @
2daddf05
...
...
@@ -856,8 +856,11 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
if
(
StringUtils
.
isBlank
(
unionIdJson
)){
log
.
info
(
"好友不存在"
);
return
null
;
}
ExternalUserPojo
pojo
=
getExternalUserPojo
(
unionIdJson
,
wxUserId
,
wxEnterpriseId
);
}
else
if
(
unionIdJson
.
equals
(
"1"
))
{
log
.
info
(
"接口调用被限制"
);
throw
new
WxApiLimitException
(
"getCorpSelfExternalUseridInfo接口调用被限制"
);
}
ExternalUserPojo
pojo
=
getExternalUserPojo
(
unionIdJson
,
wxUserId
,
wxEnterpriseId
);
return
EntityUtil
.
changeEntityByJSON
(
ExternalUserDTO
.
class
,
pojo
);
}
...
...
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/task/friend/FriendSyncNewOperation.java
View file @
2daddf05
...
...
@@ -135,7 +135,7 @@ public class FriendSyncNewOperation implements BaseSyncOperation {
* @return
*/
private
boolean
tryAgainToMq
(
TabHaobanPreDealLog
dataPre
)
{
logger
.
info
(
"需要重试:{}"
,
dataPre
.
getDataId
());
logger
.
info
(
"需要重试
friend
:{}"
,
dataPre
.
getDataId
());
String
key
=
TRY_AGAIN
+
dataPre
.
getTaskId
()
+
":"
+
dataPre
.
getDataId
();
Object
cache
=
RedisUtil
.
getCache
(
key
);
if
(
null
==
cache
)
{
...
...
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/task/friend/SelfFriendSyncNewOperation.java
View file @
2daddf05
...
...
@@ -11,6 +11,7 @@ import com.gic.haoban.manage.api.enums.PreDealTypeEnum;
import
com.gic.haoban.manage.api.enums.SyncTaskStatusEnum
;
import
com.gic.haoban.manage.api.service.MemberUnionidRelatedApiService
;
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.task.BaseSyncOperation
;
...
...
@@ -42,6 +43,8 @@ public class SelfFriendSyncNewOperation implements BaseSyncOperation {
@Autowired
private
FriendClerkSyncNewOperation
friendClerkSyncNewOperation
;
private
static
final
String
TRY_AGAIN
=
"haoban_fresh_wx_friend_again_"
;
@Override
public
void
dealSingleByMq
(
DealParamMqDTO
dealParamMqDTO
,
TabHaobanPreDealLog
dataPre
)
{
logger
.
info
(
"自建好友处理:{}"
,
JSONObject
.
toJSONString
(
dataPre
));
...
...
@@ -70,12 +73,16 @@ public class SelfFriendSyncNewOperation implements BaseSyncOperation {
//更新状态
preDealService
.
updateFriendStatusByDataId
(
taskId
,
dataPre
.
getDataId
(),
PreDealStatusEnum
.
computed
.
getVal
(),
reason
,
json
.
toJSONString
(),
relationKey
);
dealSuccess
(
taskId
,
dataPre
.
getDataId
(),
null
,
wxEnterpriseId
);
}
catch
(
WxApiLimitException
e
)
{
logger
.
info
(
"接口次数限制:{}"
,
JSONObject
.
toJSONString
(
dataPre
));
dealFlag
=
tryAgainToMq
(
dataPre
);
reason
=
"getCorpSelfExternalUseridInfo重试次数过多"
;
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
logger
.
info
(
"同步失败:{},{}"
,
JSONObject
.
toJSONString
(
dataPre
),
e
);
reason
=
"自建应用好友处理异常"
;
dealFlag
=
false
;
}
finally
{
if
(!
dealFlag
)
{
dealException
(
dealParamMqDTO
.
getTaskId
(),
dataPre
.
getDataId
(),
dataPre
.
getpDataId
(),
reason
);
...
...
@@ -97,6 +104,31 @@ public class SelfFriendSyncNewOperation implements BaseSyncOperation {
}
/**
* 重试机制
*
* @param dataPre
* @return
*/
private
boolean
tryAgainToMq
(
TabHaobanPreDealLog
dataPre
)
{
logger
.
info
(
"需要重试self:{}"
,
dataPre
.
getDataId
());
String
key
=
TRY_AGAIN
+
dataPre
.
getTaskId
()
+
":"
+
dataPre
.
getDataId
();
Object
cache
=
RedisUtil
.
getCache
(
key
);
if
(
null
==
cache
)
{
RedisUtil
.
setCache
(
key
,
1
,
2L
,
TimeUnit
.
HOURS
);
}
else
{
Integer
count
=
Integer
.
valueOf
(
cache
.
toString
());
RedisUtil
.
setCache
(
key
,
count
+
1
);
if
(
count
>
4
)
{
return
false
;
}
}
HashSet
<
String
>
reTrysIds
=
new
HashSet
<>();
reTrysIds
.
add
(
dataPre
.
getDataId
());
dealDepartmentToMq
(
dataPre
.
getTaskId
(),
reTrysIds
,
SyncTaskStatusEnum
.
self_friend_sync
);
return
true
;
}
/**
* 自定义处理流程
*
* @param taskId
...
...
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