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
8a71371d
Commit
8a71371d
authored
Apr 09, 2023
by
songyinghui
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat: 销售线索 会员合并
parent
e4aa9ebf
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
50 additions
and
25 deletions
+50
-25
InteractRecordBuilder.java
...ervice/service/content/adaptor/InteractRecordBuilder.java
+10
-11
InteractRecordMessageBuilder.java
...service/content/adaptor/InteractRecordMessageBuilder.java
+26
-11
InteractRecordServiceImpl.java
...rvice/service/content/impl/InteractRecordServiceImpl.java
+1
-1
InteractRecordApiServiceImpl.java
...ervice/out/impl/content/InteractRecordApiServiceImpl.java
+2
-1
TabHaobanPotentialCustomerMapper.xml
...urces/mapper/content/TabHaobanPotentialCustomerMapper.xml
+1
-1
InteractRecordTest.java
haoban-manage3-service/src/test/java/InteractRecordTest.java
+10
-0
No files found.
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/content/adaptor/InteractRecordBuilder.java
View file @
8a71371d
...
...
@@ -10,8 +10,7 @@ import com.gic.haoban.manage.service.entity.content.TabHaobanInteractRecord;
import
com.gic.haoban.manage.service.pojo.bo.content.InteractRecordBO
;
import
com.gic.haoban.manage.service.pojo.bo.content.InteractRecordExtendInfoBO
;
import
com.gic.haoban.manage.service.pojo.bo.content.PotentialCustomerBO
;
import
com.gic.member.api.dto.MemberDTO
;
import
com.gic.member.api.service.MemberService
;
import
com.gic.haoban.manage.service.pojo.bo.content.context.InteractRecordMessageContext
;
import
com.gic.store.goods.dto.goods.GoodsSpuInfoDTO
;
import
com.gic.store.goods.dto.qdto.GoodsListQDTO
;
import
com.gic.store.goods.enums.GoodsStatusEnum
;
...
...
@@ -41,7 +40,7 @@ public class InteractRecordBuilder {
@Autowired
private
GoodsCenterApiService
goodsCenterApiService
;
@Autowired
private
MemberService
memberService
;
private
InteractRecordMessageBuilder
interactRecordMessageBuilder
;
/**
* 互动记录描述
...
...
@@ -183,12 +182,12 @@ public class InteractRecordBuilder {
BeanUtils
.
copyProperties
(
interactRecord
,
temp
);
temp
.
setId
(
null
);
// 获取会员信息
MemberDTO
memberDTO
=
memberService
.
queryMember
(
interactRecord
.
getMemberId
());
if
(
member
DTO
!=
null
)
{
temp
.
setMemberName
(
member
DTO
.
getMemberName
());
temp
.
setMemberNickName
(
member
DTO
.
getThirdNickn
ame
());
temp
.
setMemberImageUrl
(
member
DTO
.
getThird
ImgUrl
());
temp
.
setMemberPhone
(
member
DTO
.
getPhoneNumber
());
InteractRecordMessageContext
.
MemberInfo
memberInfo
=
interactRecordMessageBuilder
.
queryMemberInfo
(
interactRecord
.
getMemberId
());
if
(
member
Info
!=
null
)
{
temp
.
setMemberName
(
member
Info
.
getMemberName
());
temp
.
setMemberNickName
(
member
Info
.
getMemberNickN
ame
());
temp
.
setMemberImageUrl
(
member
Info
.
getMember
ImgUrl
());
temp
.
setMemberPhone
(
member
Info
.
getMemberPhone
());
}
temp
.
setStarFlag
(
0
);
temp
.
setSeeFlag
(
0
);
...
...
@@ -197,8 +196,8 @@ public class InteractRecordBuilder {
temp
.
setUpdateTime
(
new
Date
());
temp
.
setDeleteFlag
(
0
);
// 查询memberId是否成交过订单
temp
.
setDealRecordNum
(
0
);
boolean
hasOrder
=
interactRecordMessageBuilder
.
queryMemberHasOrder
(
interactRecord
.
getMemberId
(),
interactRecord
.
getEnterpriseId
()
);
temp
.
setDealRecordNum
(
hasOrder
?
1
:
0
);
return
temp
;
}
}
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/content/adaptor/InteractRecordMessageBuilder.java
View file @
8a71371d
...
...
@@ -12,13 +12,11 @@ import com.gic.haoban.manage.service.pojo.bo.content.InteractRecordExtendInfoBO;
import
com.gic.haoban.manage.service.pojo.bo.content.context.InteractRecordMessageContext
;
import
com.gic.haoban.manage.service.pojo.qo.content.InteractRecordQO
;
import
com.gic.haoban.manage.service.service.content.InteractRecordService
;
import
com.gic.member.api.dto.MemberDTO
;
import
com.gic.member.api.dto.info.MemberBaseInfoDTO
;
import
com.gic.member.api.dto.info.MemberPersonalInfoDTO
;
import
com.gic.member.api.dto.info.MemberSummaryInfoDTO
;
import
com.gic.member.api.dto.info.qo.QueryMemberInfoDTO
;
import
com.gic.member.api.service.MemberOutApiService
;
import
com.gic.member.api.service.MemberService
;
import
com.gic.order.api.service.sharding.OrderApiService
;
import
com.gic.orderecommerce.api.constant.OrderChannelEnum
;
import
com.gic.orderecommerce.api.dto.MallEorderDTO
;
...
...
@@ -26,7 +24,6 @@ import com.gic.orderecommerce.api.service.EcommerceOrderOutputApiService;
import
com.gic.store.goods.dto.goods.GoodsSpuInfoDTO
;
import
com.gic.store.goods.dto.qdto.GoodsListQDTO
;
import
com.gic.store.goods.service.GoodsCenterApiService
;
import
com.gic.store.goods.service.GoodsInfoOutApiService
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.apache.commons.lang3.StringUtils
;
...
...
@@ -53,8 +50,6 @@ public class InteractRecordMessageBuilder {
@Autowired
private
InteractRecordService
interactRecordService
;
@Autowired
private
MemberService
memberService
;
@Autowired
MemberOutApiService
memberOutApiService
;
@Autowired
OrderInfoOutApiService
orderInfoOutApiService
;
...
...
@@ -94,6 +89,16 @@ public class InteractRecordMessageBuilder {
log
.
info
(
"互动记录冗余会员信息 会员不存在"
);
return
;
}
InteractRecordMessageContext
.
MemberInfo
memberInfo
=
this
.
queryMemberInfo
(
memberId
);
context
.
setMemberInfo
(
memberInfo
);
}
/**
* 查询会员信息
* @param memberId
* @return
*/
public
InteractRecordMessageContext
.
MemberInfo
queryMemberInfo
(
String
memberId
)
{
QueryMemberInfoDTO
queryMemberInfoDTO
=
QueryMemberInfoDTO
.
queryByMemberId
(
memberId
)
.
setMemberBaseInfoDTO
(
true
)
...
...
@@ -101,7 +106,7 @@ public class InteractRecordMessageBuilder {
ServiceResponse
<
MemberSummaryInfoDTO
>
serviceResponse
=
memberOutApiService
.
queryMemberInfo
(
queryMemberInfoDTO
);
if
(!
serviceResponse
.
isSuccess
()
||
serviceResponse
.
getResult
()
==
null
)
{
log
.
info
(
"查询会员信息为空 {}"
,
memberId
);
return
;
return
null
;
}
MemberSummaryInfoDTO
summaryInfoDTO
=
serviceResponse
.
getResult
();
MemberBaseInfoDTO
memberBaseInfoDTO
=
summaryInfoDTO
.
getMemberBaseInfoDTO
();
...
...
@@ -121,7 +126,7 @@ public class InteractRecordMessageBuilder {
}
InteractRecordMessageContext
.
MemberInfo
memberInfo
=
new
InteractRecordMessageContext
.
MemberInfo
(
memberName
,
memberNickName
,
phoneNumber
,
memberImageUrl
);
context
.
setMemberInfo
(
memberInfo
)
;
return
memberInfo
;
}
/**
...
...
@@ -137,18 +142,28 @@ public class InteractRecordMessageBuilder {
String
enterpriseId
=
context
.
getInteractRecordMessageBO
().
getEnterpriseId
();
context
.
setHasDeal
(
false
);
// 查询会员全渠道订单
boolean
hasOrder
=
this
.
queryMemberHasOrder
(
memberId
,
enterpriseId
);
context
.
setHasDeal
(
hasOrder
);
}
/**
* 计算会员的订单
* @param memberId
* @param enterpriseId
* @return
*/
public
boolean
queryMemberHasOrder
(
String
memberId
,
String
enterpriseId
)
{
Integer
countOfSale
=
orderApiService
.
getCountOfSale
(
memberId
,
enterpriseId
);
if
(
countOfSale
!=
null
&&
countOfSale
>
0
)
{
context
.
setHasDeal
(
true
);
return
;
return
true
;
}
for
(
OrderChannelEnum
value
:
OrderChannelEnum
.
values
())
{
Page
<
MallEorderDTO
>
eorderDTOPage
=
ecommerceOrderOutputApiService
.
queryEorderListByMemberId
(
enterpriseId
,
memberId
,
null
,
1
,
1
,
value
.
getChannelCode
());
if
(
eorderDTOPage
!=
null
&&
CollectionUtils
.
isNotEmpty
(
eorderDTOPage
.
getResult
()))
{
context
.
setHasDeal
(
true
);
return
;
return
true
;
}
}
return
false
;
}
...
...
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/content/impl/InteractRecordServiceImpl.java
View file @
8a71371d
...
...
@@ -202,7 +202,7 @@ public class InteractRecordServiceImpl implements InteractRecordService {
tabHaobanInteractRecordMapper
.
memberAuthorized
(
memberId
,
unionId
);
Map
<
String
,
List
<
TabHaobanInteractRecord
>>
interactRecordMap
=
interactRecords
.
stream
()
.
collect
(
Collectors
.
groupingBy
(
item
->
item
.
getClerkId
()
+
item
.
get
Member
Id
()));
.
collect
(
Collectors
.
groupingBy
(
item
->
item
.
getClerkId
()
+
item
.
get
Biz
Id
()));
for
(
Map
.
Entry
<
String
,
List
<
TabHaobanInteractRecord
>>
entry
:
interactRecordMap
.
entrySet
())
{
this
.
handlerRecord
(
memberId
,
entry
.
getValue
());
...
...
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/out/impl/content/InteractRecordApiServiceImpl.java
View file @
8a71371d
...
...
@@ -86,7 +86,8 @@ public class InteractRecordApiServiceImpl implements InteractRecordApiService {
*/
@Override
public
ServiceResponse
<
Void
>
memberChangeMQ
(
String
params
)
{
log
.
info
(
"会员合并事件 > {}"
,
params
);
if
(
StringUtils
.
isBlank
(
params
))
{
log
.
info
(
"会员id发生变化 {}"
,
params
);
return
ServiceResponse
.
success
();
...
...
haoban-manage3-service/src/main/resources/mapper/content/TabHaobanPotentialCustomerMapper.xml
View file @
8a71371d
...
...
@@ -279,7 +279,7 @@
<update
id=
"mergeMember"
>
update tab_haoban_potential_customer
set member_id = #{memberId}
where member_id = #{memberId} and delete_flag = 0
where member_id = #{me
rgeMe
mberId} and delete_flag = 0
</update>
<update
id=
"updateMemberDealRecordNum"
>
...
...
haoban-manage3-service/src/test/java/InteractRecordTest.java
View file @
8a71371d
...
...
@@ -11,6 +11,7 @@ import com.gic.haoban.manage.api.enums.content.TriggerCustomerChannelType;
import
com.gic.haoban.manage.api.service.content.InteractRecordApiService
;
import
com.gic.haoban.manage.service.dao.mapper.chat.GroupChatPlanOwnerLogMapper
;
import
com.gic.haoban.manage.service.pojo.bo.content.InteractRecordBO
;
import
com.gic.haoban.manage.service.pojo.bo.content.MemberAttrChangeBO
;
import
com.gic.haoban.manage.service.pojo.bo.content.message.InteractRecordMessageBO
;
import
com.gic.haoban.manage.service.pojo.qo.content.InteractRecordQO
;
import
com.gic.haoban.manage.service.service.content.InteractRecordService
;
...
...
@@ -95,4 +96,13 @@ public class InteractRecordTest {
search
.
setWxEnterpriseId
(
"f5f8c78e395e4ca1a493707316096097"
);
List
<
ChatOwnerTotalDTO
>
chatOwnerTotalDTOS
=
groupChatPlanOwnerLogMapper
.
listOwnerLogPageForWxaTotal
(
search
);
}
@Test
public
void
mergeMember
()
{
MemberAttrChangeBO
memberAttrChangeBO
=
new
MemberAttrChangeBO
();
memberAttrChangeBO
.
setMemberId
(
memberId
);
memberAttrChangeBO
.
setUnionId
(
"orXl9tyHOI4qP1QxwVcA7A3sB7zg"
);
memberAttrChangeBO
.
setOpt
(
MemberAttrChangeBO
.
MemberChangeOpt
.
MINI_APP_AUTHORIZED
.
getCode
());
interactRecordApiService
.
memberChangeMQ
(
JSON
.
toJSONString
(
memberAttrChangeBO
));
}
}
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