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
6663beec
Commit
6663beec
authored
Apr 02, 2021
by
fudahua
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
导购刷新好友
parent
2daddf05
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
203 additions
and
64 deletions
+203
-64
MemberUnionidRelatedApiServiceImpl.java
.../service/out/impl/MemberUnionidRelatedApiServiceImpl.java
+203
-64
No files found.
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/out/impl/MemberUnionidRelatedApiServiceImpl.java
View file @
6663beec
...
...
@@ -245,26 +245,18 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
@Override
public
String
addMemberUnionidRelatedNew
(
MemberUnionidRelatedDTO
dto
)
{
//拼装参数
dto
=
getMemberUnionidRelatedDTO
(
dto
);
if
(
dto
==
null
){
return
""
;
}
//加锁
String
key
=
"external"
+
dto
.
getWxEnterpriseId
()
+
"_"
+
dto
.
getWxUserId
()
+
"_"
+
dto
.
getExternalName
()
+
"_"
+
dto
.
getAddCreateTime
();
RedisUtil
.
lock
(
key
,
3
l
);
//新增成员和外部联系人的关系
String
memberUnionId
=
insertMemberUnionIdRelated
(
dto
);
//新增导购和外部联系人关系
dto
.
setMemberUnionidRelatedId
(
memberUnionId
);
insertExternalClerkRelated
(
dto
);
//解锁
RedisUtil
.
unlock
(
key
);
return
memberUnionId
;
}
private
void
insertExternalClerkRelated
(
MemberUnionidRelatedDTO
dto
)
{
dto
=
getMemberUnionidRelatedDTONew
(
dto
);
if
(
null
==
dto
)
{
log
.
info
(
"没处理完成-等下一次处理"
);
return
null
;
}
insertExternalClerkRelatedNew
(
dto
);
return
dto
.
getMemberUnionidRelatedId
();
}
@Deprecated
private
void
insertExternalClerkRelated
(
MemberUnionidRelatedDTO
dto
)
{
String
wxUserId
=
dto
.
getWxUserId
();
String
wxEnterpriseId
=
dto
.
getWxEnterpriseId
();
String
name
=
dto
.
getExternalName
();
...
...
@@ -281,7 +273,7 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
return
;
}
String
staffId
=
staff
.
getStaffId
();
MemberDTO
member
=
null
;
TabHaobanClerkMainStoreRelated
r
=
clerkMainStoreRelatedService
.
selectByWxEnterpriseIdAndStoreId
(
staffId
,
wxEnterpriseId
);
if
(
r
==
null
){
...
...
@@ -289,7 +281,7 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
return
;
}
String
storeId
=
r
.
getStoreId
();
StaffClerkRelationDTO
staffClerkRelationDTO
=
staffClerkRelationService
.
getOneBindByStoreId
(
staffId
,
storeId
);
if
(
staffClerkRelationDTO
==
null
){
log
.
info
(
"【新增外币联系人】导购和clerk关联为空"
);
...
...
@@ -311,9 +303,9 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
}
if
(
clerk
!=
null
&&
StringUtils
.
isNotBlank
(
qrcodeParam
)&&
StringUtils
.
isNotBlank
(
unionId
)){
log
.
info
(
"【新增外部联系人会员】enterpriseId={},unionId={},name={},avatar={},QrcodeParam={}"
,
staffClerkRelationDTO
.
getEnterpriseId
(),
unionId
,
name
,
avatar
,
qrcodeParam
);
member
=
memberOpenCardBusinessService
.
getMemberByQywxChannelParam
(
staffClerkRelationDTO
.
getEnterpriseId
(),
unionId
,
""
,
name
,
avatar
,
qrcodeParam
);
}
member
=
memberOpenCardBusinessService
.
getMemberByQywxChannelParam
(
staffClerkRelationDTO
.
getEnterpriseId
(),
unionId
,
""
,
name
,
avatar
,
qrcodeParam
);
}
TabHaobanExternalClerkRelated
exsitDTO
=
externalClerkRelatedService
.
getByParams
(
wxUserId
,
wxEnterpriseId
,
name
,
createTime
);
String
key
=
wxUserId
+
wxEnterpriseId
+
name
+
createTime
;
if
(
exsitDTO
==
null
){
...
...
@@ -351,42 +343,130 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
exsitDTO
.
setClerkId
(
staffClerkRelationDTO
.
getClerkId
());
externalClerkRelatedService
.
update
(
exsitDTO
);
}
}
private
String
insertMemberUnionIdRelated
(
MemberUnionidRelatedDTO
dto
)
{
if
(
dto
==
null
){
return
""
;
}
String
wxUserId
=
dto
.
getWxUserId
();
String
wxEnterpriseId
=
dto
.
getWxEnterpriseId
();
String
name
=
dto
.
getExternalName
();
String
createTime
=
dto
.
getAddCreateTime
();
if
(
StringUtils
.
isAnyBlank
(
wxUserId
,
wxEnterpriseId
,
name
,
createTime
)){
log
.
info
(
"【新增外部联系人】wxUserId={},wxEnterpriseId={},name={},createTime={}"
,
wxUserId
,
wxEnterpriseId
,
name
,
createTime
);
return
""
;
}
MemberUnionidRelatedDTO
exsitDTO
=
memberUnionRelatedService
.
getByParams
(
wxUserId
,
wxEnterpriseId
,
name
,
createTime
);
String
uuid
=
""
;
if
(
exsitDTO
==
null
){
uuid
=
memberUnionRelatedService
.
addMemberUnionidRelated
(
dto
);
}
else
{
//如果是自建更新uuid
exsitDTO
.
setSelfExternalUserid
(
dto
.
getSelfExternalUserid
());
exsitDTO
.
setUnionid
(
dto
.
getUnionid
());
//更新对外联系人id
exsitDTO
.
setExternalUserid
(
dto
.
getExternalUserid
());
memberUnionRelatedService
.
update
(
exsitDTO
);
uuid
=
exsitDTO
.
getMemberUnionidRelatedId
();
MemberUnionidRelatedDTO
fullDTO
=
memberUnionRelatedService
.
getByParams
(
wxUserId
,
wxEnterpriseId
,
name
,
createTime
);
dto
.
setExternalUserid
(
fullDTO
.
getExternalUserid
());
dto
.
setUnionid
(
fullDTO
.
getUnionid
());
}
return
uuid
;
}
private
MemberUnionidRelatedDTO
getMemberUnionidRelatedDTO
(
MemberUnionidRelatedDTO
dto
){
}
private
void
insertExternalClerkRelatedNew
(
MemberUnionidRelatedDTO
dto
)
{
String
wxUserId
=
dto
.
getWxUserId
();
String
wxEnterpriseId
=
dto
.
getWxEnterpriseId
();
String
name
=
dto
.
getExternalName
();
String
createTime
=
dto
.
getAddCreateTime
();
String
externalUserId
=
dto
.
getExternalUserid
();
String
avatar
=
dto
.
getAvatar
();
String
unionId
=
dto
.
getUnionid
();
if
(
StringUtils
.
isAnyBlank
(
wxUserId
,
wxEnterpriseId
,
name
,
createTime
,
unionId
))
{
log
.
info
(
"【新增外部联系人】wxUserId={},wxEnterpriseId={},name={},createTime={},avatar={},unionId={}"
,
wxUserId
,
wxEnterpriseId
,
name
,
createTime
,
avatar
,
unionId
);
return
;
}
TabHaobanStaff
staff
=
staffService
.
selectByUserIdAndEnterpriseId
(
wxUserId
,
wxEnterpriseId
);
if
(
staff
==
null
)
{
log
.
info
(
"staff不存在:{},{}"
,
dto
.
getUnionid
(),
dto
.
getWxUserId
());
return
;
}
String
staffId
=
staff
.
getStaffId
();
TabHaobanClerkMainStoreRelated
mainStoreRelated
=
clerkMainStoreRelatedService
.
selectByWxEnterpriseIdAndStoreId
(
staffId
,
wxEnterpriseId
);
if
(
mainStoreRelated
==
null
)
{
log
.
info
(
"【新增外部联系人】主门店为空:{}"
,
staffId
);
return
;
}
StaffClerkRelationDTO
staffClerkRelationDTO
=
staffClerkRelationService
.
getOneBindByStoreId
(
staffId
,
mainStoreRelated
.
getStoreId
());
if
(
staffClerkRelationDTO
==
null
)
{
log
.
info
(
"【新增外币联系人】导购和clerk关联为空"
);
return
;
}
//新增导购和外部联系人关系
String
clerkCode
=
staffClerkRelationDTO
.
getClerkCode
();
ClerkDTO
clerk
=
clerkService
.
getClerkByClerkCode
(
staffClerkRelationDTO
.
getEnterpriseId
(),
clerkCode
);
log
.
info
(
"【新增外部联系人】clerkCode={},unionid:{}"
,
clerkCode
,
unionId
);
if
(
clerk
==
null
)
{
log
.
info
(
"【新增外币联系人】导购为空:{},{}"
,
clerkCode
,
unionId
);
return
;
}
String
qrcodeParam
=
clerk
.
getQrcodeParam
();
if
(
StringUtils
.
isBlank
(
qrcodeParam
))
{
powerService
.
saveClerkQrCode
(
clerk
.
getClerkId
());
clerk
=
clerkService
.
getClerkByClerkCode
(
staffClerkRelationDTO
.
getEnterpriseId
(),
clerkCode
);
qrcodeParam
=
clerk
.
getQrcodeParam
();
}
if
(
StringUtils
.
isBlank
(
qrcodeParam
))
{
log
.
info
(
"不能生产导购二维码:{}"
,
JSONObject
.
toJSONString
(
clerk
));
return
;
}
log
.
info
(
"【新增外部联系人会员】enterpriseId={},unionId={},name={},avatar={},QrcodeParam={}"
,
staffClerkRelationDTO
.
getEnterpriseId
(),
unionId
,
name
,
avatar
,
qrcodeParam
);
MemberDTO
member
=
memberOpenCardBusinessService
.
getMemberByQywxChannelParam
(
staffClerkRelationDTO
.
getEnterpriseId
(),
unionId
,
""
,
name
,
avatar
,
qrcodeParam
);
if
(
member
==
null
)
{
log
.
info
(
"生产会员memnerid失败:{}"
,
unionId
);
return
;
}
List
<
TabHaobanExternalClerkRelated
>
externalClerkRelateds
=
externalClerkRelatedService
.
listByExTernalUseridAndWxUserId
(
dto
.
getExternalUserid
(),
dto
.
getWxUserId
());
if
(
CollectionUtils
.
isEmpty
(
externalClerkRelateds
))
{
log
.
info
(
"新增TabHaobanExternalClerkRelated"
);
TabHaobanExternalClerkRelated
related
=
new
TabHaobanExternalClerkRelated
();
related
.
setAddCreateTime
(
createTime
);
related
.
setClerkId
(
staffClerkRelationDTO
.
getClerkId
());
related
.
setEnterpriseId
(
staffClerkRelationDTO
.
getEnterpriseId
());
related
.
setExternalName
(
name
);
related
.
setExternalUserId
(
externalUserId
);
related
.
setStaffId
(
staffId
);
related
.
setMemberUnionidRelatedId
(
dto
.
getMemberUnionidRelatedId
());
related
.
setStoreId
(
staffClerkRelationDTO
.
getStoreId
());
related
.
setUnionid
(
unionId
);
related
.
setWxEnterpriseId
(
wxEnterpriseId
);
related
.
setWxUserId
(
wxUserId
);
related
.
setMemberId
(
member
.
getMemberId
());
externalClerkRelatedService
.
insert
(
related
);
}
else
{
log
.
info
(
"更新TabHaobanExternalClerkRelated"
);
TabHaobanExternalClerkRelated
exsitDTO
=
externalClerkRelateds
.
get
(
0
);
exsitDTO
.
setMemberId
(
member
.
getMemberId
());
exsitDTO
.
setMemberUnionidRelatedId
(
dto
.
getMemberUnionidRelatedId
());
exsitDTO
.
setExternalUserId
(
externalUserId
);
exsitDTO
.
setUnionid
(
unionId
);
exsitDTO
.
setStoreId
(
staffClerkRelationDTO
.
getStoreId
());
exsitDTO
.
setEnterpriseId
(
staffClerkRelationDTO
.
getEnterpriseId
());
exsitDTO
.
setClerkId
(
staffClerkRelationDTO
.
getClerkId
());
externalClerkRelatedService
.
update
(
exsitDTO
);
}
}
@Deprecated
private
String
insertMemberUnionIdRelated
(
MemberUnionidRelatedDTO
dto
)
{
if
(
dto
==
null
){
return
""
;
}
String
wxUserId
=
dto
.
getWxUserId
();
String
wxEnterpriseId
=
dto
.
getWxEnterpriseId
();
String
name
=
dto
.
getExternalName
();
String
createTime
=
dto
.
getAddCreateTime
();
if
(
StringUtils
.
isAnyBlank
(
wxUserId
,
wxEnterpriseId
,
name
,
createTime
)){
log
.
info
(
"【新增外部联系人】wxUserId={},wxEnterpriseId={},name={},createTime={}"
,
wxUserId
,
wxEnterpriseId
,
name
,
createTime
);
return
""
;
}
MemberUnionidRelatedDTO
exsitDTO
=
memberUnionRelatedService
.
getByParams
(
wxUserId
,
wxEnterpriseId
,
name
,
createTime
);
String
uuid
=
""
;
if
(
exsitDTO
==
null
){
uuid
=
memberUnionRelatedService
.
addMemberUnionidRelated
(
dto
);
}
else
{
//如果是自建更新uuid
exsitDTO
.
setSelfExternalUserid
(
dto
.
getSelfExternalUserid
());
exsitDTO
.
setUnionid
(
dto
.
getUnionid
());
//更新对外联系人id
exsitDTO
.
setExternalUserid
(
dto
.
getExternalUserid
());
memberUnionRelatedService
.
update
(
exsitDTO
);
uuid
=
exsitDTO
.
getMemberUnionidRelatedId
();
MemberUnionidRelatedDTO
fullDTO
=
memberUnionRelatedService
.
getByParams
(
wxUserId
,
wxEnterpriseId
,
name
,
createTime
);
dto
.
setExternalUserid
(
fullDTO
.
getExternalUserid
());
dto
.
setUnionid
(
fullDTO
.
getUnionid
());
}
return
uuid
;
}
@Deprecated
private
MemberUnionidRelatedDTO
getMemberUnionidRelatedDTO
(
MemberUnionidRelatedDTO
dto
){
log
.
info
(
"【新增外部联系人回调】dto={}"
,
JSON
.
toJSONString
(
dto
));
String
corpId
=
dto
.
getCorpid
();
TabHaobanWxEnterprise
wxEnterprise
=
wxEnterpriseService
.
getEnterpriseBycorpId
(
corpId
);
...
...
@@ -439,9 +519,68 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
dto
.
setExternalUserid
(
externalUserId
);
return
dto
;
}
private
ExternalUserPojo
getExternalUserPojo
(
String
unionIdJson
,
String
userId1
,
String
wxEnterpriseId
)
{
/**
* 组装数据
*
* @param dto
* @return
*/
public
MemberUnionidRelatedDTO
getMemberUnionidRelatedDTONew
(
MemberUnionidRelatedDTO
dto
)
{
log
.
info
(
"【新增外部联系人回调】dto={}"
,
JSON
.
toJSONString
(
dto
));
String
corpId
=
dto
.
getCorpid
();
TabHaobanWxEnterprise
wxEnterprise
=
wxEnterpriseService
.
getEnterpriseBycorpId
(
corpId
);
if
(
wxEnterprise
==
null
)
{
return
null
;
}
String
wxEnterpriseId
=
wxEnterprise
.
getWxEnterpriseId
();
String
userId
=
dto
.
getWxUserId
();
String
suiteid
=
dto
.
getSuiteid
();
ExternalUserDTO
externalUserDTO
;
if
(
SELF_APP
.
equals
(
suiteid
))
{
externalUserDTO
=
this
.
getCorpSelfExternalUseridInfo
(
wxEnterpriseId
,
userId
,
dto
.
getExternalUserid
());
}
else
{
externalUserDTO
=
this
.
getExternalUseridInfo
(
wxEnterpriseId
,
userId
,
dto
.
getExternalUserid
());
}
if
(
externalUserDTO
==
null
)
{
log
.
info
(
"【新增外部联系人回调】unionIdJson=null"
);
return
null
;
}
dto
.
setWxEnterpriseId
(
wxEnterpriseId
);
dto
.
setExternalName
(
externalUserDTO
.
getName
());
dto
.
setAddCreateTime
(
externalUserDTO
.
getAddCreateTime
());
dto
.
setAvatar
(
externalUserDTO
.
getAvatar
());
if
(
SELF_APP
.
equals
(
suiteid
))
{
dto
.
setUnionid
(
externalUserDTO
.
getUnionId
());
dto
.
setSelfExternalUserid
(
externalUserDTO
.
getExternalUserId
());
}
else
{
dto
.
setExternalUserid
(
externalUserDTO
.
getExternalUserId
());
}
String
key
=
"external"
+
dto
.
getWxEnterpriseId
()
+
"_"
+
dto
.
getWxUserId
()
+
"_"
+
dto
.
getExternalName
()
+
"_"
+
dto
.
getAddCreateTime
();
String
lockKey
=
key
+
"-lock"
;
RedisUtil
.
lock
(
lockKey
,
3L
);
String
memberUnionidRelatedId
=
(
String
)
RedisUtil
.
getCache
(
key
);
if
(
memberUnionidRelatedId
!=
null
)
{
log
.
info
(
"初次绑定"
);
MemberUnionidRelated
memberUnionidRelated
=
memberUnionidRelatedMapper
.
selectByPrimaryKey
(
memberUnionidRelatedId
);
dto
.
setUnionid
(
dto
.
getUnionid
()
==
null
?
memberUnionidRelated
.
getUnionid
()
:
dto
.
getUnionid
());
dto
.
setExternalUserid
(
dto
.
getExternalUserid
()
==
null
?
memberUnionidRelated
.
getExternalUserid
()
:
dto
.
getExternalUserid
());
dto
.
setSelfExternalUserid
(
dto
.
getExternalUserid
()
==
null
?
memberUnionidRelated
.
getSelfExternalUserid
()
:
dto
.
getSelfExternalUserid
());
dto
.
setMemberUnionidRelatedId
(
memberUnionidRelatedId
);
memberUnionRelatedService
.
update
(
dto
);
RedisUtil
.
unlock
(
lockKey
);
return
dto
;
}
else
{
memberUnionidRelatedId
=
memberUnionRelatedService
.
addMemberUnionidRelated
(
dto
);
RedisUtil
.
setCache
(
key
,
memberUnionidRelatedId
,
60L
);
RedisUtil
.
unlock
(
lockKey
);
return
null
;
}
}
private
ExternalUserPojo
getExternalUserPojo
(
String
unionIdJson
,
String
userId1
,
String
wxEnterpriseId
)
{
ExternalUserPojo
pojo
=
new
ExternalUserPojo
();
String
unionId
=
""
;
String
follow_user
=
""
;
...
...
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