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
ec8217cb
Commit
ec8217cb
authored
Mar 09, 2022
by
墨竹
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat:刷新历史好友旧好友更新,新好友插入
parent
bc6ae773
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
68 additions
and
42 deletions
+68
-42
AddMemberUnionRelateConsumerProcessor.java
...e/mq/processor/AddMemberUnionRelateConsumerProcessor.java
+66
-39
MemberUnionidRelatedApiServiceImpl.java
.../service/out/impl/MemberUnionidRelatedApiServiceImpl.java
+0
-1
FriendSyncNewOperation.java
...an/manage/service/task/friend/FriendSyncNewOperation.java
+2
-2
No files found.
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/mq/processor/AddMemberUnionRelateConsumerProcessor.java
View file @
ec8217cb
...
...
@@ -9,9 +9,9 @@ import com.gic.haoban.manage.api.dto.ExternalUserDTO;
import
com.gic.haoban.manage.api.dto.MemberUnionidRelatedDTO
;
import
com.gic.haoban.manage.api.dto.StaffClerkRelationDTO
;
import
com.gic.haoban.manage.api.service.MemberUnionidRelatedApiService
;
import
com.gic.haoban.manage.service.config.Config
;
import
com.gic.haoban.manage.service.entity.TabHaobanClerkMainStoreRelated
;
import
com.gic.haoban.manage.service.entity.TabHaobanExternalClerkRelated
;
import
com.gic.haoban.manage.service.entity.TabHaobanStaff
;
import
com.gic.haoban.manage.service.entity.TabHaobanWxEnterpriseRelated
;
import
com.gic.haoban.manage.service.exception.WxApiLimitException
;
import
com.gic.haoban.manage.service.pojo.ExternalUserPojo
;
...
...
@@ -31,7 +31,7 @@ import org.slf4j.LoggerFactory;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Component
;
import
java.util.
*
;
import
java.util.
Objects
;
/**
* desc:添加微信好友关系消息消费处理器
...
...
@@ -43,14 +43,11 @@ import java.util.*;
**/
@Component
public
class
AddMemberUnionRelateConsumerProcessor
extends
AbstractConsumerProcessor
<
String
,
MemberUnionRelatedBO
>
{
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
AddMemberUnionRelateConsumerProcessor
.
class
);
@Autowired
private
QywxUserApiService
qywxUserApiService
;
@Autowired
private
Config
config
;
@Autowired
private
MemberUnionRelatedService
memberUnionRelatedService
;
@Autowired
private
StaffClerkRelationService
staffClerkRelationService
;
...
...
@@ -62,9 +59,8 @@ public class AddMemberUnionRelateConsumerProcessor extends AbstractConsumerProce
private
ExternalClerkRelatedService
externalClerkRelatedService
;
@Autowired
private
MemberService
memberService
;
private
static
final
String
ALERT_URL
=
"https://oapi.dingtalk.com/robot/send?access_token=435c0ddaacda849e145b64cc3a83c37f742105d88cf27b719b2dbef167436ad4"
;
@Autowired
private
StaffService
staffService
;
@Override
MemberUnionRelatedBO
paramParse
(
String
s
)
{
...
...
@@ -78,14 +74,15 @@ public class AddMemberUnionRelateConsumerProcessor extends AbstractConsumerProce
rateLimiter
.
acquire
();
String
staffId
=
bo
.
getStaffId
();
String
wxEnterpriseId
=
bo
.
getWxEnterpriseId
();
String
externalUserid
=
bo
.
getExternalUserid
();
String
wxUserId
=
bo
.
getWxUserId
();
String
selfExternalUserid
=
bo
.
getExternalUserid
();
MemberUnionidRelatedDTO
dto
=
getAndMergeMemberUnion
(
bo
);
if
(
Objects
.
isNull
(
dto
))
{
logger
.
info
(
"新增外部联系人, 自建与第三方均为空"
);
return
;
}
if
(
StringUtils
.
isEmpty
(
dto
.
getUnionid
()))
{
String
unionid
=
dto
.
getUnionid
();
String
addCreateTime
=
dto
.
getAddCreateTime
();
if
(
StringUtils
.
isEmpty
(
unionid
))
{
logger
.
info
(
"unionId为空, 会员无法查询"
);
return
;
}
...
...
@@ -100,30 +97,45 @@ public class AddMemberUnionRelateConsumerProcessor extends AbstractConsumerProce
logger
.
info
(
"【新增外部联系人】导购和clerk关联为空"
);
return
;
}
TabHaobanStaff
staff
=
staffService
.
selectById
(
staffId
);
if
(
staff
==
null
)
{
logger
.
info
(
"【新增外部联系人】导购为空,staffId:{}"
,
staffId
);
return
;
}
String
wxUserId
=
staff
.
getWxUserId
();
String
enterpriseId
=
staffClerkRelationDTO
.
getEnterpriseId
();
TabHaobanWxEnterpriseRelated
wxEnterpriseRelated
=
wxEnterpriseRelatedService
.
getByEnterpriseId
(
wxEnterpriseId
,
enterpriseId
);
if
(
wxEnterpriseRelated
==
null
)
{
logger
.
info
(
"没有存在企业关联:{},{}"
,
staffClerkRelationDTO
.
getWxEnterpriseId
(),
enterpriseId
);
return
;
}
MemberDTO
member
=
memberService
.
getMemberByUnionid
(
dto
.
getUnionid
()
,
enterpriseId
);
MemberDTO
member
=
memberService
.
getMemberByUnionid
(
unionid
,
enterpriseId
);
if
(
member
==
null
)
{
logger
.
info
(
"会员信息不存在unionId:{}"
,
dto
.
getUnionid
()
);
logger
.
info
(
"会员信息不存在unionId:{}"
,
unionid
);
return
;
}
String
memberId
=
member
.
getMemberId
();
// 转换外部联系人id
String
serviceExternalUserid
=
qywxUserApiService
.
toServiceExternalUserid
(
bo
.
getCorpid
(),
bo
.
getSecret
(),
e
xternalUserid
);
logger
.
info
(
"自建转换第三方返回:{}"
,
serviceE
xternalUserid
);
String
externalUserid
=
qywxUserApiService
.
toServiceExternalUserid
(
bo
.
getCorpid
(),
bo
.
getSecret
(),
selfE
xternalUserid
);
logger
.
info
(
"自建转换第三方返回:{}"
,
e
xternalUserid
);
// 幂等
MemberUnionidRelatedDTO
exsitDTO
=
memberUnionRelatedService
.
getByUnionId
(
wxEnterpriseId
,
wxUserId
,
dto
.
getUnionid
()
);
MemberUnionidRelatedDTO
exsitDTO
=
memberUnionRelatedService
.
getByUnionId
(
wxEnterpriseId
,
wxUserId
,
unionid
);
String
memberUnionIdRelatedId
;
if
(
Objects
.
isNull
(
exsitDTO
))
{
dto
.
setMemberId
(
member
.
getMemberId
()
);
dto
.
setMemberId
(
member
Id
);
dto
.
setEnterpriseId
(
enterpriseId
);
dto
.
setExternalUserid
(
serviceE
xternalUserid
);
dto
.
setExternalUserid
(
e
xternalUserid
);
// 创建memberUnion 临时表关联
memberUnionIdRelatedId
=
memberUnionRelatedService
.
addMemberUnionidRelated
(
dto
);
}
else
{
exsitDTO
.
setAvatar
(
dto
.
getAvatar
());
exsitDTO
.
setMemberId
(
memberId
);
exsitDTO
.
setUnionid
(
unionid
);
exsitDTO
.
setAddCreateTime
(
addCreateTime
);
exsitDTO
.
setEnterpriseId
(
enterpriseId
);
exsitDTO
.
setExternalUserid
(
externalUserid
);
exsitDTO
.
setSelfExternalUserid
(
selfExternalUserid
);
memberUnionRelatedService
.
update
(
exsitDTO
);
memberUnionIdRelatedId
=
exsitDTO
.
getMemberUnionidRelatedId
();
}
if
(
StringUtils
.
isEmpty
(
memberUnionIdRelatedId
))
{
...
...
@@ -131,29 +143,44 @@ public class AddMemberUnionRelateConsumerProcessor extends AbstractConsumerProce
return
;
}
// 幂等
TabHaobanExternalClerkRelated
haobanExternalClerkRelated
=
externalClerkRelatedService
.
getByParams
(
dto
.
getWxUserId
(),
wxEnterpriseId
,
dto
.
getExternalName
(),
dto
.
getAddCreateTime
());
if
(
haobanExternalClerkRelated
!=
null
)
{
TabHaobanExternalClerkRelated
external
=
externalClerkRelatedService
.
getByParams
(
wxUserId
,
wxEnterpriseId
,
dto
.
getExternalName
(),
addCreateTime
);
String
relationKey
=
SecureUtil
.
md5
(
staffId
+
selfExternalUserid
);
if
(
external
!=
null
)
{
logger
.
info
(
"已经存在好友关系"
);
return
;
external
.
setMemberId
(
memberId
);
external
.
setMemberUnionidRelatedId
(
memberUnionIdRelatedId
);
external
.
setExternalUserId
(
externalUserid
);
external
.
setExternalName
(
dto
.
getExternalName
());
external
.
setRelationKey
(
relationKey
);
external
.
setUnionid
(
unionid
);
external
.
setStoreId
(
staffClerkRelationDTO
.
getStoreId
());
external
.
setEnterpriseId
(
enterpriseId
);
external
.
setClerkId
(
staffClerkRelationDTO
.
getClerkId
());
external
.
setStaffId
(
staffId
);
external
.
setMemberId
(
memberId
);
external
.
setHeadUrl
(
dto
.
getAvatar
());
external
.
setStatusFlag
(
1
);
externalClerkRelatedService
.
update
(
external
);
}
else
{
logger
.
info
(
"新增TabHaobanExternalClerkRelated"
);
TabHaobanExternalClerkRelated
related
=
new
TabHaobanExternalClerkRelated
();
related
.
setAddCreateTime
(
addCreateTime
);
related
.
setClerkId
(
staffClerkRelationDTO
.
getClerkId
());
related
.
setEnterpriseId
(
enterpriseId
);
related
.
setExternalName
(
dto
.
getExternalName
());
related
.
setExternalUserId
(
externalUserid
);
related
.
setStaffId
(
staffId
);
related
.
setHeadUrl
(
dto
.
getAvatar
());
related
.
setMemberUnionidRelatedId
(
memberUnionIdRelatedId
);
related
.
setStoreId
(
staffClerkRelationDTO
.
getStoreId
());
related
.
setRelationKey
(
relationKey
);
related
.
setUnionid
(
unionid
);
related
.
setWxEnterpriseId
(
wxEnterpriseId
);
related
.
setWxUserId
(
wxUserId
);
related
.
setMemberId
(
memberId
);
related
.
setStatusFlag
(
1
);
externalClerkRelatedService
.
insert
(
related
);
}
String
relationKey
=
SecureUtil
.
md5
(
staffId
+
externalUserid
);
logger
.
info
(
"新增TabHaobanExternalClerkRelated"
);
TabHaobanExternalClerkRelated
related
=
new
TabHaobanExternalClerkRelated
();
related
.
setAddCreateTime
(
dto
.
getAddCreateTime
());
related
.
setClerkId
(
staffClerkRelationDTO
.
getClerkId
());
related
.
setEnterpriseId
(
enterpriseId
);
related
.
setExternalName
(
dto
.
getExternalName
());
related
.
setExternalUserId
(
serviceExternalUserid
);
related
.
setStaffId
(
staffId
);
related
.
setHeadUrl
(
dto
.
getAvatar
());
related
.
setMemberUnionidRelatedId
(
memberUnionIdRelatedId
);
related
.
setStoreId
(
staffClerkRelationDTO
.
getStoreId
());
related
.
setRelationKey
(
relationKey
);
related
.
setUnionid
(
dto
.
getUnionid
());
related
.
setWxEnterpriseId
(
wxEnterpriseId
);
related
.
setWxUserId
(
wxUserId
);
related
.
setMemberId
(
member
.
getMemberId
());
externalClerkRelatedService
.
insert
(
related
);
}
private
MemberUnionidRelatedDTO
getAndMergeMemberUnion
(
MemberUnionRelatedBO
bo
)
{
...
...
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/out/impl/MemberUnionidRelatedApiServiceImpl.java
View file @
ec8217cb
...
...
@@ -1531,7 +1531,6 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
related
.
setHeadUrl
(
dto
.
getAvatar
());
related
.
setStatusFlag
(
1
);
externalClerkRelatedService
.
insert
(
related
);
}
else
{
TabHaobanExternalClerkRelated
external
=
clerkRelateds
.
get
(
0
);
external
.
setMemberId
(
memberId
);
...
...
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/task/friend/FriendSyncNewOperation.java
View file @
ec8217cb
...
...
@@ -202,8 +202,8 @@ public class FriendSyncNewOperation implements BaseSyncOperation {
externalUserDTO
.
setEnterpriseId
(
staffClerkRelationDTO
.
getEnterpriseId
());
externalUserDTO
.
setStoreId
(
mainStore
.
getStoreId
());
externalUserDTO
.
setClerkId
(
staffClerkRelationDTO
.
getClerkId
());
//
externalUserDTO.setWxUserId(staff.getWxUserId());
externalUserDTO
.
setWxUserId
(
wxUserId
);
externalUserDTO
.
setWxUserId
(
staff
.
getWxUserId
());
//
externalUserDTO.setWxUserId(wxUserId);
externalUserDTO
.
setStaffId
(
staffClerkRelationDTO
.
getStaffId
());
TabHaobanWxEnterpriseRelated
wxEnterpriseRelated
=
wxEnterpriseRelatedService
.
getByEnterpriseId
(
staffClerkRelationDTO
.
getWxEnterpriseId
(),
staffClerkRelationDTO
.
getEnterpriseId
());
...
...
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