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
1
Merge Requests
1
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
248b0a0a
Commit
248b0a0a
authored
Apr 13, 2020
by
fudahua
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
同步优化初步3-同步成员
parent
d2f75c62
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
68 additions
and
14 deletions
+68
-14
ClerkSyncOperation.java
...om/gic/haoban/manage/service/task/ClerkSyncOperation.java
+68
-14
No files found.
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/task/ClerkSyncOperation.java
View file @
248b0a0a
package
com
.
gic
.
haoban
.
manage
.
service
.
task
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONObject
;
import
com.gic.clerk.api.dto.ClerkDTO
;
import
com.gic.clerk.api.dto.ClerkListDTO
;
import
com.gic.clerk.api.service.ClerkService
;
import
com.gic.commons.util.GICMQClientUtil
;
...
...
@@ -9,27 +11,30 @@ import com.gic.enterprise.api.service.StoreGroupService;
import
com.gic.enterprise.api.service.StoreService
;
import
com.gic.haoban.base.api.common.Constant
;
import
com.gic.haoban.base.api.common.ServiceResponse
;
import
com.gic.haoban.manage.api.dto.DealParamMqDTO
;
import
com.gic.haoban.manage.api.dto.DepartmentDTO
;
import
com.gic.haoban.manage.api.dto.*
;
import
com.gic.haoban.manage.api.enums.PreDealStatusEnum
;
import
com.gic.haoban.manage.api.enums.PreDealTypeEnum
;
import
com.gic.haoban.manage.api.enums.SyncTaskStatusEnum
;
import
com.gic.haoban.manage.api.service.DepartmentApiService
;
import
com.gic.haoban.manage.api.service.StaffApiService
;
import
com.gic.haoban.manage.service.entity.TabHaobanDepartment
;
import
com.gic.haoban.manage.service.entity.TabHaobanPreDealLog
;
import
com.gic.haoban.manage.service.entity.TabHaobanSyncTask
;
import
com.gic.haoban.manage.service.service.DepartmentService
;
import
com.gic.haoban.manage.service.service.PreDealService
;
import
com.gic.haoban.manage.service.service.StaffService
;
import
com.gic.haoban.manage.service.service.SyncTaskService
;
import
com.gic.mq.sdk.GicMQClient
;
import
com.gic.redis.data.util.RedisUtil
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.apache.commons.lang.StringUtils
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Set
;
import
java.util.stream.Collectors
;
...
...
@@ -63,36 +68,85 @@ public class ClerkSyncOperation implements BaseSyncOperation {
@Autowired
private
ClerkService
clerkService
;
@Autowired
private
StaffApiService
staffApiService
;
@Override
public
void
dealSingleByMq
(
DealParamMqDTO
dealParamMqDTO
,
TabHaobanPreDealLog
dataPre
)
{
logger
.
info
(
"成员处理:{}"
,
JSONObject
.
toJSONString
(
dealParamMqDTO
));
ClerkDTO
clerkDTO
=
clerkService
.
getClerkByClerkId
(
dealParamMqDTO
.
getData
());
boolean
dealFlag
=
true
;
if
(
clerkDTO
==
null
)
{
logger
.
info
(
"成员不存在:t:{},d:{}"
,
dealParamMqDTO
.
getTaskId
(),
dealParamMqDTO
.
getData
());
dealException
(
dealParamMqDTO
.
getTaskId
(),
dealParamMqDTO
.
getData
(),
dataPre
.
getEnterpriseId
(),
"成员不存在"
);
return
;
}
//处理clerk
try
{
GicClerkDTO
gicClerkDTO
=
new
GicClerkDTO
();
gicClerkDTO
.
setNationcode
(
clerkDTO
.
getNationcode
());
gicClerkDTO
.
setClerkCode
(
clerkDTO
.
getClerkCode
());
gicClerkDTO
.
setPostionName
(
clerkDTO
.
getPositionName
());
gicClerkDTO
.
setHeadImgUrl
(
clerkDTO
.
getHeadImgUrl
());
gicClerkDTO
.
setPhoneNumber
(
clerkDTO
.
getPhoneNumber
());
gicClerkDTO
.
setStatus
(
clerkDTO
.
getStatus
());
gicClerkDTO
.
setClerkGender
(
Integer
.
valueOf
(
clerkDTO
.
getClerkGender
()));
gicClerkDTO
.
setClerkName
(
clerkDTO
.
getClerkName
());
gicClerkDTO
.
setStoreId
(
clerkDTO
.
getStoreId
());
gicClerkDTO
.
setEnterpriseId
(
clerkDTO
.
getEnterpriseId
());
staffApiService
.
addGicClerk
(
gicClerkDTO
);
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
logger
.
info
(
"同步失败:"
,
JSONObject
.
toJSONString
(
dataPre
));
dealFlag
=
false
;
}
finally
{
if
(!
dealFlag
)
{
dealException
(
dealParamMqDTO
.
getTaskId
(),
dealParamMqDTO
.
getData
(),
dataPre
.
getEnterpriseId
(),
"成员处理异常"
);
}
else
{
dealSuccess
(
dealParamMqDTO
.
getTaskId
(),
dealParamMqDTO
.
getData
(),
dataPre
.
getEnterpriseId
(),
dataPre
.
getWxEnterpriseId
());
}
}
}
@Override
public
void
dealException
(
String
taskId
,
String
dataId
,
String
enterpriseId
,
String
reason
)
{
boolean
b
=
preDealService
.
updateStatusByDataId
(
taskId
,
dataId
,
PreDealStatusEnum
.
exception
.
getVal
());
if
(!
b
)
{
logger
.
info
(
"成员处理异常:t:{}, d:{}"
,
taskId
,
dataId
);
return
;
}
checkDepartmentTask
(
taskId
);
}
@Override
public
void
dealSuccess
(
String
taskId
,
String
dataId
,
String
enterpriseId
,
String
wxEnterpriseId
)
{
boolean
b
=
preDealService
.
updateStatusByDataId
(
taskId
,
dataId
,
PreDealStatusEnum
.
computed
.
getVal
());
if
(!
b
)
{
logger
.
info
(
"成功修改错误!{}"
,
dataId
);
return
;
}
checkDepartmentTask
(
taskId
);
}
@Override
public
void
checkDepartmentTask
(
String
taskId
)
{
boolean
b
=
preDealService
.
checkTask
(
taskId
,
PreDealTypeEnum
.
store
.
getVal
());
if
(!
b
)
{
return
;
}
logger
.
info
(
"店员同步成功:{}"
,
taskId
);
String
key
=
"haoban_sync_clerk_task_"
+
taskId
;
RedisUtil
.
lock
(
key
,
3L
);
TabHaobanSyncTask
syncTask
=
syncTaskService
.
getSyncTask
(
taskId
);
//同步成功 进入门店处理
if
(
syncTask
.
getStatusFlag
().
equals
(
SyncTaskStatusEnum
.
clerk_sync
.
getVal
()))
{
syncTaskService
.
updateTaskStatus
(
taskId
,
SyncTaskStatusEnum
.
compute
.
getVal
());
}
RedisUtil
.
unlock
(
key
);
}
/**
* 放入mq处理部门数据
*
* @param taskId
* @param dealList
*/
private
void
dealDepartmentToMq
(
String
taskId
,
Set
<
String
>
dealList
,
SyncTaskStatusEnum
syncTaskStatusEnum
)
{
}
}
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