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
4c388755
Commit
4c388755
authored
Jul 01, 2020
by
qwmqiuwenmin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix
parent
270f70e6
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
129 additions
and
146 deletions
+129
-146
MemberUnionidRelatedDTO.java
...om/gic/haoban/manage/api/dto/MemberUnionidRelatedDTO.java
+10
-0
MemberUnionidRelatedApiServiceImpl.java
.../service/out/impl/MemberUnionidRelatedApiServiceImpl.java
+119
-146
No files found.
haoban-manage3-api/src/main/java/com/gic/haoban/manage/api/dto/MemberUnionidRelatedDTO.java
View file @
4c388755
...
...
@@ -35,6 +35,8 @@ public class MemberUnionidRelatedDTO implements Serializable{
private
Date
updateTime
;
private
String
avatar
;
private
static
final
long
serialVersionUID
=
1L
;
public
String
getMemberUnionidRelatedId
()
{
...
...
@@ -157,5 +159,13 @@ public class MemberUnionidRelatedDTO implements Serializable{
this
.
enterpriseId
=
enterpriseId
;
}
public
String
getAvatar
()
{
return
avatar
;
}
public
void
setAvatar
(
String
avatar
)
{
this
.
avatar
=
avatar
;
}
}
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/out/impl/MemberUnionidRelatedApiServiceImpl.java
View file @
4c388755
...
...
@@ -242,28 +242,135 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
@Override
public
String
addMemberUnionidRelatedNew
(
MemberUnionidRelatedDTO
dto
)
{
//拼装参数
dto
=
getMemberUnionidRelatedDTO
(
dto
);
//新增成员和外部联系人的关系
String
memberUnionId
=
insertMemberUnionIdRelated
(
dto
);
//新增导购和外部联系人关系
dto
.
setMemberUnionidRelatedId
(
memberUnionId
);
insertExternalClerkRelated
(
dto
);
return
memberUnionId
;
}
private
void
insertExternalClerkRelated
(
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
();
if
(
StringUtils
.
isAnyBlank
(
wxUserId
,
wxEnterpriseId
,
name
,
createTime
,
avatar
)){
log
.
info
(
"【新增外部联系人】wxUserId={},wxEnterpriseId={},name={},createTime={},avatar={}"
,
wxUserId
,
wxEnterpriseId
,
name
,
createTime
,
avatar
);
return
;
}
TabHaobanStaff
staff
=
staffService
.
selectByUserIdAndEnterpriseId
(
wxUserId
,
wxEnterpriseId
);
if
(
staff
==
null
){
return
;
}
String
staffId
=
staff
.
getStaffId
();
String
unionId
=
dto
.
getUnionid
();
MemberDTO
member
=
null
;
TabHaobanClerkMainStoreRelated
r
=
clerkMainStoreRelatedService
.
selectByWxEnterpriseIdAndStoreId
(
staffId
,
wxEnterpriseId
);
if
(
r
==
null
){
log
.
info
(
"【新增外部联系人】主门店为空"
);
return
;
}
String
storeId
=
r
.
getStoreId
();
StaffClerkRelationDTO
staffClerkRelationDTO
=
staffClerkRelationService
.
getOneBindByStoreId
(
staffId
,
storeId
);
if
(
staffClerkRelationDTO
==
null
){
log
.
info
(
"【新增外币联系人】导购和clerk关联为空"
);
return
;
}
//新增导购和外部联系人关系
if
(
StringUtils
.
isNotBlank
(
unionId
)){
String
clerkCode
=
staffClerkRelationDTO
.
getClerkCode
();
ClerkDTO
clerk
=
clerkService
.
getClerkByClerkCode
(
staffClerkRelationDTO
.
getEnterpriseId
(),
clerkCode
);
log
.
info
(
"【新增外部联系人】clerkCode={},unionid:{}"
,
clerkCode
,
unionId
);
if
(
clerk
!=
null
&&
StringUtils
.
isNotBlank
(
clerk
.
getQrcodeParam
())&&
StringUtils
.
isNotBlank
(
unionId
)){
log
.
info
(
"【新增外部联系人会员】enterpriseId={},unionId={},name={},avatar={},QrcodeParam={}"
,
staffClerkRelationDTO
.
getEnterpriseId
(),
unionId
,
name
,
avatar
,
clerk
.
getQrcodeParam
());
member
=
memberOpenCardBusinessService
.
getMemberByQywxChannelParam
(
staffClerkRelationDTO
.
getEnterpriseId
(),
unionId
,
""
,
name
,
avatar
,
clerk
.
getQrcodeParam
());
}
}
TabHaobanExternalClerkRelated
exsitDTO
=
externalClerkRelatedService
.
getByParams
(
wxUserId
,
wxEnterpriseId
,
name
,
createTime
);
if
(
exsitDTO
==
null
){
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
(
r
.
getStoreId
());
related
.
setUnionid
(
unionId
);
related
.
setWxEnterpriseId
(
wxEnterpriseId
);
related
.
setWxUserId
(
wxUserId
);
if
(
member
!=
null
){
related
.
setMemberId
(
member
.
getMemberId
());
}
externalClerkRelatedService
.
insert
(
related
);
}
else
{
if
(
member
!=
null
){
exsitDTO
.
setMemberId
(
member
.
getMemberId
());
}
exsitDTO
.
setUnionid
(
unionId
);
exsitDTO
.
setStoreId
(
storeId
);
exsitDTO
.
setEnterpriseId
(
staffClerkRelationDTO
.
getEnterpriseId
());
exsitDTO
.
setClerkId
(
staffClerkRelationDTO
.
getClerkId
());
externalClerkRelatedService
.
update
(
exsitDTO
);
}
}
private
String
insertMemberUnionIdRelated
(
MemberUnionidRelatedDTO
dto
)
{
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
();
}
return
uuid
;
}
private
MemberUnionidRelatedDTO
getMemberUnionidRelatedDTO
(
MemberUnionidRelatedDTO
dto
){
log
.
info
(
"【新增外部联系人回调】dto={}"
,
JSON
.
toJSONString
(
dto
));
String
corpId
=
dto
.
getCorpid
();
TabHaobanWxEnterprise
wxEnterprise
=
wxEnterpriseService
.
getEnterpriseBycorpId
(
corpId
);
if
(
wxEnterprise
==
null
){
return
""
;
return
null
;
}
String
wxEnterpriseId
=
wxEnterprise
.
getWxEnterpriseId
();
String
userId
=
dto
.
getWxUserId
();
TabHaobanStaff
staff
=
staffService
.
selectByUserIdAndEnterpriseId
(
userId
,
wxEnterpriseId
);
if
(
staff
==
null
){
return
""
;
}
String
suiteid
=
dto
.
getSuiteid
();
String
unionIdJson
=
""
;
if
(
SELF_APP
.
equals
(
suiteid
)){
SecretSettingDTO
secretSetting
=
secretSettingService
.
getSecretSetting
(
wxEnterpriseId
,
SecretTypeEnum
.
CONTACT_CUSTOMER
.
getVal
());
if
(
null
==
secretSetting
)
{
log
.
info
(
"没有配置secret"
);
return
""
;
return
null
;
}
unionIdJson
=
qywxUserApiService
.
getCorpSelfExternalUseridInfo
(
dto
.
getCorpid
(),
secretSetting
.
getSecretVal
(),
dto
.
getExternalUserid
());
}
else
{
...
...
@@ -272,12 +379,11 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
if
(
StringUtils
.
isBlank
(
unionIdJson
)){
log
.
info
(
"【新增外部联系人回调】unionIdJson=null"
);
return
""
;
return
null
;
}
log
.
info
(
"【新增外部联系人回调】unionIdJson={}"
,
JSON
.
toJSONString
(
unionIdJson
));
ExternalUserPojo
pojo
=
getExternalUserPojo
(
unionIdJson
,
userId
,
wxEnterpriseId
);
//String unionId = pojo.getUnionId();
String
name
=
pojo
.
getName
();
String
createTime
=
pojo
.
getAddCreateTime
();
...
...
@@ -285,11 +391,9 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
RedisUtil
.
lock
(
key
,
2
l
);
dto
.
setWxEnterpriseId
(
wxEnterpriseId
);
//dto.setUnionid(unionId);
dto
.
setExternalName
(
name
);
dto
.
setAddCreateTime
(
createTime
);
MemberUnionidRelatedDTO
exsitDTO
=
memberUnionRelatedService
.
getByParams
(
dto
.
getWxUserId
(),
wxEnterpriseId
,
name
,
createTime
);
String
externalUserId
=
null
;
String
selfExternalUserId
=
null
;
String
unionId
=
null
;
...
...
@@ -299,135 +403,12 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
}
else
{
externalUserId
=
dto
.
getExternalUserid
();
}
String
uuid
=
""
;
if
(
exsitDTO
==
null
){
dto
.
setUnionid
(
unionId
);
dto
.
setSelfExternalUserid
(
selfExternalUserId
);
dto
.
setExternalUserid
(
externalUserId
);
dto
.
setUnionid
(
unionId
);
uuid
=
memberUnionRelatedService
.
addMemberUnionidRelated
(
dto
);
}
else
{
//如果是自建更新uuid
exsitDTO
.
setSelfExternalUserid
(
selfExternalUserId
);
exsitDTO
.
setUnionid
(
unionId
);
//更新对外联系人id
exsitDTO
.
setExternalUserid
(
externalUserId
);
memberUnionRelatedService
.
update
(
exsitDTO
);
uuid
=
exsitDTO
.
getMemberUnionidRelatedId
();
return
dto
;
}
String
staffId
=
staff
.
getStaffId
();
TabHaobanExternalClerkRelated
tab
=
null
;
//新增导购和外部联系人关系
if
(
SELF_APP
.
equals
(
suiteid
)){
TabHaobanClerkMainStoreRelated
r
=
clerkMainStoreRelatedService
.
selectByWxEnterpriseIdAndStoreId
(
staffId
,
wxEnterpriseId
);
if
(
r
==
null
){
log
.
info
(
"【新增外部联系人】主门店为空"
);
return
""
;
}
tab
=
getExternalClerkRelatedSelf
(
pojo
,
wxEnterpriseId
,
staffId
,
uuid
,
userId
,
null
,
r
.
getStoreId
());
}
else
{
tab
=
getExternalClerkRelated
(
pojo
,
wxEnterpriseId
,
staffId
,
uuid
,
userId
,
externalUserId
);
}
if
(
tab
!=
null
){
if
(
StringUtils
.
isBlank
(
tab
.
getExternalClerkRelatedId
())){
externalClerkRelatedService
.
insert
(
tab
);
}
else
{
externalClerkRelatedService
.
update
(
tab
);
}
}
return
uuid
;
}
private
TabHaobanExternalClerkRelated
getExternalClerkRelated
(
ExternalUserPojo
pojo
,
String
wxEnterpriseId
,
String
staffId
,
String
memberUnionidRelatedId
,
String
userId
,
String
externalUserid
)
{
String
unionId
=
pojo
.
getUnionId
();
String
name
=
pojo
.
getName
();
String
createTime
=
pojo
.
getAddCreateTime
();
String
relaName
=
name
;
TabHaobanExternalClerkRelated
exsitDTO
=
externalClerkRelatedService
.
getByParams
(
userId
,
wxEnterpriseId
,
name
,
createTime
);
if
(
exsitDTO
==
null
){
TabHaobanExternalClerkRelated
related
=
new
TabHaobanExternalClerkRelated
();
related
.
setAddCreateTime
(
createTime
);
related
.
setExternalName
(
relaName
);
related
.
setStaffId
(
staffId
);
related
.
setMemberUnionidRelatedId
(
memberUnionidRelatedId
);
related
.
setUnionid
(
unionId
);
related
.
setWxEnterpriseId
(
wxEnterpriseId
);
related
.
setWxUserId
(
userId
);
related
.
setExternalUserId
(
externalUserid
);
//externalClerkRelatedService.insert(related);
return
related
;
}
else
{
exsitDTO
.
setExternalUserId
(
externalUserid
);
//externalClerkRelatedService.update(exsitDTO);
return
exsitDTO
;
}
}
private
TabHaobanExternalClerkRelated
getExternalClerkRelatedSelf
(
ExternalUserPojo
pojo
,
String
wxEnterpriseId
,
String
staffId
,
String
memberUnionidRelatedId
,
String
userId
,
String
externalUserId
,
String
storeId
){
MemberDTO
member
=
null
;
StoreDTO
mainStore
=
null
;
mainStore
=
storeService
.
getStore
(
storeId
);
if
(
mainStore
==
null
){
log
.
info
(
"【新增外部联系人】门店为空"
);
return
null
;
}
StaffClerkRelationDTO
staffClerkRelationDTO
=
staffClerkRelationService
.
getOneBindByStoreId
(
staffId
,
storeId
);
if
(
staffClerkRelationDTO
==
null
){
log
.
info
(
"【新增外币联系人】导购和clerk关联为空"
);
return
null
;
}
String
unionId
=
pojo
.
getUnionId
();
String
name
=
pojo
.
getName
();
String
createTime
=
pojo
.
getAddCreateTime
();
String
avatar
=
pojo
.
getAvatar
();
String
relaName
=
name
;
String
clerkCode
=
staffClerkRelationDTO
.
getClerkCode
();
ClerkDTO
clerk
=
clerkService
.
getClerkByClerkCode
(
mainStore
.
getEnterpriseId
(),
clerkCode
);
log
.
info
(
"【新增外部联系人】clerkCode={},unionid:{}"
,
clerkCode
,
unionId
);
if
(
clerk
!=
null
&&
StringUtils
.
isNotBlank
(
clerk
.
getQrcodeParam
())&&
StringUtils
.
isNotBlank
(
unionId
)){
log
.
info
(
"【新增外部联系人会员】enterpriseId={},unionId={},name={},avatar={},QrcodeParam={}"
,
mainStore
.
getEnterpriseId
(),
unionId
,
name
,
avatar
,
clerk
.
getQrcodeParam
());
member
=
memberOpenCardBusinessService
.
getMemberByQywxChannelParam
(
mainStore
.
getEnterpriseId
(),
unionId
,
""
,
relaName
,
avatar
,
clerk
.
getQrcodeParam
());
}
log
.
info
(
"【新增外部联系人】member={},clerk={}"
,
JSON
.
toJSONString
(
member
),
JSON
.
toJSONString
(
clerk
));
TabHaobanExternalClerkRelated
exsitDTO
=
externalClerkRelatedService
.
getByParams
(
userId
,
wxEnterpriseId
,
name
,
createTime
);
if
(
exsitDTO
==
null
){
TabHaobanExternalClerkRelated
related
=
new
TabHaobanExternalClerkRelated
();
related
.
setAddCreateTime
(
createTime
);
related
.
setClerkId
(
staffClerkRelationDTO
.
getClerkId
());
related
.
setEnterpriseId
(
staffClerkRelationDTO
.
getEnterpriseId
());
related
.
setExternalName
(
relaName
);
related
.
setExternalUserId
(
externalUserId
);
related
.
setStaffId
(
staffId
);
related
.
setMemberUnionidRelatedId
(
memberUnionidRelatedId
);
related
.
setStoreId
(
storeId
);
related
.
setUnionid
(
unionId
);
related
.
setWxEnterpriseId
(
wxEnterpriseId
);
related
.
setWxUserId
(
userId
);
if
(
member
!=
null
){
related
.
setMemberId
(
member
.
getMemberId
());
}
//externalClerkRelatedService.insert(related);
return
related
;
}
else
{
if
(
member
!=
null
){
exsitDTO
.
setMemberId
(
member
.
getMemberId
());
}
exsitDTO
.
setUnionid
(
unionId
);
exsitDTO
.
setStoreId
(
storeId
);
exsitDTO
.
setEnterpriseId
(
staffClerkRelationDTO
.
getEnterpriseId
());
exsitDTO
.
setClerkId
(
staffClerkRelationDTO
.
getClerkId
());
//externalClerkRelatedService.update(exsitDTO);
return
exsitDTO
;
}
}
private
ExternalUserPojo
getExternalUserPojo
(
String
unionIdJson
,
String
userId1
,
String
wxEnterpriseId
)
{
ExternalUserPojo
pojo
=
new
ExternalUserPojo
();
...
...
@@ -520,15 +501,7 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
}
//新增门店和导购的关联关系
String
staffId
=
staff
.
getStaffId
();
TabHaobanExternalClerkRelated
tab
=
getExternalClerkRelatedSelf
(
pojo
,
wxEnterpriseId
,
staffId
,
uuid
,
userId
,
dto
.
getExternalUserid
(),
storeId
);
if
(
tab
!=
null
){
if
(
StringUtils
.
isBlank
(
tab
.
getExternalClerkRelatedId
())){
externalClerkRelatedService
.
insert
(
tab
);
}
else
{
externalClerkRelatedService
.
update
(
tab
);
}
}
insertExternalClerkRelated
(
dto
);
return
uuid
;
}
...
...
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