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
7ade37dc
Commit
7ade37dc
authored
Mar 31, 2025
by
王祖波
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
销售线索多商品类型判断
parent
64ea9f67
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
24 additions
and
4 deletions
+24
-4
InteractRecordMessageContext.java
...pojo/bo/content/context/InteractRecordMessageContext.java
+2
-1
InteractRecordMessageBO.java
...vice/pojo/bo/content/message/InteractRecordMessageBO.java
+5
-0
InteractRecordMessageService.java
...service/content/message/InteractRecordMessageService.java
+17
-3
No files found.
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/pojo/bo/content/context/InteractRecordMessageContext.java
View file @
7ade37dc
...
...
@@ -16,6 +16,7 @@ import org.springframework.beans.BeanUtils;
import
java.util.Date
;
import
java.util.Objects
;
import
java.util.Optional
;
import
java.util.function.Function
;
/**
* @Author MUSI
...
...
@@ -52,7 +53,7 @@ public class InteractRecordMessageContext {
&&
NumberUtils
.
isDigits
(
interactRecordMessageBO
.
getMaterialId
()))
{
return
ShareBizType
.
MATERIAL
.
getCode
();
}
else
if
(
StringUtils
.
isNotBlank
(
interactRecordMessageBO
.
getWxaLinkId
())
&&
Objects
.
equals
(
interactRecordMessageBO
.
getEventCode
(),
MessageConvertHelper
.
MULTIPLE_GOODS_EVENT_CODE
)
)
{
interactRecordMessageBO
.
getGoodsCount
()
>
1
)
{
return
ShareBizType
.
MULTIPLE_GOODS
.
getCode
();
}
return
ShareBizType
.
GOODS
.
getCode
();
...
...
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/pojo/bo/content/message/InteractRecordMessageBO.java
View file @
7ade37dc
...
...
@@ -138,4 +138,9 @@ public class InteractRecordMessageBO implements Serializable {
* 商品类型 微盟、达摩
*/
private
String
goodsChannel
;
/**
* 商品数量
*/
private
Integer
goodsCount
=
1
;
}
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/content/message/InteractRecordMessageService.java
View file @
7ade37dc
...
...
@@ -62,6 +62,21 @@ public class InteractRecordMessageService {
// 根据businessId clerkId memberId materialId 构建唯一标识key
String
recordKey
=
context
.
buildRecordKey
();
RedisUtil
.
lock
(
recordKey
,
3L
,
TimeUnit
.
SECONDS
,
2L
);
// 查询多商品页面数据
Map
<
String
,
List
<
List
<
String
>>>
multipleMap
=
null
;
if
(
StringUtils
.
isNotBlank
(
interactRecordMessageBO
.
getWxaLinkId
()))
{
multipleMap
=
interactRecordBuilder
.
getGroupGoodsIdByWxaLinkIds
(
Lists
.
newArrayList
(
interactRecordMessageBO
.
getWxaLinkId
()));
if
(
MapUtil
.
isNotEmpty
(
multipleMap
))
{
List
<
List
<
String
>>
groupGoodsIds
=
multipleMap
.
get
(
interactRecordMessageBO
.
getWxaLinkId
());
if
(
CollectionUtils
.
isNotEmpty
(
groupGoodsIds
))
{
Integer
goodsCount
=
groupGoodsIds
.
stream
().
mapToInt
(
List:
:
size
).
sum
();
log
.
info
(
"多商品分享页面goodsCount:{}"
,
goodsCount
);
interactRecordMessageBO
.
setGoodsCount
(
goodsCount
);
}
}
}
// 根据key 查询是否存在记录
InteractRecordBO
interactRecordBO
=
null
;
if
(
MaterialInteractRecordEventType
.
ORDER
.
getCode
().
equals
(
interactRecordMessageBO
.
getEventType
()))
{
...
...
@@ -120,7 +135,7 @@ public class InteractRecordMessageService {
}
// 冗余分享的商品组信息
saveGroupGoodsId
(
interactRecordMessageBO
,
interactRecordBO
);
saveGroupGoodsId
(
interactRecordMessageBO
,
interactRecordBO
,
multipleMap
);
// 组装扩展信息
if
(
MaterialInteractRecordEventType
.
VISIT_PRODUCT
.
getCode
()
...
...
@@ -193,11 +208,10 @@ public class InteractRecordMessageService {
}
}
private
void
saveGroupGoodsId
(
InteractRecordMessageBO
interactRecordMessageBO
,
InteractRecordBO
interactRecordBO
)
{
private
void
saveGroupGoodsId
(
InteractRecordMessageBO
interactRecordMessageBO
,
InteractRecordBO
interactRecordBO
,
Map
<
String
,
List
<
List
<
String
>>>
map
)
{
if
(
interactRecordBO
.
getExtendInfo
()
!=
null
&&
CollectionUtils
.
isNotEmpty
(
interactRecordBO
.
getExtendInfo
().
getGroupGoodsIds
()))
{
return
;
}
Map
<
String
,
List
<
List
<
String
>>>
map
=
interactRecordBuilder
.
getGroupGoodsIdByWxaLinkIds
(
Lists
.
newArrayList
(
interactRecordMessageBO
.
getWxaLinkId
()));
if
(
MapUtil
.
isEmpty
(
map
))
{
return
;
}
...
...
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