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
257a9b15
Commit
257a9b15
authored
May 26, 2021
by
bilingfeng
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat : 群发任务自测调试修改
parent
ae37668f
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
172 additions
and
158 deletions
+172
-158
MemberUnionidRelatedApiService.java
...an/manage/api/service/MemberUnionidRelatedApiService.java
+1
-1
MemberUnionidRelatedApiServiceImpl.java
.../service/out/impl/MemberUnionidRelatedApiServiceImpl.java
+171
-157
No files found.
haoban-manage3-api/src/main/java/com/gic/haoban/manage/api/service/MemberUnionidRelatedApiService.java
View file @
257a9b15
...
...
@@ -61,7 +61,7 @@ public interface MemberUnionidRelatedApiService {
* @param materialIdList : 素材id列表
* @return : 返回群发执行结果
*/
String
sendMessage
(
String
wxEnterpriseId
,
String
userId
,
List
<
String
>
extendUserList
,
List
<
String
>
materialIdList
);
JSONResponse
sendMessage
(
String
wxEnterpriseId
,
String
userId
,
List
<
String
>
extendUserList
,
List
<
String
>
materialIdList
);
/**
* 获取群发成员发送任务列表
...
...
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/out/impl/MemberUnionidRelatedApiServiceImpl.java
View file @
257a9b15
...
...
@@ -61,7 +61,7 @@ import java.util.*;
import
java.util.stream.Collectors
;
@Service
public
class
MemberUnionidRelatedApiServiceImpl
implements
MemberUnionidRelatedApiService
{
public
class
MemberUnionidRelatedApiServiceImpl
implements
MemberUnionidRelatedApiService
{
private
static
final
Logger
log
=
LogManager
.
getLogger
(
MemberUnionidRelatedApiServiceImpl
.
class
);
@Autowired
private
MemberUnionRelatedService
memberUnionRelatedService
;
...
...
@@ -141,7 +141,7 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
public
List
<
MemberStoreDTO
>
listByExTernalUseridAndWxUserId
(
String
externalUserid
,
String
wxUserId
)
{
List
<
TabHaobanExternalClerkRelated
>
list
=
externalClerkRelatedService
.
listByExTernalUseridAndWxUserId
(
externalUserid
,
wxUserId
);
List
<
MemberStoreDTO
>
result
=
new
ArrayList
<>();
if
(
CollectionUtil
.
isEmpty
(
list
))
{
if
(
CollectionUtil
.
isEmpty
(
list
))
{
return
null
;
}
String
wxEnterpriseId
=
list
.
get
(
0
).
getWxEnterpriseId
();
...
...
@@ -151,7 +151,7 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
return
null
;
}
List
<
StaffClerkRelationDTO
>
clerkRelationDTOS
=
staffClerkRelationService
.
listBindCodeByStaffId
(
null
,
haobanStaff
.
getStaffId
());
if
(
CollectionUtil
.
isEmpty
(
clerkRelationDTOS
))
{
if
(
CollectionUtil
.
isEmpty
(
clerkRelationDTOS
))
{
log
.
info
(
"staff关联门店不存在1"
);
return
null
;
}
...
...
@@ -171,61 +171,61 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
// log.info("staff关联门店不存在1");
// return null;
// }
List
<
String
>
storeIds
=
clerkRelationDTOS
.
stream
().
filter
(
s
->(
s
.
getStoreId
()!=
null
||
""
.
equals
(
s
.
getStoreId
()))).
map
(
s
->
s
.
getStoreId
()).
collect
(
Collectors
.
toList
());
if
(
CollectionUtil
.
isEmpty
(
storeIds
))
{
List
<
String
>
storeIds
=
clerkRelationDTOS
.
stream
().
filter
(
s
->
(
s
.
getStoreId
()
!=
null
||
""
.
equals
(
s
.
getStoreId
()))).
map
(
s
->
s
.
getStoreId
()).
collect
(
Collectors
.
toList
());
if
(
CollectionUtil
.
isEmpty
(
storeIds
))
{
log
.
info
(
"staff关联门店不存在2"
);
return
null
;
}
//2、获取member的storeId
for
(
TabHaobanExternalClerkRelated
tab
:
list
)
{
for
(
TabHaobanExternalClerkRelated
tab
:
list
)
{
String
memberId
=
tab
.
getMemberId
();
if
(
StringUtils
.
isEmpty
(
memberId
))
{
continue
;
if
(
StringUtils
.
isEmpty
(
memberId
))
{
continue
;
}
String
gicEnterpriseId
=
tab
.
getEnterpriseId
();
JSONObject
searchJson
=
new
JSONObject
();
searchJson
=
NewNodeAddUtil
.
addNewNodeForAnd
(
MemberDataEnum
.
member_memberId
.
getCode
(),
OperateEnum
.
OPERATE_EQ
.
getValue
(),
memberId
,
searchJson
);
searchJson
=
NewNodeAddUtil
.
addNewNodeForAnd
(
MemberDataEnum
.
member_memberId
.
getCode
(),
OperateEnum
.
OPERATE_EQ
.
getValue
(),
memberId
,
searchJson
);
DynamicSearchDTO
dynamicSearchDTO
=
new
DynamicSearchDTO
();
dynamicSearchDTO
.
setEnterpriseId
(
gicEnterpriseId
);
dynamicSearchDTO
.
setColumnCategoryCode
(
"member"
);
dynamicSearchDTO
.
setSearchJson
(
searchJson
);
dynamicSearchDTO
.
setBegin
(
0
);
dynamicSearchDTO
.
setRecordNumber
(
1
);
log
.
info
(
"gicEnterpriseId=========>{},searchJson=========={}"
,
gicEnterpriseId
,
searchJson
);
log
.
info
(
"gicEnterpriseId=========>{},searchJson=========={}"
,
gicEnterpriseId
,
searchJson
);
ESResponseQueryBatch
responseQuery
=
eSDataDynamicOperationApiService
.
queryDataBatch
(
dynamicSearchDTO
,
false
,
null
);
if
(
null
==
responseQuery
)
{
if
(
null
==
responseQuery
)
{
log
.
info
(
"会员不存在1"
);
continue
;
}
List
<
JSONObject
>
res
=
responseQuery
.
getRes
();
if
(
CollectionUtil
.
isEmpty
(
res
))
{
if
(
CollectionUtil
.
isEmpty
(
res
))
{
log
.
info
(
"会员不存在2"
);
continue
;
}
String
storeId
=
""
;
for
(
JSONObject
jsonObject
:
res
)
{
storeId
=
jsonObject
.
get
(
"storeId"
)
==
null
?
""
:
jsonObject
.
get
(
"storeId"
).
toString
();
storeId
=
jsonObject
.
get
(
"storeId"
)
==
null
?
""
:
jsonObject
.
get
(
"storeId"
).
toString
();
}
if
(
StringUtils
.
isEmpty
(
storeId
))
{
if
(
StringUtils
.
isEmpty
(
storeId
))
{
log
.
info
(
"会员门店不存在"
);
continue
;
}
String
[]
memberStoreIds
=
storeId
.
split
(
" "
);
String
[]
memberStoreIds
=
storeId
.
split
(
" "
);
List
<
String
>
memberStoreIdList
=
Arrays
.
asList
(
memberStoreIds
);
if
(
CollectionUtil
.
isEmpty
(
memberStoreIdList
))
{
if
(
CollectionUtil
.
isEmpty
(
memberStoreIdList
))
{
log
.
info
(
"会员门店不存在"
);
continue
;
}
log
.
info
(
"memberStoreIdList===============>{}"
,
JSONObject
.
toJSONString
(
memberStoreIdList
));
log
.
info
(
"storeIds===============>{}"
,
JSONObject
.
toJSONString
(
storeIds
));
log
.
info
(
"memberStoreIdList===============>{}"
,
JSONObject
.
toJSONString
(
memberStoreIdList
));
log
.
info
(
"storeIds===============>{}"
,
JSONObject
.
toJSONString
(
storeIds
));
//取交集(解决不支持的报错现象)
List
list3
=
new
ArrayList
(
memberStoreIdList
);
List
list4
=
new
ArrayList
(
storeIds
);
List
list3
=
new
ArrayList
(
memberStoreIdList
);
List
list4
=
new
ArrayList
(
storeIds
);
list3
.
retainAll
(
list4
);
if
(
CollectionUtil
.
isEmpty
(
list3
))
{
if
(
CollectionUtil
.
isEmpty
(
list3
))
{
continue
;
}
else
{
for
(
Object
resultStoreId
:
list3
)
{
}
else
{
for
(
Object
resultStoreId
:
list3
)
{
MemberStoreDTO
dto
=
new
MemberStoreDTO
();
dto
.
setMemberId
(
memberId
);
dto
.
setStoreId
(
resultStoreId
.
toString
());
...
...
@@ -250,12 +250,13 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
@Override
public
MemberUnionidRelatedDTO
getByUnionId
(
String
staffId
,
String
unionid
)
{
TabHaobanStaff
staff
=
staffService
.
selectById
(
staffId
);
if
(
staff
==
null
)
{
if
(
staff
==
null
)
{
return
null
;
}
log
.
info
(
"【查询会员】wxUserId={},unionid={}"
,
staff
.
getWxUserId
(),
unionid
);
log
.
info
(
"【查询会员】wxUserId={},unionid={}"
,
staff
.
getWxUserId
(),
unionid
);
return
memberUnionRelatedService
.
getByUnionId
(
staff
.
getWxEnterpriseId
(),
staff
.
getWxUserId
(),
unionid
);
}
@Override
public
String
addMemberUnionidRelated
(
MemberUnionidRelatedDTO
dto
)
{
DealQywxExternalUserPojo
dealQywxExternalUserPojo
=
new
DealQywxExternalUserPojo
();
...
...
@@ -294,56 +295,56 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
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
);
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
)
{
if
(
staff
==
null
)
{
return
;
}
String
staffId
=
staff
.
getStaffId
();
MemberDTO
member
=
null
;
TabHaobanClerkMainStoreRelated
r
=
clerkMainStoreRelatedService
.
getMainStoreByStaffId
(
staffId
,
wxEnterpriseId
);
if
(
r
==
null
)
{
if
(
r
==
null
)
{
log
.
info
(
"【新增外部联系人】主门店为空"
);
return
;
}
String
storeId
=
r
.
getStoreId
();
StaffClerkRelationDTO
staffClerkRelationDTO
=
staffClerkRelationService
.
getOneBindByStoreId
(
staffId
,
storeId
);
if
(
staffClerkRelationDTO
==
null
)
{
StaffClerkRelationDTO
staffClerkRelationDTO
=
staffClerkRelationService
.
getOneBindByStoreId
(
staffId
,
storeId
);
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:{}"
,
clerkCode
,
unionId
);
if
(
clerk
==
null
)
{
log
.
info
(
"【新增外币联系人】导购为空"
);
return
;
}
String
qrcodeParam
=
clerk
.
getQrcodeParam
();
if
(
StringUtils
.
isBlank
(
qrcodeParam
))
{
if
(
StringUtils
.
isBlank
(
qrcodeParam
))
{
powerService
.
saveClerkQrCode
(
clerk
.
getClerkId
());
clerk
=
clerkService
.
getClerkByClerkCode
(
staffClerkRelationDTO
.
getEnterpriseId
(),
clerkCode
);
qrcodeParam
=
clerk
.
getQrcodeParam
();
}
if
(
clerk
!=
null
&&
StringUtils
.
isNotBlank
(
qrcodeParam
)&&
StringUtils
.
isNotBlank
(
unionId
))
{
log
.
info
(
"【新增外部联系人会员】enterpriseId={},unionId={},name={},avatar={},QrcodeParam={}"
,
staffClerkRelationDTO
.
getEnterpriseId
(),
unionId
,
name
,
avatar
,
qrcodeParam
);
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
);
}
TabHaobanExternalClerkRelated
exsitDTO
=
externalClerkRelatedService
.
getByParams
(
wxUserId
,
wxEnterpriseId
,
name
,
createTime
);
String
key
=
wxUserId
+
wxEnterpriseId
+
name
+
createTime
;
if
(
exsitDTO
==
null
)
{
RedisUtil
.
lock
(
key
,
1L
);
exsitDTO
=
externalClerkRelatedService
.
getByParams
(
wxUserId
,
wxEnterpriseId
,
name
,
createTime
);
TabHaobanExternalClerkRelated
exsitDTO
=
externalClerkRelatedService
.
getByParams
(
wxUserId
,
wxEnterpriseId
,
name
,
createTime
);
String
key
=
wxUserId
+
wxEnterpriseId
+
name
+
createTime
;
if
(
exsitDTO
==
null
)
{
RedisUtil
.
lock
(
key
,
1L
);
exsitDTO
=
externalClerkRelatedService
.
getByParams
(
wxUserId
,
wxEnterpriseId
,
name
,
createTime
);
RedisUtil
.
unlock
(
key
);
}
if
(
exsitDTO
==
null
)
{
if
(
exsitDTO
==
null
)
{
TabHaobanExternalClerkRelated
related
=
new
TabHaobanExternalClerkRelated
();
related
.
setAddCreateTime
(
createTime
);
related
.
setClerkId
(
staffClerkRelationDTO
.
getClerkId
());
...
...
@@ -356,13 +357,13 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
related
.
setUnionid
(
unionId
);
related
.
setWxEnterpriseId
(
wxEnterpriseId
);
related
.
setWxUserId
(
wxUserId
);
if
(
member
!=
null
)
{
if
(
member
!=
null
)
{
related
.
setMemberId
(
member
.
getMemberId
());
}
externalClerkRelatedService
.
insert
(
related
);
}
else
{
if
(
member
!=
null
)
{
}
else
{
if
(
member
!=
null
)
{
exsitDTO
.
setMemberId
(
member
.
getMemberId
());
}
exsitDTO
.
setMemberUnionidRelatedId
(
dto
.
getMemberUnionidRelatedId
());
...
...
@@ -573,22 +574,22 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
@Deprecated
private
String
insertMemberUnionIdRelated
(
MemberUnionidRelatedDTO
dto
)
{
if
(
dto
==
null
)
{
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
);
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
);
MemberUnionidRelatedDTO
exsitDTO
=
memberUnionRelatedService
.
getByParams
(
wxUserId
,
wxEnterpriseId
,
name
,
createTime
);
String
uuid
=
""
;
if
(
exsitDTO
==
null
)
{
if
(
exsitDTO
==
null
)
{
uuid
=
memberUnionRelatedService
.
addMemberUnionidRelated
(
dto
);
}
else
{
}
else
{
//如果是自建更新uuid
exsitDTO
.
setSelfExternalUserid
(
dto
.
getSelfExternalUserid
());
exsitDTO
.
setUnionid
(
dto
.
getUnionid
());
...
...
@@ -597,7 +598,7 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
memberUnionRelatedService
.
update
(
exsitDTO
);
uuid
=
exsitDTO
.
getMemberUnionidRelatedId
();
MemberUnionidRelatedDTO
fullDTO
=
memberUnionRelatedService
.
getByParams
(
wxUserId
,
wxEnterpriseId
,
name
,
createTime
);
MemberUnionidRelatedDTO
fullDTO
=
memberUnionRelatedService
.
getByParams
(
wxUserId
,
wxEnterpriseId
,
name
,
createTime
);
dto
.
setExternalUserid
(
fullDTO
.
getExternalUserid
());
dto
.
setUnionid
(
fullDTO
.
getUnionid
());
}
...
...
@@ -606,11 +607,11 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
}
@Deprecated
private
MemberUnionidRelatedDTO
getMemberUnionidRelatedDTO
(
MemberUnionidRelatedDTO
dto
){
log
.
info
(
"【新增外部联系人回调】dto={}"
,
JSON
.
toJSONString
(
dto
));
private
MemberUnionidRelatedDTO
getMemberUnionidRelatedDTO
(
MemberUnionidRelatedDTO
dto
)
{
log
.
info
(
"【新增外部联系人回调】dto={}"
,
JSON
.
toJSONString
(
dto
));
String
corpId
=
dto
.
getCorpid
();
TabHaobanWxEnterprise
wxEnterprise
=
wxEnterpriseService
.
getEnterpriseBycorpId
(
corpId
);
if
(
wxEnterprise
==
null
)
{
if
(
wxEnterprise
==
null
)
{
return
null
;
}
...
...
@@ -618,24 +619,24 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
String
userId
=
dto
.
getWxUserId
();
String
suiteid
=
dto
.
getSuiteid
();
String
unionIdJson
=
""
;
if
(
SELF_APP
.
equals
(
suiteid
))
{
if
(
SELF_APP
.
equals
(
suiteid
))
{
SecretSettingDTO
secretSetting
=
secretSettingService
.
getSecretSetting
(
wxEnterpriseId
,
SecretTypeEnum
.
CONTACT_CUSTOMER
.
getVal
());
if
(
null
==
secretSetting
)
{
log
.
info
(
"没有配置secret"
);
return
null
;
}
unionIdJson
=
qywxUserApiService
.
getCorpSelfExternalUseridInfo
(
dto
.
getCorpid
(),
secretSetting
.
getSecretVal
(),
dto
.
getExternalUserid
());
}
else
{
}
else
{
unionIdJson
=
qywxUserApiService
.
getExternalUseridInfo
(
dto
.
getCorpid
(),
dto
.
getSuiteid
(),
dto
.
getExternalUserid
());
}
if
(
StringUtils
.
isBlank
(
unionIdJson
))
{
if
(
StringUtils
.
isBlank
(
unionIdJson
))
{
log
.
info
(
"【新增外部联系人回调】unionIdJson=null"
);
return
null
;
}
log
.
info
(
"【新增外部联系人回调】unionIdJson={}"
,
JSON
.
toJSONString
(
unionIdJson
));
log
.
info
(
"【新增外部联系人回调】unionIdJson={}"
,
JSON
.
toJSONString
(
unionIdJson
));
ExternalUserPojo
pojo
=
getExternalUserPojo
(
unionIdJson
,
userId
,
wxEnterpriseId
);
ExternalUserPojo
pojo
=
getExternalUserPojo
(
unionIdJson
,
userId
,
wxEnterpriseId
);
String
name
=
pojo
.
getName
();
String
createTime
=
pojo
.
getAddCreateTime
();
...
...
@@ -648,10 +649,10 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
String
externalUserId
=
null
;
String
selfExternalUserId
=
null
;
String
unionId
=
null
;
if
(
SELF_APP
.
equals
(
suiteid
))
{
if
(
SELF_APP
.
equals
(
suiteid
))
{
unionId
=
pojo
.
getUnionId
();
selfExternalUserId
=
dto
.
getExternalUserid
();
}
else
{
}
else
{
externalUserId
=
dto
.
getExternalUserid
();
}
dto
.
setUnionid
(
unionId
);
...
...
@@ -723,7 +724,7 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
}
private
ExternalUserPojo
getExternalUserPojo
(
String
unionIdJson
,
String
userId1
,
String
wxEnterpriseId
)
{
private
ExternalUserPojo
getExternalUserPojo
(
String
unionIdJson
,
String
userId1
,
String
wxEnterpriseId
)
{
ExternalUserPojo
pojo
=
new
ExternalUserPojo
();
String
unionId
=
""
;
String
follow_user
=
""
;
...
...
@@ -732,14 +733,14 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
String
avatar
=
""
;
String
relaName
=
""
;
String
externalUserId
=
""
;
if
(
StringUtils
.
isNotBlank
(
unionIdJson
))
{
if
(
StringUtils
.
isNotBlank
(
unionIdJson
))
{
JSONObject
jo
=
JSON
.
parseObject
(
unionIdJson
);
String
external_contact
=
jo
.
getString
(
"external_contact"
);
if
(
StringUtils
.
isNotBlank
(
external_contact
))
{
if
(
StringUtils
.
isNotBlank
(
external_contact
))
{
JSONObject
jt
=
JSON
.
parseObject
(
external_contact
);
unionId
=
jt
.
getString
(
"unionid"
);
relaName
=
EmojiFilterUtil
.
filterEmojiLast
(
jt
.
getString
(
"name"
),
true
);
if
(
StringUtils
.
isBlank
(
relaName
))
{
if
(
StringUtils
.
isBlank
(
relaName
))
{
relaName
=
"--"
;
}
avatar
=
jt
.
getString
(
"avatar"
);
...
...
@@ -747,13 +748,13 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
}
follow_user
=
jo
.
getString
(
"follow_user"
);
if
(
StringUtils
.
isNotBlank
(
follow_user
))
{
if
(
StringUtils
.
isNotBlank
(
follow_user
))
{
JSONArray
j
=
JSON
.
parseArray
(
follow_user
);
for
(
Object
object
:
j
)
{
String
followJson
=
JSON
.
toJSONString
(
object
);
JSONObject
follow
=
JSON
.
parseObject
(
followJson
);
userId
=
follow
.
getString
(
"userid"
);
if
(
userId
.
equals
(
userId1
))
{
if
(
userId
.
equals
(
userId1
))
{
createTime
=
follow
.
getString
(
"createtime"
);
}
}
...
...
@@ -767,15 +768,16 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
pojo
.
setWxEnterpriseId
(
wxEnterpriseId
);
return
pojo
;
}
@Override
public
String
add
(
String
wxEnterpriseId
,
String
selfExternalUserId
,
String
userId
,
String
storeId
)
{
public
String
add
(
String
wxEnterpriseId
,
String
selfExternalUserId
,
String
userId
,
String
storeId
)
{
WxEnterpriseDTO
wxEnterprise
=
wxEnterpriseService
.
selectById
(
wxEnterpriseId
);
if
(
wxEnterprise
==
null
)
{
if
(
wxEnterprise
==
null
)
{
return
""
;
}
TabHaobanStaff
staff
=
staffService
.
selectByUserIdAndEnterpriseId
(
userId
,
wxEnterpriseId
);
if
(
staff
==
null
)
{
if
(
staff
==
null
)
{
return
""
;
}
...
...
@@ -786,7 +788,7 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
}
String
unionIdJson
=
qywxUserApiService
.
getCorpSelfExternalUseridInfo
(
wxEnterprise
.
getCorpid
(),
secretSetting
.
getSecretVal
(),
selfExternalUserId
);
ExternalUserPojo
pojo
=
getExternalUserPojo
(
unionIdJson
,
userId
,
wxEnterpriseId
);
ExternalUserPojo
pojo
=
getExternalUserPojo
(
unionIdJson
,
userId
,
wxEnterpriseId
);
String
unionId
=
pojo
.
getUnionId
();
String
name
=
pojo
.
getName
();
String
createTime
=
pojo
.
getAddCreateTime
();
...
...
@@ -803,20 +805,20 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
dto
.
setAddCreateTime
(
createTime
);
dto
.
setWxUserId
(
userId
);
dto
.
setAvatar
(
pojo
.
getAvatar
());
if
(
StringUtils
.
isBlank
(
unionId
))
{
if
(
StringUtils
.
isBlank
(
unionId
))
{
return
""
;
}
dto
.
setSuiteid
(
secretSetting
.
getSecretVal
());
MemberUnionidRelatedDTO
exsitDTO
=
memberUnionRelatedService
.
getByParams
(
userId
,
wxEnterpriseId
,
name
,
createTime
);
MemberUnionidRelatedDTO
exsitDTO
=
memberUnionRelatedService
.
getByParams
(
userId
,
wxEnterpriseId
,
name
,
createTime
);
String
uuid
=
""
;
if
(
exsitDTO
==
null
)
{
if
(
exsitDTO
==
null
)
{
dto
.
setUnionid
(
unionId
);
//更新对外联系人id
dto
.
setSelfExternalUserid
(
selfExternalUserId
);
uuid
=
memberUnionRelatedService
.
addMemberUnionidRelated
(
dto
);
}
else
{
}
else
{
exsitDTO
.
setExternalUserid
(
externalUserId
);
exsitDTO
.
setUnionid
(
unionId
);
//更新对外联系人id
...
...
@@ -832,39 +834,39 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
}
private
String
getExternalUserId
(
WxEnterpriseDTO
wxEnterprise
,
String
userId1
,
String
createTime
,
String
name
)
{
log
.
info
(
"新增外部联系人】corpid={},suiteId={},userId1={}"
,
wxEnterprise
.
getCorpid
(),
config
.
getWxSuiteid
(),
userId1
);
private
String
getExternalUserId
(
WxEnterpriseDTO
wxEnterprise
,
String
userId1
,
String
createTime
,
String
name
)
{
log
.
info
(
"新增外部联系人】corpid={},suiteId={},userId1={}"
,
wxEnterprise
.
getCorpid
(),
config
.
getWxSuiteid
(),
userId1
);
String
wxRes
=
qywxUserApiService
.
listExternalUserid
(
wxEnterprise
.
getCorpid
(),
config
.
getWxSuiteid
(),
userId1
);
String
externalUserId
=
""
;
log
.
info
(
"【新增外部联系人】wxRes={}"
,
wxRes
);
if
(
StringUtils
.
isNotBlank
(
wxRes
))
{
log
.
info
(
"【新增外部联系人】wxRes={}"
,
wxRes
);
if
(
StringUtils
.
isNotBlank
(
wxRes
))
{
JSONArray
jsonArr
=
JSON
.
parseArray
(
wxRes
);
String
wxName
=
""
;
for
(
Object
externalUserid
:
jsonArr
)
{
String
uJ
=
qywxUserApiService
.
getExternalUseridInfo
(
wxEnterprise
.
getCorpid
(),
config
.
getWxSuiteid
(),
externalUserid
.
toString
());
log
.
info
(
"【新增外部联系人】uJ={}"
,
uJ
);
if
(
StringUtils
.
isNotBlank
(
uJ
))
{
log
.
info
(
"【新增外部联系人】uJ={}"
,
uJ
);
if
(
StringUtils
.
isNotBlank
(
uJ
))
{
JSONObject
jo
=
JSON
.
parseObject
(
uJ
);
String
external_contact
=
jo
.
getString
(
"external_contact"
);
String
uj_follow_user
=
jo
.
getString
(
"follow_user"
);
JSONObject
jt
=
null
;
if
(
StringUtils
.
isNotBlank
(
external_contact
))
{
if
(
StringUtils
.
isNotBlank
(
external_contact
))
{
jt
=
JSON
.
parseObject
(
external_contact
);
wxName
=
EmojiFilterUtil
.
filterEmojiLast
(
jt
.
getString
(
"name"
),
true
);
if
(
StringUtils
.
isBlank
(
wxName
))
{
if
(
StringUtils
.
isBlank
(
wxName
))
{
wxName
=
"--"
;
}
}
if
(
StringUtils
.
isNotBlank
(
uj_follow_user
))
{
if
(
StringUtils
.
isNotBlank
(
uj_follow_user
))
{
JSONArray
j
=
JSON
.
parseArray
(
uj_follow_user
);
String
uj_userId
=
""
;
for
(
Object
object
:
j
)
{
String
followJson
=
JSON
.
toJSONString
(
object
);
JSONObject
follow
=
JSON
.
parseObject
(
followJson
);
uj_userId
=
follow
.
getString
(
"userid"
);
log
.
info
(
"【新增外部联系人】createTime={},name={},followCreateTime={},wxName={}"
,
createTime
,
name
,
follow
.
getString
(
"createtime"
),
wxName
);
if
(
uj_userId
.
equals
(
userId1
)
&&
createTime
.
equals
(
follow
.
getString
(
"createtime"
))
&&
name
.
equals
(
wxName
))
{
if
(
jt
!=
null
)
{
log
.
info
(
"【新增外部联系人】createTime={},name={},followCreateTime={},wxName={}"
,
createTime
,
name
,
follow
.
getString
(
"createtime"
),
wxName
);
if
(
uj_userId
.
equals
(
userId1
)
&&
createTime
.
equals
(
follow
.
getString
(
"createtime"
))
&&
name
.
equals
(
wxName
))
{
if
(
jt
!=
null
)
{
externalUserId
=
jt
.
getString
(
"external_userid"
);
break
;
}
...
...
@@ -872,13 +874,14 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
}
}
}
if
(
StringUtils
.
isNotBlank
(
externalUserId
))
{
if
(
StringUtils
.
isNotBlank
(
externalUserId
))
{
break
;
}
}
}
return
externalUserId
;
}
@Override
public
void
delMemberUnionidRelated
(
MemberUnionidRelatedDTO
dto
)
{
DealQywxExternalUserPojo
dealQywxExternalUserPojo
=
new
DealQywxExternalUserPojo
();
...
...
@@ -908,35 +911,37 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
@Override
public
ExternalClerkRelatedDTO
getByMemberId
(
String
staffId
,
String
memberId
)
{
TabHaobanStaff
staff
=
staffService
.
selectById
(
staffId
);
if
(
staff
==
null
)
{
if
(
staff
==
null
)
{
return
null
;
}
log
.
info
(
"【查询会员】wxUserId={},unionid={}"
,
staff
.
getWxUserId
(),
memberId
);
return
externalClerkRelatedService
.
getByMemberId
(
staff
.
getWxUserId
(),
memberId
);
log
.
info
(
"【查询会员】wxUserId={},unionid={}"
,
staff
.
getWxUserId
(),
memberId
);
return
externalClerkRelatedService
.
getByMemberId
(
staff
.
getWxUserId
(),
memberId
);
}
@Override
public
List
<
MemberUnionidRelatedDTO
>
getByWxUserIdAndWxEnterpriseId
(
String
wxUserId
,
String
wxEnterpriseId
)
{
List
<
MemberUnionidRelatedDTO
>
list
=
memberUnionRelatedService
.
getByWxUserIdAndWxEnterpriseId
(
wxUserId
,
wxEnterpriseId
);
List
<
MemberUnionidRelatedDTO
>
list
=
memberUnionRelatedService
.
getByWxUserIdAndWxEnterpriseId
(
wxUserId
,
wxEnterpriseId
);
return
list
;
}
@Override
public
List
<
MemberUnionidRelatedDTO
>
listByEnterpriseIdAndDate
(
String
enterpriseId
,
Date
date
)
{
List
<
MemberUnionidRelated
>
list
=
memberUnionidRelatedMapper
.
listByEnterpriseIdAndDate
(
enterpriseId
,
date
);
return
EntityUtil
.
changeEntityListByJSON
(
MemberUnionidRelatedDTO
.
class
,
list
);
public
List
<
MemberUnionidRelatedDTO
>
listByEnterpriseIdAndDate
(
String
enterpriseId
,
Date
date
)
{
List
<
MemberUnionidRelated
>
list
=
memberUnionidRelatedMapper
.
listByEnterpriseIdAndDate
(
enterpriseId
,
date
);
return
EntityUtil
.
changeEntityListByJSON
(
MemberUnionidRelatedDTO
.
class
,
list
);
}
@Override
public
void
freshWxFrend
(
String
wxEnterpriseId
,
String
wxUserId
,
String
storeId
)
{
log
.
info
(
"【刷下好友】wxUserId={}"
,
wxUserId
);
public
void
freshWxFrend
(
String
wxEnterpriseId
,
String
wxUserId
,
String
storeId
)
{
log
.
info
(
"【刷下好友】wxUserId={}"
,
wxUserId
);
WxEnterpriseDTO
enterprise
=
wxEnterpriseService
.
selectById
(
wxEnterpriseId
);
String
wxRes
=
qywxUserApiService
.
listExternalUserid
(
enterprise
.
getCorpid
(),
config
.
getWxSuiteid
(),
wxUserId
);
List
<
MemberUnionidRelatedDTO
>
list
=
this
.
getByWxUserIdAndWxEnterpriseId
(
wxUserId
,
wxEnterpriseId
);
List
<
String
>
externalUserIdList
=
list
.
stream
().
map
(
external
->
external
.
getExternalUserid
())
List
<
String
>
externalUserIdList
=
list
.
stream
().
map
(
external
->
external
.
getExternalUserid
())
.
collect
(
Collectors
.
toList
());
JSONArray
externalArr
=
JSON
.
parseArray
(
wxRes
);
for
(
String
externalUserId
:
externalUserIdList
)
{
if
(!
externalArr
.
contains
(
externalUserId
))
{
if
(!
externalArr
.
contains
(
externalUserId
))
{
//删除成员和外部联系人关系
MemberUnionidRelatedDTO
dto
=
new
MemberUnionidRelatedDTO
();
dto
.
setExternalUserid
(
externalUserId
);
...
...
@@ -949,36 +954,36 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
SecretSettingDTO
secretSetting
=
secretSettingService
.
getSecretSetting
(
wxEnterpriseId
,
SecretTypeEnum
.
CONTACT_CUSTOMER
.
getVal
());
if
(
null
==
secretSetting
||
secretSetting
.
getCheckFlag
()==
0
)
{
log
.
info
(
"没有配置客户联系secret:{}"
,
wxEnterpriseId
);
if
(
null
==
secretSetting
||
secretSetting
.
getCheckFlag
()
==
0
)
{
log
.
info
(
"没有配置客户联系secret:{}"
,
wxEnterpriseId
);
return
;
}
String
res
=
qywxUserApiService
.
listSelfExternalUserid
(
enterprise
.
getCorpid
(),
secretSetting
.
getSecretVal
(),
wxUserId
);
log
.
info
(
"【刷下好友】res={}"
,
res
);
if
(
StringUtils
.
isBlank
(
res
))
{
log
.
info
(
"【刷下好友】res={}"
,
res
);
if
(
StringUtils
.
isBlank
(
res
))
{
return
;
}
JSONArray
jsonArr
=
JSON
.
parseArray
(
res
);
if
(
jsonArr
.
size
()
==
0
)
{
if
(
jsonArr
.
size
()
==
0
)
{
return
;
}
for
(
Object
object
:
jsonArr
)
{
this
.
add
(
wxEnterpriseId
,
object
.
toString
(),
wxUserId
,
storeId
);
this
.
add
(
wxEnterpriseId
,
object
.
toString
(),
wxUserId
,
storeId
);
}
}
@Override
public
void
mqFreshWxFrend
(
String
res
)
{
public
void
mqFreshWxFrend
(
String
res
)
{
JSONObject
json
=
JSON
.
parseObject
(
res
);
String
wxEnterpriseId
=
json
.
getString
(
"wxEnterpriseId"
);
String
wxUserId
=
json
.
getString
(
"wxUserId"
);
String
storeId
=
json
.
getString
(
"storeId"
);
log
.
info
(
"【刷下微信好友】wxEnterpriseId={}.wxUserId={},storeId={}"
,
wxEnterpriseId
,
wxUserId
,
storeId
);
if
(
StringUtils
.
isAnyBlank
(
wxEnterpriseId
,
wxUserId
,
storeId
))
{
return
;
log
.
info
(
"【刷下微信好友】wxEnterpriseId={}.wxUserId={},storeId={}"
,
wxEnterpriseId
,
wxUserId
,
storeId
);
if
(
StringUtils
.
isAnyBlank
(
wxEnterpriseId
,
wxUserId
,
storeId
))
{
return
;
}
freshWxFrend
(
wxEnterpriseId
,
wxUserId
,
storeId
);
}
...
...
@@ -990,15 +995,16 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
if
(
null
!=
wxEnterprise
)
{
memberUnionRelatedService
.
clean
(
wxEnterprise
.
getWxEnterpriseId
());
}
}
else
{
}
else
{
memberUnionRelatedService
.
clean
(
null
);
}
}
@Override
public
Page
<
MemberUnionidRelatedDTO
>
pageMemberUnionByParams
(
List
<
String
>
userIdList
,
List
<
String
>
sendMemberIds
,
String
enterpriseId
,
BasePageInfo
pageInfo
)
{
PageHelper
.
startPage
(
pageInfo
.
getPageNum
(),
pageInfo
.
getPageSize
());
return
PageUtil
.
changePageHelperToCurrentPage
(
memberUnionRelatedService
.
pageMemberUnionByParams
(
userIdList
,
sendMemberIds
,
enterpriseId
),
MemberUnionidRelatedDTO
.
class
);
return
PageUtil
.
changePageHelperToCurrentPage
(
memberUnionRelatedService
.
pageMemberUnionByParams
(
userIdList
,
sendMemberIds
,
enterpriseId
),
MemberUnionidRelatedDTO
.
class
);
}
// @Override
...
...
@@ -1058,7 +1064,11 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
*/
@Override
public
String
sendMessage
(
String
wxEnterpriseId
,
String
userId
,
List
<
String
>
extendUserList
,
String
materialId
)
{
return
this
.
sendMessage
(
wxEnterpriseId
,
userId
,
extendUserList
,
Collections
.
singletonList
(
materialId
));
JSONResponse
jp
=
this
.
sendMessage
(
wxEnterpriseId
,
userId
,
extendUserList
,
Collections
.
singletonList
(
materialId
));
//返回执行结果, msgId
log
.
info
(
"【发送消息】jp = {}"
,
JSON
.
toJSONString
(
jp
));
Map
<
String
,
Object
>
returnMap
=
jp
.
getReturnMap
();
return
returnMap
.
get
(
"msgid"
)
==
null
?
""
:
returnMap
.
get
(
"msgid"
).
toString
();
}
/**
...
...
@@ -1071,7 +1081,7 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
* @return : 返回群发执行结果
*/
@Override
public
String
sendMessage
(
String
wxEnterpriseId
,
String
userId
,
List
<
String
>
extendUserList
,
List
<
String
>
materialIdList
)
{
public
JSONResponse
sendMessage
(
String
wxEnterpriseId
,
String
userId
,
List
<
String
>
extendUserList
,
List
<
String
>
materialIdList
)
{
//群发请求参数
QywxExternalMessageDTO
qywxExternalMessageDTO
=
new
QywxExternalMessageDTO
();
//素材列表
...
...
@@ -1089,7 +1099,10 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
});
//素材列表不存在, 并且不存在文本内容, 不执行
if
(
messageMaterialList
.
isEmpty
()
&&
StringUtils
.
isBlank
(
qywxExternalMessageDTO
.
getContent
()))
{
return
""
;
JSONResponse
jp
=
new
JSONResponse
();
jp
.
setErrorCode
(-
1
);
jp
.
setErrorMessage
(
"群发素材不存在, 群发创建失败"
);
return
jp
;
}
//请求参数赋值
qywxExternalMessageDTO
.
setChatType
(
"single"
);
...
...
@@ -1097,13 +1110,8 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
qywxExternalMessageDTO
.
setSenderUserId
(
userId
);
qywxExternalMessageDTO
.
setAttachments
(
messageMaterialList
);
//调接口执行创建群发
JSONResponse
jp
;
WxEnterpriseDTO
enterprise
=
wxEnterpriseService
.
selectById
(
wxEnterpriseId
);
jp
=
qywxSuiteApiService
.
sendExternalMessage
(
enterprise
.
getCorpid
(),
config
.
getWxSuiteid
(),
qywxExternalMessageDTO
);
//返回执行结果, msgId
log
.
info
(
"【发送消息】jp = {}"
,
JSON
.
toJSONString
(
jp
));
Map
<
String
,
Object
>
returnMap
=
jp
.
getReturnMap
();
return
returnMap
.
get
(
"msgid"
)
==
null
?
""
:
returnMap
.
get
(
"msgid"
).
toString
();
return
qywxSuiteApiService
.
sendExternalMessage
(
enterprise
.
getCorpid
(),
config
.
getWxSuiteid
(),
qywxExternalMessageDTO
);
}
/**
...
...
@@ -1197,33 +1205,35 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
@Override
public
JSONResponse
getMessageStatus
(
String
wxEnterpriseId
,
String
wxMessageId
)
{
WxEnterpriseDTO
enterprise
=
wxEnterpriseService
.
selectById
(
wxEnterpriseId
);
if
(
enterprise
==
null
)
{
if
(
enterprise
==
null
)
{
return
null
;
}
JSONResponse
jp
=
qywxSuiteApiService
.
resultExternalMessage
(
enterprise
.
getCorpid
(),
config
.
getWxSuiteid
(),
wxMessageId
);
return
jp
;
}
@Override
public
List
<
MemberUnionidRelatedDTO
>
getByWxUserIdListAndWxEnterpriseId
(
List
<
String
>
userIdList
,
String
wxEnterpriseId
)
{
return
EntityUtil
.
changeEntityListByJSON
(
MemberUnionidRelatedDTO
.
class
,
memberUnionidRelatedMapper
.
getByWxUserIdListAndWxEnterpriseId
(
userIdList
,
wxEnterpriseId
));
return
EntityUtil
.
changeEntityListByJSON
(
MemberUnionidRelatedDTO
.
class
,
memberUnionidRelatedMapper
.
getByWxUserIdListAndWxEnterpriseId
(
userIdList
,
wxEnterpriseId
));
}
@Override
public
void
cleanNoExsitFriend
(
String
wxEnterpriseId
,
String
wxUserId
,
String
wxRes
)
{
log
.
info
(
"【清除不存在的好友】wxEnterpriseId={},wxUserId={}"
,
wxEnterpriseId
,
wxUserId
);
log
.
info
(
"【清除不存在的好友】wxEnterpriseId={},wxUserId={}"
,
wxEnterpriseId
,
wxUserId
);
WxEnterpriseDTO
enterprise
=
wxEnterpriseService
.
selectById
(
wxEnterpriseId
);
//String wxRes = qywxUserApiService.listExternalUserid(enterprise.getCorpid(), config.getWxSuiteid(), wxUserId);
List
<
MemberUnionidRelatedDTO
>
list
=
this
.
getByWxUserIdAndWxEnterpriseId
(
wxUserId
,
wxEnterpriseId
);
List
<
String
>
externalUserIdList
=
list
.
stream
().
map
(
external
->
external
.
getExternalUserid
())
List
<
String
>
externalUserIdList
=
list
.
stream
().
map
(
external
->
external
.
getExternalUserid
())
.
collect
(
Collectors
.
toList
());
if
(
StringUtils
.
isBlank
(
wxRes
))
{
log
.
info
(
"【清除不存在的好友不存在】wxEnterpriseId={},wxUserId={}"
,
wxEnterpriseId
,
wxUserId
);
if
(
StringUtils
.
isBlank
(
wxRes
))
{
log
.
info
(
"【清除不存在的好友不存在】wxEnterpriseId={},wxUserId={}"
,
wxEnterpriseId
,
wxUserId
);
return
;
}
JSONArray
externalArr
=
JSON
.
parseArray
(
wxRes
);
for
(
String
externalUserId
:
externalUserIdList
)
{
if
(!
externalArr
.
contains
(
externalUserId
))
{
if
(!
externalArr
.
contains
(
externalUserId
))
{
//删除成员和外部联系人关系
MemberUnionidRelatedDTO
dto
=
new
MemberUnionidRelatedDTO
();
dto
.
setExternalUserid
(
externalUserId
);
...
...
@@ -1235,28 +1245,29 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
}
}
@Override
public
List
<
String
>
listSelfExterialList
(
String
wxEnterpriseId
,
String
wxUserId
)
{
try
{
log
.
info
(
"【查询自建应用好友】wxEnterpriseId={},wxUserId={}"
,
wxEnterpriseId
,
wxUserId
);
log
.
info
(
"【查询自建应用好友】wxEnterpriseId={},wxUserId={}"
,
wxEnterpriseId
,
wxUserId
);
WxEnterpriseDTO
enterprise
=
wxEnterpriseService
.
selectById
(
wxEnterpriseId
);
List
<
String
>
list
=
new
ArrayList
<>();
SecretSettingDTO
secretSetting
=
secretSettingService
.
getSecretSetting
(
wxEnterpriseId
,
SecretTypeEnum
.
CONTACT_CUSTOMER
.
getVal
());
if
(
null
==
secretSetting
||
secretSetting
.
getCheckFlag
()==
0
)
{
log
.
info
(
"没有配置客户联系secret:{}"
,
wxEnterpriseId
);
if
(
null
==
secretSetting
||
secretSetting
.
getCheckFlag
()
==
0
)
{
log
.
info
(
"没有配置客户联系secret:{}"
,
wxEnterpriseId
);
return
list
;
}
String
res
=
qywxUserApiService
.
listSelfExternalUserid
(
enterprise
.
getCorpid
(),
secretSetting
.
getSecretVal
(),
wxUserId
);
log
.
info
(
"【查询自建应用】res={}"
,
res
);
log
.
info
(
"【查询自建应用】res={}"
,
res
);
if
(
res
!=
null
&&
res
.
equals
(
"1"
))
{
log
.
info
(
"代表需要重试"
);
return
null
;
}
if
(
StringUtils
.
isBlank
(
res
))
{
if
(
StringUtils
.
isBlank
(
res
))
{
return
list
;
}
JSONArray
jsonArr
=
JSON
.
parseArray
(
res
);
if
(
jsonArr
.
size
()
==
0
)
{
if
(
jsonArr
.
size
()
==
0
)
{
return
list
;
}
for
(
Object
object
:
jsonArr
)
{
...
...
@@ -1264,27 +1275,28 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
}
return
list
;
}
catch
(
Exception
e
)
{
log
.
info
(
"错误={}"
,
e
);
log
.
info
(
"错误={}"
,
e
);
}
return
null
;
}
@Override
public
List
<
String
>
listExterialList
(
String
wxEnterpriseId
,
String
wxUserId
)
{
log
.
info
(
"【获取第三方应用好友】wxEnterpriseId={},wxUserId={}"
,
wxEnterpriseId
,
wxUserId
);
log
.
info
(
"【获取第三方应用好友】wxEnterpriseId={},wxUserId={}"
,
wxEnterpriseId
,
wxUserId
);
WxEnterpriseDTO
enterprise
=
wxEnterpriseService
.
selectById
(
wxEnterpriseId
);
// String wxRes = qywxUserApiService.listExternalUserid(enterprise.getCorpid(), "wwb3ef71aa8c6d9c06", wxUserId);
String
wxRes
=
qywxUserApiService
.
listExternalUserid
(
enterprise
.
getCorpid
(),
config
.
getWxSuiteid
(),
wxUserId
);
List
<
String
>
list
=
new
ArrayList
<>();
log
.
info
(
"【查询第三方应用】res={}"
,
wxRes
);
log
.
info
(
"【查询第三方应用】res={}"
,
wxRes
);
if
(
wxRes
!=
null
&&
wxRes
.
equals
(
"1"
))
{
log
.
info
(
"代表需要重试"
);
return
null
;
}
if
(
StringUtils
.
isBlank
(
wxRes
))
{
if
(
StringUtils
.
isBlank
(
wxRes
))
{
return
list
;
}
JSONArray
jsonArr
=
JSON
.
parseArray
(
wxRes
);
if
(
jsonArr
.
size
()
==
0
)
{
if
(
jsonArr
.
size
()
==
0
)
{
return
list
;
}
for
(
Object
object
:
jsonArr
)
{
...
...
@@ -1292,10 +1304,11 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
}
return
list
;
}
@Override
public
ExternalUserDTO
getCorpSelfExternalUseridInfo
(
String
wxEnterpriseId
,
String
wxUserId
,
String
externalUserId
)
{
public
ExternalUserDTO
getCorpSelfExternalUseridInfo
(
String
wxEnterpriseId
,
String
wxUserId
,
String
externalUserId
)
{
WxEnterpriseDTO
wxEnterprise
=
wxEnterpriseService
.
selectById
(
wxEnterpriseId
);
if
(
wxEnterprise
==
null
)
{
if
(
wxEnterprise
==
null
)
{
log
.
info
(
"企业不存在"
);
return
null
;
}
...
...
@@ -1305,7 +1318,7 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
return
null
;
}
String
unionIdJson
=
qywxUserApiService
.
getCorpSelfExternalUseridInfo
(
wxEnterprise
.
getCorpid
(),
secretSetting
.
getSecretVal
(),
externalUserId
);
if
(
StringUtils
.
isBlank
(
unionIdJson
))
{
if
(
StringUtils
.
isBlank
(
unionIdJson
))
{
log
.
info
(
"好友不存在"
);
return
null
;
}
else
if
(
unionIdJson
.
equals
(
"1"
))
{
...
...
@@ -1317,15 +1330,15 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
}
@Override
public
ExternalUserDTO
getExternalUseridInfo
(
String
wxEnterpriseId
,
String
wxUserId
,
String
externalUserId
)
{
public
ExternalUserDTO
getExternalUseridInfo
(
String
wxEnterpriseId
,
String
wxUserId
,
String
externalUserId
)
{
WxEnterpriseDTO
wxEnterprise
=
wxEnterpriseService
.
selectById
(
wxEnterpriseId
);
if
(
wxEnterprise
==
null
)
{
if
(
wxEnterprise
==
null
)
{
log
.
info
(
"企业不存在"
);
return
null
;
}
// String uJ = qywxUserApiService.getExternalUseridInfo(wxEnterprise.getCorpid(), "wwb3ef71aa8c6d9c06", externalUserId);
String
uJ
=
qywxUserApiService
.
getExternalUseridInfo
(
wxEnterprise
.
getCorpid
(),
config
.
getWxSuiteid
(),
externalUserId
);
if
(
StringUtils
.
isBlank
(
uJ
))
{
if
(
StringUtils
.
isBlank
(
uJ
))
{
log
.
info
(
"好友不存在"
);
return
null
;
}
else
if
(
uJ
.
equals
(
"1"
))
{
...
...
@@ -1335,28 +1348,28 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
String
name
=
""
;
String
createTime
=
""
;
String
avatar
=
""
;
if
(
StringUtils
.
isNotBlank
(
uJ
))
{
if
(
StringUtils
.
isNotBlank
(
uJ
))
{
JSONObject
jo
=
JSON
.
parseObject
(
uJ
);
String
external_contact
=
jo
.
getString
(
"external_contact"
);
String
uj_follow_user
=
jo
.
getString
(
"follow_user"
);
JSONObject
jt
=
null
;
if
(
StringUtils
.
isNotBlank
(
external_contact
))
{
if
(
StringUtils
.
isNotBlank
(
external_contact
))
{
jt
=
JSON
.
parseObject
(
external_contact
);
name
=
EmojiFilterUtil
.
filterEmojiLast
(
jt
.
getString
(
"name"
),
true
);
if
(
StringUtils
.
isBlank
(
name
))
{
if
(
StringUtils
.
isBlank
(
name
))
{
name
=
"--"
;
}
avatar
=
jt
.
getString
(
"avatar"
);
}
if
(
StringUtils
.
isNotBlank
(
uj_follow_user
))
{
if
(
StringUtils
.
isNotBlank
(
uj_follow_user
))
{
JSONArray
j
=
JSON
.
parseArray
(
uj_follow_user
);
String
uj_userId
=
""
;
for
(
Object
object
:
j
)
{
String
followJson
=
JSON
.
toJSONString
(
object
);
JSONObject
follow
=
JSON
.
parseObject
(
followJson
);
uj_userId
=
follow
.
getString
(
"userid"
);
if
(
uj_userId
.
equals
(
wxUserId
))
{
if
(
jt
!=
null
)
{
if
(
uj_userId
.
equals
(
wxUserId
))
{
if
(
jt
!=
null
)
{
externalUserId
=
jt
.
getString
(
"external_userid"
);
createTime
=
follow
.
getString
(
"createtime"
);
break
;
...
...
@@ -1373,11 +1386,12 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
pojo
.
setAvatar
(
avatar
);
return
EntityUtil
.
changeEntityByJSON
(
ExternalUserDTO
.
class
,
pojo
);
}
@Override
public
String
addExternal
(
ExternalUserDTO
dto
)
{
String
wxUserId
=
dto
.
getWxUserId
();
String
wxEnterpriseId
=
dto
.
getWxEnterpriseId
();
String
name
=
StringUtils
.
isBlank
(
dto
.
getName
())?
"--"
:
dto
.
getName
();
String
name
=
StringUtils
.
isBlank
(
dto
.
getName
())
?
"--"
:
dto
.
getName
();
String
createTime
=
dto
.
getAddCreateTime
();
String
unionId
=
dto
.
getUnionId
();
String
externalUserId
=
dto
.
getExternalUserId
();
...
...
@@ -1387,14 +1401,14 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
String
staffId
=
dto
.
getStaffId
();
String
avatar
=
dto
.
getAvatar
();
String
clerkId
=
dto
.
getClerkId
();
if
(
StringUtils
.
isAnyBlank
(
wxUserId
,
wxEnterpriseId
,
name
,
createTime
,
unionId
,
externalUserId
,
memberId
,
storeId
,
enterpriseId
,
staffId
,
clerkId
))
{
if
(
StringUtils
.
isAnyBlank
(
wxUserId
,
wxEnterpriseId
,
name
,
createTime
,
unionId
,
externalUserId
,
memberId
,
storeId
,
enterpriseId
,
staffId
,
clerkId
))
{
log
.
info
(
"【新增外部联系人】wxUserId={},wxEnterpriseId={},name={},createTime={},unionId ={},externalUserId ={},memberId ={},storeId ={},enterpriseId ={},staffId={},clerkId={}"
+
""
,
wxUserId
,
wxEnterpriseId
,
name
,
createTime
,
unionId
,
externalUserId
,
memberId
,
storeId
,
enterpriseId
,
staffId
,
clerkId
);
+
""
,
wxUserId
,
wxEnterpriseId
,
name
,
createTime
,
unionId
,
externalUserId
,
memberId
,
storeId
,
enterpriseId
,
staffId
,
clerkId
);
return
"参数不对"
;
}
MemberUnionidRelatedDTO
exsitDTO
=
memberUnionRelatedService
.
getByUnionId
(
wxEnterpriseId
,
wxUserId
,
unionId
);
String
uuid
=
""
;
if
(
exsitDTO
==
null
)
{
if
(
exsitDTO
==
null
)
{
exsitDTO
=
new
MemberUnionidRelatedDTO
();
exsitDTO
.
setAvatar
(
avatar
);
exsitDTO
.
setExternalUserid
(
externalUserId
);
...
...
@@ -1406,7 +1420,7 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
exsitDTO
.
setWxUserId
(
wxUserId
);
exsitDTO
.
setUnionid
(
unionId
);
uuid
=
memberUnionRelatedService
.
addMemberUnionidRelated
(
exsitDTO
);
}
else
{
}
else
{
uuid
=
exsitDTO
.
getMemberUnionidRelatedId
();
exsitDTO
.
setAvatar
(
avatar
);
exsitDTO
.
setExternalUserid
(
externalUserId
);
...
...
@@ -1436,7 +1450,7 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
related
.
setStatusFlag
(
1
);
externalClerkRelatedService
.
insert
(
related
);
}
else
{
}
else
{
TabHaobanExternalClerkRelated
external
=
clerkRelateds
.
get
(
0
);
external
.
setMemberId
(
memberId
);
external
.
setMemberUnionidRelatedId
(
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