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
0deed017
Commit
0deed017
authored
Feb 23, 2022
by
xugaojun
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
新增第三方转换
parent
5611ecc6
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
12 additions
and
94 deletions
+12
-94
AddMemberUnionRelateConsumerProcessor.java
...e/mq/processor/AddMemberUnionRelateConsumerProcessor.java
+12
-94
No files found.
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/mq/processor/AddMemberUnionRelateConsumerProcessor.java
View file @
0deed017
package
com
.
gic
.
haoban
.
manage
.
service
.
mq
.
processor
;
package
com
.
gic
.
haoban
.
manage
.
service
.
mq
.
processor
;
import
cn.hutool.crypto.SecureUtil
;
import
cn.hutool.crypto.SecureUtil
;
import
cn.hutool.http.HttpUtil
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONArray
;
import
com.alibaba.fastjson.JSONArray
;
import
com.alibaba.fastjson.JSONObject
;
import
com.alibaba.fastjson.JSONObject
;
import
com.gic.commons.util.EntityUtil
;
import
com.gic.commons.util.EntityUtil
;
import
com.gic.dubbo.entity.ProviderLocalTag
;
import
com.gic.haoban.manage.api.dto.ExternalUserDTO
;
import
com.gic.haoban.manage.api.dto.ExternalUserDTO
;
import
com.gic.haoban.manage.api.dto.MemberUnionidRelatedDTO
;
import
com.gic.haoban.manage.api.dto.MemberUnionidRelatedDTO
;
import
com.gic.haoban.manage.api.dto.StaffClerkRelationDTO
;
import
com.gic.haoban.manage.api.dto.StaffClerkRelationDTO
;
...
@@ -29,9 +27,7 @@ import org.slf4j.LoggerFactory;
...
@@ -29,9 +27,7 @@ import org.slf4j.LoggerFactory;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Component
;
import
org.springframework.stereotype.Component
;
import
java.util.HashMap
;
import
java.util.*
;
import
java.util.Map
;
import
java.util.Objects
;
/**
/**
* desc:添加微信好友关系消息消费处理器
* desc:添加微信好友关系消息消费处理器
...
@@ -74,7 +70,6 @@ public class AddMemberUnionRelateConsumerProcessor extends AbstractConsumerProce
...
@@ -74,7 +70,6 @@ public class AddMemberUnionRelateConsumerProcessor extends AbstractConsumerProce
@Override
@Override
void
doProcess
(
MemberUnionRelatedBO
bo
)
{
void
doProcess
(
MemberUnionRelatedBO
bo
)
{
String
staffId
=
bo
.
getStaffId
();
String
staffId
=
bo
.
getStaffId
();
messageAlert
(
staffId
);
String
wxEnterpriseId
=
bo
.
getWxEnterpriseId
();
String
wxEnterpriseId
=
bo
.
getWxEnterpriseId
();
String
externalUserid
=
bo
.
getExternalUserid
();
String
externalUserid
=
bo
.
getExternalUserid
();
String
wxUserId
=
bo
.
getWxUserId
();
String
wxUserId
=
bo
.
getWxUserId
();
...
@@ -109,12 +104,15 @@ public class AddMemberUnionRelateConsumerProcessor extends AbstractConsumerProce
...
@@ -109,12 +104,15 @@ public class AddMemberUnionRelateConsumerProcessor extends AbstractConsumerProce
logger
.
info
(
"会员信息不存在unionId:{}"
,
dto
.
getUnionid
());
logger
.
info
(
"会员信息不存在unionId:{}"
,
dto
.
getUnionid
());
return
;
return
;
}
}
// 转换外部联系人id
String
serviceExternalUserid
=
qywxUserApiService
.
toServiceExternalUserid
(
bo
.
getCorpid
(),
config
.
getWxSuiteid
(),
externalUserid
);
// 幂等
// 幂等
MemberUnionidRelatedDTO
exsitDTO
=
memberUnionRelatedService
.
getByUnionId
(
wxEnterpriseId
,
wxUserId
,
dto
.
getUnionid
());
MemberUnionidRelatedDTO
exsitDTO
=
memberUnionRelatedService
.
getByUnionId
(
wxEnterpriseId
,
wxUserId
,
dto
.
getUnionid
());
String
memberUnionIdRelatedId
;
String
memberUnionIdRelatedId
;
if
(
Objects
.
isNull
(
exsitDTO
))
{
if
(
Objects
.
isNull
(
exsitDTO
))
{
dto
.
setMemberId
(
member
.
getMemberId
());
dto
.
setMemberId
(
member
.
getMemberId
());
dto
.
setEnterpriseId
(
enterpriseId
);
dto
.
setEnterpriseId
(
enterpriseId
);
dto
.
setExternalUserid
(
serviceExternalUserid
);
// 创建memberUnion 临时表关联
// 创建memberUnion 临时表关联
memberUnionIdRelatedId
=
memberUnionRelatedService
.
addMemberUnionidRelated
(
dto
);
memberUnionIdRelatedId
=
memberUnionRelatedService
.
addMemberUnionidRelated
(
dto
);
}
else
{
}
else
{
...
@@ -137,7 +135,7 @@ public class AddMemberUnionRelateConsumerProcessor extends AbstractConsumerProce
...
@@ -137,7 +135,7 @@ public class AddMemberUnionRelateConsumerProcessor extends AbstractConsumerProce
related
.
setClerkId
(
staffClerkRelationDTO
.
getClerkId
());
related
.
setClerkId
(
staffClerkRelationDTO
.
getClerkId
());
related
.
setEnterpriseId
(
enterpriseId
);
related
.
setEnterpriseId
(
enterpriseId
);
related
.
setExternalName
(
dto
.
getExternalName
());
related
.
setExternalName
(
dto
.
getExternalName
());
related
.
setExternalUserId
(
e
xternalUserid
);
related
.
setExternalUserId
(
serviceE
xternalUserid
);
related
.
setStaffId
(
staffId
);
related
.
setStaffId
(
staffId
);
related
.
setHeadUrl
(
dto
.
getAvatar
());
related
.
setHeadUrl
(
dto
.
getAvatar
());
related
.
setMemberUnionidRelatedId
(
memberUnionIdRelatedId
);
related
.
setMemberUnionidRelatedId
(
memberUnionIdRelatedId
);
...
@@ -150,22 +148,6 @@ public class AddMemberUnionRelateConsumerProcessor extends AbstractConsumerProce
...
@@ -150,22 +148,6 @@ public class AddMemberUnionRelateConsumerProcessor extends AbstractConsumerProce
externalClerkRelatedService
.
insert
(
related
);
externalClerkRelatedService
.
insert
(
related
);
}
}
private
void
messageAlert
(
String
staffId
)
{
ProviderLocalTag
providerLocalTag
=
ProviderLocalTag
.
tag
.
get
();
String
traceId
=
providerLocalTag
.
traceId
;
String
traceUrl
=
"http://10.105.8.172:8780/damo-stats/mongodb/getLogMessagesView?trace_id="
+
traceId
;
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
Map
<
String
,
Object
>
link
=
new
HashMap
<>();
map
.
put
(
"msgtype"
,
"link"
);
link
.
put
(
"title"
,
"存量会员关联提醒"
);
link
.
put
(
"text"
,
"员工id:"
+
staffId
);
link
.
put
(
"messageUrl"
,
traceUrl
);
map
.
put
(
"link"
,
link
);
String
post
=
HttpUtil
.
post
(
ALERT_URL
,
JSONObject
.
toJSONString
(
map
));
logger
.
info
(
"alert:{}"
,
post
);
}
private
MemberUnionidRelatedDTO
getAndMergeMemberUnion
(
MemberUnionRelatedBO
bo
)
{
private
MemberUnionidRelatedDTO
getAndMergeMemberUnion
(
MemberUnionRelatedBO
bo
)
{
// 查询自建
// 查询自建
ExternalUserDTO
selfExternalUserDTO
=
getCorpSelfExternalUseridInfo
(
ExternalUserDTO
selfExternalUserDTO
=
getCorpSelfExternalUseridInfo
(
...
@@ -175,36 +157,26 @@ public class AddMemberUnionRelateConsumerProcessor extends AbstractConsumerProce
...
@@ -175,36 +157,26 @@ public class AddMemberUnionRelateConsumerProcessor extends AbstractConsumerProce
bo
.
getSecret
(),
bo
.
getSecret
(),
bo
.
getCorpid
()
bo
.
getCorpid
()
);
);
// 查询第三方
if
(
Objects
.
isNull
(
selfExternalUserDTO
))
{
ExternalUserDTO
thirdExternalUserDTO
=
getExternalUseridInfo
(
logger
.
info
(
"新增外部联系人, 自建为空"
);
bo
.
getWxEnterpriseId
(),
bo
.
getWxUserId
(),
bo
.
getExternalUserid
(),
bo
.
getCorpid
()
);
if
(
Objects
.
isNull
(
selfExternalUserDTO
)
&&
Objects
.
isNull
(
thirdExternalUserDTO
))
{
logger
.
info
(
"新增外部联系人, 自建与第三方均为空"
);
return
null
;
return
null
;
}
}
MemberUnionidRelatedDTO
dto
=
EntityUtil
.
changeEntityNew
(
MemberUnionidRelatedDTO
.
class
,
bo
);
MemberUnionidRelatedDTO
dto
=
EntityUtil
.
changeEntityNew
(
MemberUnionidRelatedDTO
.
class
,
bo
);
// 合并数据
// 合并数据
dto
.
setExternalName
(
EmojiFilterUtil
.
removeAllEmoji
(
dto
.
setExternalName
(
EmojiFilterUtil
.
removeAllEmoji
(
Objects
.
nonNull
(
selfExternalUserDTO
)
?
selfExternalUserDTO
.
getName
()
:
third
ExternalUserDTO
.
getName
()
self
ExternalUserDTO
.
getName
()
));
));
dto
.
setAddCreateTime
(
dto
.
setAddCreateTime
(
Objects
.
nonNull
(
selfExternalUserDTO
)
?
selfExternalUserDTO
.
getAddCreateTime
()
:
third
ExternalUserDTO
.
getAddCreateTime
()
self
ExternalUserDTO
.
getAddCreateTime
()
);
);
dto
.
setAvatar
(
dto
.
setAvatar
(
Objects
.
nonNull
(
selfExternalUserDTO
)
?
selfExternalUserDTO
.
getAvatar
()
:
third
ExternalUserDTO
.
getAvatar
()
self
ExternalUserDTO
.
getAvatar
()
);
);
dto
.
setUnionid
(
dto
.
setUnionid
(
Objects
.
nonNull
(
selfExternalUserDTO
)
?
selfExternalUserDTO
.
getUnionId
()
:
null
selfExternalUserDTO
.
getUnionId
()
);
);
dto
.
setSelfExternalUserid
(
dto
.
setSelfExternalUserid
(
Objects
.
nonNull
(
selfExternalUserDTO
)
?
selfExternalUserDTO
.
getExternalUserId
()
:
null
selfExternalUserDTO
.
getExternalUserId
()
);
dto
.
setExternalUserid
(
Objects
.
nonNull
(
thirdExternalUserDTO
)
?
thirdExternalUserDTO
.
getExternalUserId
()
:
null
);
);
return
dto
;
return
dto
;
}
}
...
@@ -223,60 +195,6 @@ public class AddMemberUnionRelateConsumerProcessor extends AbstractConsumerProce
...
@@ -223,60 +195,6 @@ public class AddMemberUnionRelateConsumerProcessor extends AbstractConsumerProce
}
}
public
ExternalUserDTO
getExternalUseridInfo
(
String
wxEnterpriseId
,
String
wxUserId
,
String
externalUserId
,
String
corpId
)
{
String
uJ
=
qywxUserApiService
.
getExternalUseridInfo
(
corpId
,
config
.
getWxSuiteid
(),
externalUserId
);
if
(
StringUtils
.
isBlank
(
uJ
))
{
logger
.
info
(
"好友不存在"
);
return
null
;
}
else
if
(
"1"
.
equals
(
uJ
))
{
logger
.
info
(
"限制次数"
);
throw
new
WxApiLimitException
(
"getExternalUseridInfo接口次数限制"
);
}
String
name
=
""
;
String
createTime
=
""
;
String
avatar
=
""
;
Integer
friendType
=
1
;
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
))
{
jt
=
JSON
.
parseObject
(
external_contact
);
name
=
EmojiFilterUtil
.
filterEmojiLast
(
jt
.
getString
(
"name"
),
true
);
if
(
StringUtils
.
isBlank
(
name
))
{
name
=
"--"
;
}
friendType
=
jt
.
getInteger
(
"type"
);
avatar
=
jt
.
getString
(
"avatar"
);
}
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
)
{
externalUserId
=
jt
.
getString
(
"external_userid"
);
createTime
=
follow
.
getString
(
"createtime"
);
break
;
}
}
}
}
}
ExternalUserPojo
pojo
=
new
ExternalUserPojo
();
pojo
.
setExternalUserId
(
externalUserId
);
pojo
.
setName
(
name
);
pojo
.
setAddCreateTime
(
createTime
);
pojo
.
setWxEnterpriseId
(
wxEnterpriseId
);
pojo
.
setAvatar
(
avatar
);
pojo
.
setFriendType
(
friendType
);
return
EntityUtil
.
changeEntityByJSON
(
ExternalUserDTO
.
class
,
pojo
);
}
private
ExternalUserPojo
getExternalUserPojo
(
String
unionIdJson
,
String
userId1
,
String
wxEnterpriseId
)
{
private
ExternalUserPojo
getExternalUserPojo
(
String
unionIdJson
,
String
userId1
,
String
wxEnterpriseId
)
{
ExternalUserPojo
pojo
=
new
ExternalUserPojo
();
ExternalUserPojo
pojo
=
new
ExternalUserPojo
();
String
unionId
=
""
;
String
unionId
=
""
;
...
...
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