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
dfd23c86
Commit
dfd23c86
authored
Aug 16, 2023
by
徐高华
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
通讯录
parent
aab35788
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
26 additions
and
54 deletions
+26
-54
DealSyncOperationApiServiceImpl.java
...ice/service/out/impl/DealSyncOperationApiServiceImpl.java
+24
-42
QywxDeptSyncOperation.java
...gic/haoban/manage/service/task/QywxDeptSyncOperation.java
+0
-0
QywxStaffSyncOperation.java
...ic/haoban/manage/service/task/QywxStaffSyncOperation.java
+2
-12
No files found.
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/out/impl/DealSyncOperationApiServiceImpl.java
View file @
dfd23c86
...
...
@@ -204,7 +204,7 @@ public class DealSyncOperationApiServiceImpl implements DealSyncOperationApiServ
logger
.
info
(
"处理开始:类型:{}"
,
syncTaskStatusEnum
.
getVal
());
//处理预处理数据
preDealService
.
updateExceptionToPre
(
taskId
);
dealDepartmentToMq
(
taskId
,
midList
,
syncTaskStatusEnum
);
sendToMq
(
taskId
,
midList
,
syncTaskStatusEnum
,
null
);
}
...
...
@@ -213,7 +213,7 @@ public class DealSyncOperationApiServiceImpl implements DealSyncOperationApiServ
RedisUtil
.
lock
(
key
,
10L
);
String
taskLock
=
getTaskLock
(
wxEnterpriseId
);
if
(
StringUtils
.
isNotBlank
(
taskLock
))
{
logger
.
info
(
"【同步锁】taskLock={}
"
,
taskLock
);
logger
.
info
(
"【同步锁】taskLock={}
,key={}"
,
taskLock
,
key
);
RedisUtil
.
unlock
(
key
);
return
null
;
}
...
...
@@ -340,10 +340,10 @@ public class DealSyncOperationApiServiceImpl implements DealSyncOperationApiServ
private
void
dealDepartmentInit
(
String
taskId
,
String
wxEnterpriseId
,
List
<
SyncSingleDealDTO
>
addList
)
{
Set
<
String
>
addListMid
=
addList
.
stream
().
filter
(
dto
->
dto
.
getStoreFlag
().
equals
(
0
)).
map
(
dto
->
dto
.
getRelatedId
()).
collect
(
Collectors
.
toSet
());
if
(
CollectionUtils
.
isNotEmpty
(
addListMid
))
{
dealDepartmentToMq
(
taskId
,
addListMid
,
SyncTaskStatusEnum
.
group_sync
);
sendToMq
(
taskId
,
addListMid
,
SyncTaskStatusEnum
.
group_sync
,
null
);
}
else
{
addListMid
=
addList
.
stream
().
filter
(
dto
->
dto
.
getStoreFlag
().
equals
(
1
)).
map
(
dto
->
dto
.
getRelatedId
()).
collect
(
Collectors
.
toSet
());
dealDepartmentToMq
(
taskId
,
addListMid
,
SyncTaskStatusEnum
.
store_sync
);
sendToMq
(
taskId
,
addListMid
,
SyncTaskStatusEnum
.
store_sync
,
null
);
}
}
...
...
@@ -351,28 +351,9 @@ public class DealSyncOperationApiServiceImpl implements DealSyncOperationApiServ
* 放入mq处理部门数据
*
* @param taskId
* @param
dealList
* @param
*/
private
void
dealDepartmentToMq
(
String
taskId
,
Set
<
String
>
dealList
,
SyncTaskStatusEnum
syncTaskStatusEnum
)
{
//预处理分组任务
syncTaskService
.
updateTaskStatus
(
taskId
,
syncTaskStatusEnum
.
getVal
());
List
<
String
>
listRet
=
dealList
.
stream
().
map
(
relationId
->
{
DealParamMqDTO
dealParamMqDTO
=
new
DealParamMqDTO
();
dealParamMqDTO
.
setTaskId
(
taskId
);
dealParamMqDTO
.
setData
(
relationId
);
dealParamMqDTO
.
setType
(
syncTaskStatusEnum
.
getVal
());
return
JSONObject
.
toJSONString
(
dealParamMqDTO
);
}).
collect
(
Collectors
.
toList
());
GicMQClient
clientInstance
=
GICMQClientUtil
.
getClientInstance
();
try
{
logger
.
info
(
"放入mq={}"
,
JSON
.
toJSONString
(
listRet
));
clientInstance
.
sendBatchMessages
(
"departmentSyncDealMq"
,
listRet
,
10
);
}
catch
(
Exception
e
)
{
logger
.
info
(
"发送失败:{},{}"
,
taskId
,
JSONObject
.
toJSONString
(
listRet
));
e
.
printStackTrace
();
}
}
public
String
lockTask
(
String
wxEnterpriseId
,
String
taskId
)
{
...
...
@@ -555,13 +536,14 @@ public class DealSyncOperationApiServiceImpl implements DealSyncOperationApiServ
unlockTask
(
wxEnterpriseId
);
return
"没有配置secret"
;
}
List
<
com
.
gic
.
wechat
.
api
.
dto
.
qywx
.
DepartmentDTO
>
list
=
qywxDepartmentApiService
.
listSelfDepartment
(
qwDTO
.
getDkCorpid
(),
secretSetting
.
getSecretVal
(),
1
,
qwDTO
.
getUrlHost
());
List
<
com
.
gic
.
wechat
.
api
.
dto
.
qywx
.
DepartmentDTO
>
list
=
qywxDepartmentApiService
.
simple
listSelfDepartment
(
qwDTO
.
getDkCorpid
(),
secretSetting
.
getSecretVal
(),
1
,
qwDTO
.
getUrlHost
());
if
(
CollectionUtils
.
isEmpty
(
list
))
{
logger
.
info
(
"
没有数据
同步"
);
logger
.
info
(
"
企微部门数量0,退出
同步"
);
syncTaskService
.
updateTaskStatus
(
taskId
,
SyncTaskStatusEnum
.
exception_close
.
getVal
());
unlockTask
(
wxEnterpriseId
);
return
"没有数据同步或权限没设置全部"
;
}
logger
.
info
(
"企微部门数={}"
,
list
.
size
());
List
<
TabHaobanPreDealLog
>
dealLogList
=
list
.
stream
().
map
(
dto
->
{
TabHaobanPreDealLog
dealLog
=
new
TabHaobanPreDealLog
();
dealLog
.
setDataId
(
dto
.
getId
().
toString
());
...
...
@@ -573,11 +555,11 @@ public class DealSyncOperationApiServiceImpl implements DealSyncOperationApiServ
dealLog
.
setWxEnterpriseId
(
wxEnterpriseId
);
return
dealLog
;
}).
collect
(
Collectors
.
toList
());
// 保存部门数据
preDealService
.
insert
(
dealLogList
);
HashSet
<
String
>
hashSet
=
new
HashSet
<>();
hashSet
.
add
(
"1"
);
dealDepartmentToMq
(
taskId
,
hashSet
,
SyncTaskStatusEnum
.
group_sync
);
sendToMq
(
taskId
,
hashSet
,
SyncTaskStatusEnum
.
group_sync
,
"departmentSyncDealMq2"
);
return
null
;
}
...
...
@@ -647,7 +629,7 @@ public class DealSyncOperationApiServiceImpl implements DealSyncOperationApiServ
preDealService
.
insert
(
dealLogList
);
HashSet
<
String
>
hashSet
=
(
HashSet
<
String
>)
dealLogList
.
stream
().
map
(
TabHaobanPreDealLog:
:
getDataId
).
collect
(
Collectors
.
toSet
());
dealFriendToMq
(
taskId
,
hashSet
,
SyncTaskStatusEnum
.
friend_clerk_sync
);
sendToMq
(
taskId
,
hashSet
,
SyncTaskStatusEnum
.
friend_clerk_sync
,
"friendSyncDealMq"
);
}
@Override
...
...
@@ -692,7 +674,7 @@ public class DealSyncOperationApiServiceImpl implements DealSyncOperationApiServ
dealLogList
.
add
(
dealLog
);
preDealService
.
insert
(
dealLogList
);
HashSet
<
String
>
hashSet
=
(
HashSet
<
String
>)
dealLogList
.
stream
().
map
(
TabHaobanPreDealLog:
:
getDataId
).
collect
(
Collectors
.
toSet
());
dealDepartmentToMq
(
taskId
,
hashSet
,
SyncTaskStatusEnum
.
friend_clerk_sync
);
sendToMq
(
taskId
,
hashSet
,
SyncTaskStatusEnum
.
friend_clerk_sync
,
null
);
}
@Override
...
...
@@ -715,7 +697,7 @@ public class DealSyncOperationApiServiceImpl implements DealSyncOperationApiServ
}).
collect
(
Collectors
.
toList
());
preDealService
.
insert
(
dealLogList
);
Set
<
String
>
hashSet
=
dealLogList
.
stream
().
map
(
TabHaobanPreDealLog:
:
getDataId
).
collect
(
Collectors
.
toSet
());
dealDepartmentToMq
(
taskId
,
hashSet
,
SyncTaskStatusEnum
.
friend_clerk_sync
);
sendToMq
(
taskId
,
hashSet
,
SyncTaskStatusEnum
.
friend_clerk_sync
,
null
);
}
@Override
...
...
@@ -728,14 +710,11 @@ public class DealSyncOperationApiServiceImpl implements DealSyncOperationApiServ
}
}
/**
* 放入mq处理部门数据
*
* @param taskId
* @param dealList
*/
private
void
dealFriendToMq
(
String
taskId
,
Set
<
String
>
dealList
,
SyncTaskStatusEnum
syncTaskStatusEnum
)
{
private
void
sendToMq
(
String
taskId
,
Set
<
String
>
dealList
,
SyncTaskStatusEnum
syncTaskStatusEnum
,
String
mqName
)
{
//预处理分组任务
if
(
StringUtils
.
isEmpty
(
mqName
))
{
mqName
=
"departmentSyncDealMq"
;
}
syncTaskService
.
updateTaskStatus
(
taskId
,
syncTaskStatusEnum
.
getVal
());
List
<
String
>
listRet
=
dealList
.
stream
().
map
(
relationId
->
{
DealParamMqDTO
dealParamMqDTO
=
new
DealParamMqDTO
();
...
...
@@ -744,11 +723,14 @@ public class DealSyncOperationApiServiceImpl implements DealSyncOperationApiServ
dealParamMqDTO
.
setType
(
syncTaskStatusEnum
.
getVal
());
return
JSONObject
.
toJSONString
(
dealParamMqDTO
);
}).
collect
(
Collectors
.
toList
());
GicMQClient
clientInstance
=
GICMQClientUtil
.
getClientInstance
();
try
{
clientInstance
.
sendBatchMessages
(
"friendSyncDealMq"
,
listRet
);
logger
.
info
(
"放入mq={}"
,
JSON
.
toJSONString
(
listRet
));
clientInstance
.
sendBatchMessages
(
mqName
,
listRet
,
10
);
}
catch
(
Exception
e
)
{
logger
.
info
(
"发送失败:{},{}"
,
taskId
,
JSONObject
.
toJSONString
(
listRet
),
e
);
logger
.
info
(
"发送失败:{},{}"
,
taskId
,
JSONObject
.
toJSONString
(
listRet
));
e
.
printStackTrace
();
}
}
...
...
@@ -803,7 +785,7 @@ public class DealSyncOperationApiServiceImpl implements DealSyncOperationApiServ
}).
collect
(
Collectors
.
toList
());
preDealService
.
insert
(
dealLogList
);
Set
<
String
>
hashSet
=
dealLogList
.
stream
().
map
(
TabHaobanPreDealLog:
:
getDataId
).
collect
(
Collectors
.
toSet
());
dealDepartmentToMq
(
taskId
,
hashSet
,
SyncTaskStatusEnum
.
tag
);
sendToMq
(
taskId
,
hashSet
,
SyncTaskStatusEnum
.
tag
,
null
);
}
/**
...
...
@@ -913,7 +895,7 @@ public class DealSyncOperationApiServiceImpl implements DealSyncOperationApiServ
logger
.
info
(
"无第三方的数据/自建"
);
preDealService
.
updateStatusByDataId
(
taskId
,
stffId
,
PreDealTypeEnum
.
friend_clerk
.
getVal
(),
PreDealStatusEnum
.
computed
.
getVal
(),
"成功"
);
}
else
{
dealDepartmentToMq
(
taskId
,
new
HashSet
<>(
dataIds
),
SyncTaskStatusEnum
.
friend_sync
);
sendToMq
(
taskId
,
new
HashSet
<>(
dataIds
),
SyncTaskStatusEnum
.
friend_sync
,
null
);
}
RedisUtil
.
unlock
(
lockKey
);
}
...
...
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/task/QywxDeptSyncOperation.java
View file @
dfd23c86
This diff is collapsed.
Click to expand it.
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/task/QywxStaffSyncOperation.java
View file @
dfd23c86
...
...
@@ -112,18 +112,8 @@ public class QywxStaffSyncOperation implements BaseSyncOperation {
TabHaobanSyncTask
syncTask
=
syncTaskService
.
getSyncTask
(
taskId
);
String
wxEnterpriseId
=
syncTask
.
getWxEnterpriseId
();
//同步成功 进入门店处理
if
(
syncTask
.
getStatusFlag
().
equals
(
SyncTaskStatusEnum
.
clerk_sync
.
getVal
()))
{
int
errCount
=
preDealService
.
countByTaskId
(
taskId
,
-
1
,
PreDealStatusEnum
.
exception
.
getVal
());
if
(
errCount
>
0
)
{
syncTaskService
.
updateTaskStatus
(
taskId
,
SyncTaskStatusEnum
.
exception_compute
.
getVal
());
dealSyncOperationApiService
.
unlockTask
(
wxEnterpriseId
);
}
else
{
syncTaskService
.
updateTaskStatus
(
taskId
,
SyncTaskStatusEnum
.
compute
.
getVal
());
dealSyncOperationApiService
.
unlockTask
(
wxEnterpriseId
);
dealSyncOperationApiService
.
cleanDiffrence
(
wxEnterpriseId
,
taskId
);
logger
.
info
(
"同步通讯录完成"
);
}
}
dealSyncOperationApiService
.
unlockTask
(
wxEnterpriseId
)
;
logger
.
info
(
"同步通讯录完成"
);
RedisUtil
.
unlock
(
key
);
}
...
...
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