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
64ea9f67
Commit
64ea9f67
authored
Mar 31, 2025
by
王祖波
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
销售线索列表返回多商品页面信息
parent
27bfb90a
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
178 additions
and
55 deletions
+178
-55
PotentialCustomerDTO.java
...c/haoban/manage/api/dto/content/PotentialCustomerDTO.java
+15
-0
InteractRecordBuilder.java
...ervice/service/content/adaptor/InteractRecordBuilder.java
+68
-19
InteractRecordMessageService.java
...service/content/message/InteractRecordMessageService.java
+8
-36
PotentialCustomerApiServiceImpl.java
...ice/out/impl/content/PotentialCustomerApiServiceImpl.java
+14
-0
PotentialCustomerController.java
...e/web/controller/content/PotentialCustomerController.java
+3
-0
InteractRecordExtendInfoVo.java
.../web/vo/content/potential/InteractRecordExtendInfoVo.java
+64
-0
PotentialCustomerVO.java
.../manage/web/vo/content/potential/PotentialCustomerVO.java
+6
-0
No files found.
haoban-manage3-api/src/main/java/com/gic/haoban/manage/api/dto/content/PotentialCustomerDTO.java
View file @
64ea9f67
package
com
.
gic
.
haoban
.
manage
.
api
.
dto
.
content
;
package
com
.
gic
.
haoban
.
manage
.
api
.
dto
.
content
;
import
com.gic.haoban.manage.api.enums.content.InteractRecordExtendInfoDTO
;
import
java.io.Serializable
;
import
java.io.Serializable
;
import
java.util.Date
;
import
java.util.Date
;
...
@@ -100,6 +102,11 @@ public class PotentialCustomerDTO implements Serializable {
...
@@ -100,6 +102,11 @@ public class PotentialCustomerDTO implements Serializable {
*/
*/
private
Integer
durationTime
;
private
Integer
durationTime
;
/**
* 扩展信息
*/
private
InteractRecordExtendInfoDTO
extendInfo
;
public
Long
getPotentialCustomerId
()
{
public
Long
getPotentialCustomerId
()
{
return
potentialCustomerId
;
return
potentialCustomerId
;
}
}
...
@@ -235,4 +242,12 @@ public class PotentialCustomerDTO implements Serializable {
...
@@ -235,4 +242,12 @@ public class PotentialCustomerDTO implements Serializable {
public
void
setMemberNickName
(
String
memberNickName
)
{
public
void
setMemberNickName
(
String
memberNickName
)
{
this
.
memberNickName
=
memberNickName
;
this
.
memberNickName
=
memberNickName
;
}
}
public
InteractRecordExtendInfoDTO
getExtendInfo
()
{
return
extendInfo
;
}
public
void
setExtendInfo
(
InteractRecordExtendInfoDTO
extendInfo
)
{
this
.
extendInfo
=
extendInfo
;
}
}
}
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/content/adaptor/InteractRecordBuilder.java
View file @
64ea9f67
package
com
.
gic
.
haoban
.
manage
.
service
.
service
.
content
.
adaptor
;
package
com
.
gic
.
haoban
.
manage
.
service
.
service
.
content
.
adaptor
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONObject
;
import
com.alibaba.fastjson.TypeReference
;
import
com.alibaba.fastjson.TypeReference
;
import
com.gic.api.base.commons.ServiceResponse
;
import
com.gic.api.base.commons.ServiceResponse
;
import
com.gic.enterprise.api.dto.page.EnterpriseWxaLinkDTO
;
import
com.gic.enterprise.api.service.EnterpriseWxaLinkService
;
import
com.gic.haoban.manage.api.enums.content.MaterialInteractRecordEventType
;
import
com.gic.haoban.manage.api.enums.content.MaterialInteractRecordEventType
;
import
com.gic.haoban.manage.api.enums.content.ShareBizType
;
import
com.gic.haoban.manage.api.enums.content.ShareBizType
;
import
com.gic.haoban.manage.api.enums.content.ShareCustomerSourceType
;
import
com.gic.haoban.manage.api.enums.content.ShareCustomerSourceType
;
...
@@ -42,6 +45,8 @@ public class InteractRecordBuilder {
...
@@ -42,6 +45,8 @@ public class InteractRecordBuilder {
private
GoodsInfoOutApiService
goodsInfoOutApiService
;
private
GoodsInfoOutApiService
goodsInfoOutApiService
;
@Autowired
@Autowired
private
GoodsInfoAdaptor
goodsInfoAdaptor
;
private
GoodsInfoAdaptor
goodsInfoAdaptor
;
@Autowired
private
EnterpriseWxaLinkService
enterpriseWxaLinkService
;
/**
/**
* 互动记录描述
* 互动记录描述
...
@@ -103,25 +108,7 @@ public class InteractRecordBuilder {
...
@@ -103,25 +108,7 @@ public class InteractRecordBuilder {
||
MaterialInteractRecordEventType
.
ADD_SHOPPING_CART
.
getCode
().
equals
(
interactRecord
.
getEventType
())
||
MaterialInteractRecordEventType
.
ADD_SHOPPING_CART
.
getCode
().
equals
(
interactRecord
.
getEventType
())
||
MaterialInteractRecordEventType
.
ORDER
.
getCode
().
equals
(
interactRecord
.
getEventType
())
||
MaterialInteractRecordEventType
.
ORDER
.
getCode
().
equals
(
interactRecord
.
getEventType
())
||
MaterialInteractRecordEventType
.
VISIT_MATERIAL
.
getCode
().
equals
(
interactRecord
.
getEventType
()))
{
||
MaterialInteractRecordEventType
.
VISIT_MATERIAL
.
getCode
().
equals
(
interactRecord
.
getEventType
()))
{
List
<
List
<
String
>>
groupGoodsIds
=
extendInfo
.
getGroupGoodsIds
();
convertGroupGoods
(
interactRecord
.
getEnterpriseId
(),
extendInfo
);
// 组装商品组数据
if
(
CollectionUtils
.
isNotEmpty
(
groupGoodsIds
))
{
List
<
String
>
groupGoodsIdList
=
groupGoodsIds
.
stream
().
flatMap
(
Collection:
:
stream
).
collect
(
Collectors
.
toList
());
List
<
InteractRecordExtendInfoBO
.
ExtendGoodsInfo
>
extendGoodsInfos
=
this
.
convertGoodsInfo
(
groupGoodsIdList
,
interactRecord
.
getEnterpriseId
());
if
(
CollectionUtils
.
isNotEmpty
(
extendGoodsInfos
))
{
Map
<
String
,
InteractRecordExtendInfoBO
.
ExtendGoodsInfo
>
goodsInfoMap
=
extendGoodsInfos
.
stream
()
.
collect
(
Collectors
.
toMap
(
InteractRecordExtendInfoBO
.
ExtendGoodsInfo
::
getGoodsId
,
Function
.
identity
(),(
e
,
x
)->
e
));
List
<
List
<
InteractRecordExtendInfoBO
.
ExtendGoodsInfo
>>
groupExtendGoodsInfos
=
groupGoodsIds
.
stream
()
.
map
(
group
->
group
.
stream
()
.
map
(
goodsInfoMap:
:
get
)
.
filter
(
Objects:
:
nonNull
)
.
collect
(
Collectors
.
toList
()))
.
collect
(
Collectors
.
toList
());
extendInfo
.
setGroupExtendGoodsInfos
(
groupExtendGoodsInfos
);
extendInfo
.
setGroupInvalidGoodsNum
(
groupGoodsIdList
.
size
()
-
groupExtendGoodsInfos
.
stream
().
mapToInt
(
List:
:
size
).
sum
());
}
}
// 浏览商品事件
// 浏览商品事件
List
<
String
>
visitGoodsIds
=
extendInfo
.
getGoodsIds
();
List
<
String
>
visitGoodsIds
=
extendInfo
.
getGoodsIds
();
if
(
CollectionUtils
.
isEmpty
(
visitGoodsIds
))
{
if
(
CollectionUtils
.
isEmpty
(
visitGoodsIds
))
{
...
@@ -151,6 +138,28 @@ public class InteractRecordBuilder {
...
@@ -151,6 +138,28 @@ public class InteractRecordBuilder {
return
extendInfo
;
return
extendInfo
;
}
}
private
void
convertGroupGoods
(
String
enterpriseId
,
InteractRecordExtendInfoBO
extendInfo
)
{
List
<
List
<
String
>>
groupGoodsIds
=
extendInfo
.
getGroupGoodsIds
();
// 组装商品组数据
if
(
CollectionUtils
.
isNotEmpty
(
groupGoodsIds
))
{
List
<
String
>
groupGoodsIdList
=
groupGoodsIds
.
stream
().
flatMap
(
Collection:
:
stream
).
collect
(
Collectors
.
toList
());
List
<
InteractRecordExtendInfoBO
.
ExtendGoodsInfo
>
extendGoodsInfos
=
this
.
convertGoodsInfo
(
groupGoodsIdList
,
enterpriseId
);
if
(
CollectionUtils
.
isNotEmpty
(
extendGoodsInfos
))
{
Map
<
String
,
InteractRecordExtendInfoBO
.
ExtendGoodsInfo
>
goodsInfoMap
=
extendGoodsInfos
.
stream
()
.
collect
(
Collectors
.
toMap
(
InteractRecordExtendInfoBO
.
ExtendGoodsInfo
::
getGoodsId
,
Function
.
identity
(),(
e
,
x
)->
e
));
List
<
List
<
InteractRecordExtendInfoBO
.
ExtendGoodsInfo
>>
groupExtendGoodsInfos
=
groupGoodsIds
.
stream
()
.
map
(
group
->
group
.
stream
()
.
map
(
goodsInfoMap:
:
get
)
.
filter
(
Objects:
:
nonNull
)
.
collect
(
Collectors
.
toList
()))
.
collect
(
Collectors
.
toList
());
extendInfo
.
setGroupExtendGoodsInfos
(
groupExtendGoodsInfos
);
extendInfo
.
setGroupInvalidGoodsNum
(
groupGoodsIdList
.
size
()
-
groupExtendGoodsInfos
.
stream
().
mapToInt
(
List:
:
size
).
sum
());
}
}
}
private
List
<
InteractRecordExtendInfoBO
.
ExtendGoodsInfo
>
convertGoodsInfo
(
List
<
String
>
visitGoodsIds
,
String
enterpriseId
)
{
private
List
<
InteractRecordExtendInfoBO
.
ExtendGoodsInfo
>
convertGoodsInfo
(
List
<
String
>
visitGoodsIds
,
String
enterpriseId
)
{
if
(
CollectionUtils
.
isEmpty
(
visitGoodsIds
))
{
if
(
CollectionUtils
.
isEmpty
(
visitGoodsIds
))
{
return
Collections
.
emptyList
();
return
Collections
.
emptyList
();
...
@@ -240,4 +249,44 @@ public class InteractRecordBuilder {
...
@@ -240,4 +249,44 @@ public class InteractRecordBuilder {
temp
.
setDealRecordNum
(
hasOrder
?
1
:
0
);
temp
.
setDealRecordNum
(
hasOrder
?
1
:
0
);
return
temp
;
return
temp
;
}
}
public
Map
<
String
,
List
<
List
<
String
>>>
getGroupGoodsIdByWxaLinkIds
(
List
<
String
>
wxaLinkIds
)
{
if
(
CollectionUtils
.
isEmpty
(
wxaLinkIds
))
{
return
null
;
}
List
<
EnterpriseWxaLinkDTO
>
linkList
=
enterpriseWxaLinkService
.
listLinkInfo
(
wxaLinkIds
);
if
(
CollectionUtils
.
isEmpty
(
linkList
))
{
return
null
;
}
Map
<
String
,
List
<
List
<
String
>>>
map
=
new
HashMap
<>();
for
(
EnterpriseWxaLinkDTO
linkInfo
:
linkList
)
{
String
pageLink
=
linkInfo
.
getPageLink
();
String
id
=
linkInfo
.
getId
();
if
(
StringUtils
.
isBlank
(
pageLink
))
{
return
null
;
}
String
params
=
JSONObject
.
parseObject
(
pageLink
).
getString
(
"params"
);
if
(
StringUtils
.
isBlank
(
params
))
{
return
null
;
}
String
proIdJSON
=
JSONObject
.
parseObject
(
params
).
getString
(
"proIdJSON"
);
if
(
StringUtils
.
isBlank
(
proIdJSON
))
{
return
null
;
}
map
.
put
(
id
,
JSON
.
parseObject
(
proIdJSON
,
new
cn
.
hutool
.
core
.
lang
.
TypeReference
<
List
<
List
<
String
>>>()
{}));
}
return
map
;
}
public
Map
<
String
,
InteractRecordExtendInfoBO
>
buildGroupGoodsByWxaLinkId
(
String
enterpriseId
,
List
<
String
>
wxaLinkIds
)
{
Map
<
String
,
List
<
List
<
String
>>>
map
=
getGroupGoodsIdByWxaLinkIds
(
wxaLinkIds
);
Map
<
String
,
InteractRecordExtendInfoBO
>
extendInfoBOMap
=
new
HashMap
<>();
map
.
forEach
((
wxaLinkId
,
groupIds
)
->
{
InteractRecordExtendInfoBO
extendInfoBO
=
new
InteractRecordExtendInfoBO
();
extendInfoBO
.
setGroupGoodsIds
(
groupIds
);
convertGroupGoods
(
enterpriseId
,
extendInfoBO
);
extendInfoBOMap
.
put
(
wxaLinkId
,
extendInfoBO
);
});
return
extendInfoBOMap
;
}
}
}
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/content/message/InteractRecordMessageService.java
View file @
64ea9f67
package
com
.
gic
.
haoban
.
manage
.
service
.
service
.
content
.
message
;
package
com
.
gic
.
haoban
.
manage
.
service
.
service
.
content
.
message
;
import
cn.hutool.core.
lang.TypeReference
;
import
cn.hutool.core.
map.MapUtil
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONArray
;
import
com.alibaba.fastjson.JSONObject
;
import
com.gic.api.base.commons.ServiceResponse
;
import
com.gic.api.base.commons.ServiceResponse
;
import
com.gic.content.api.dto.setting.ContentSettingDTO
;
import
com.gic.content.api.dto.setting.ContentSettingDTO
;
import
com.gic.content.api.service.ContentSettingApiService
;
import
com.gic.content.api.service.ContentSettingApiService
;
import
com.gic.enterprise.api.dto.page.EnterpriseWxaLinkDTO
;
import
com.gic.enterprise.api.service.EnterpriseWxaLinkService
;
import
com.gic.haoban.manage.api.enums.content.MaterialInteractRecordEventType
;
import
com.gic.haoban.manage.api.enums.content.MaterialInteractRecordEventType
;
import
com.gic.haoban.manage.service.pojo.bo.content.InteractRecordBO
;
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.InteractRecordExtendInfoBO
;
...
@@ -19,6 +15,7 @@ import com.gic.haoban.manage.service.pojo.bo.content.context.PotentialCustomerNo
...
@@ -19,6 +15,7 @@ import com.gic.haoban.manage.service.pojo.bo.content.context.PotentialCustomerNo
import
com.gic.haoban.manage.service.pojo.bo.content.message.InteractRecordMessageBO
;
import
com.gic.haoban.manage.service.pojo.bo.content.message.InteractRecordMessageBO
;
import
com.gic.haoban.manage.service.service.content.InteractRecordService
;
import
com.gic.haoban.manage.service.service.content.InteractRecordService
;
import
com.gic.haoban.manage.service.service.content.PotentialCustomerService
;
import
com.gic.haoban.manage.service.service.content.PotentialCustomerService
;
import
com.gic.haoban.manage.service.service.content.adaptor.InteractRecordBuilder
;
import
com.gic.haoban.manage.service.service.content.adaptor.InteractRecordMessageBuilder
;
import
com.gic.haoban.manage.service.service.content.adaptor.InteractRecordMessageBuilder
;
import
com.gic.haoban.manage.service.util.IntervalUtils
;
import
com.gic.haoban.manage.service.util.IntervalUtils
;
import
com.gic.redis.data.util.RedisUtil
;
import
com.gic.redis.data.util.RedisUtil
;
...
@@ -29,10 +26,7 @@ import org.apache.commons.lang3.StringUtils;
...
@@ -29,10 +26,7 @@ import org.apache.commons.lang3.StringUtils;
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.Date
;
import
java.util.*
;
import
java.util.List
;
import
java.util.Objects
;
import
java.util.Optional
;
import
java.util.concurrent.TimeUnit
;
import
java.util.concurrent.TimeUnit
;
/**
/**
...
@@ -50,11 +44,11 @@ public class InteractRecordMessageService {
...
@@ -50,11 +44,11 @@ public class InteractRecordMessageService {
@Autowired
@Autowired
InteractRecordMessageBuilder
interactRecordMessageBuilder
;
InteractRecordMessageBuilder
interactRecordMessageBuilder
;
@Autowired
@Autowired
InteractRecordBuilder
interactRecordBuilder
;
@Autowired
PotentialCustomerService
potentialCustomerService
;
PotentialCustomerService
potentialCustomerService
;
@Autowired
@Autowired
ContentSettingApiService
contentSettingApiService
;
ContentSettingApiService
contentSettingApiService
;
@Autowired
EnterpriseWxaLinkService
enterpriseWxaLinkService
;
/**
/**
* 处理互动记录
* 处理互动记录
...
@@ -200,36 +194,14 @@ public class InteractRecordMessageService {
...
@@ -200,36 +194,14 @@ public class InteractRecordMessageService {
}
}
private
void
saveGroupGoodsId
(
InteractRecordMessageBO
interactRecordMessageBO
,
InteractRecordBO
interactRecordBO
)
{
private
void
saveGroupGoodsId
(
InteractRecordMessageBO
interactRecordMessageBO
,
InteractRecordBO
interactRecordBO
)
{
if
(
StringUtils
.
isBlank
(
interactRecordMessageBO
.
getWxaLinkId
()))
{
return
;
}
if
(
interactRecordBO
.
getExtendInfo
()
!=
null
&&
CollectionUtils
.
isNotEmpty
(
interactRecordBO
.
getExtendInfo
().
getGroupGoodsIds
()))
{
if
(
interactRecordBO
.
getExtendInfo
()
!=
null
&&
CollectionUtils
.
isNotEmpty
(
interactRecordBO
.
getExtendInfo
().
getGroupGoodsIds
()))
{
return
;
return
;
}
}
Map
<
String
,
List
<
List
<
String
>>>
map
=
interactRecordBuilder
.
getGroupGoodsIdByWxaLinkIds
(
Lists
.
newArrayList
(
interactRecordMessageBO
.
getWxaLinkId
()));
EnterpriseWxaLinkDTO
linkInfo
=
enterpriseWxaLinkService
.
getLinkInfo
(
interactRecordMessageBO
.
getWxaLinkId
());
if
(
MapUtil
.
isEmpty
(
map
))
{
if
(
linkInfo
==
null
)
{
return
;
}
String
pageLink
=
linkInfo
.
getPageLink
();
if
(
StringUtils
.
isBlank
(
pageLink
))
{
return
;
}
String
params
=
JSONObject
.
parseObject
(
pageLink
).
getString
(
"params"
);
if
(
StringUtils
.
isBlank
(
params
))
{
return
;
return
;
}
}
List
<
List
<
String
>>
groupGoodsIds
=
map
.
get
(
interactRecordMessageBO
.
getWxaLinkId
());
String
proIdJSON
=
JSONObject
.
parseObject
(
params
).
getString
(
"proIdJSON"
);
if
(
StringUtils
.
isBlank
(
proIdJSON
))
{
return
;
}
List
<
List
<
String
>>
groupGoodsIds
=
JSON
.
parseObject
(
proIdJSON
,
new
TypeReference
<
List
<
String
>>()
{
});
Integer
goodsCount
=
groupGoodsIds
.
stream
().
mapToInt
(
List:
:
size
).
sum
();
Integer
goodsCount
=
groupGoodsIds
.
stream
().
mapToInt
(
List:
:
size
).
sum
();
if
(
goodsCount
<=
1
)
{
if
(
goodsCount
<=
1
)
{
return
;
return
;
...
...
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/out/impl/content/PotentialCustomerApiServiceImpl.java
View file @
64ea9f67
...
@@ -2,10 +2,14 @@ package com.gic.haoban.manage.service.service.out.impl.content;
...
@@ -2,10 +2,14 @@ package com.gic.haoban.manage.service.service.out.impl.content;
import
com.gic.api.base.commons.Page
;
import
com.gic.api.base.commons.Page
;
import
com.gic.api.base.commons.ServiceResponse
;
import
com.gic.api.base.commons.ServiceResponse
;
import
com.gic.commons.util.EntityUtil
;
import
com.gic.haoban.manage.api.dto.content.PotentialCustomerDTO
;
import
com.gic.haoban.manage.api.dto.content.PotentialCustomerDTO
;
import
com.gic.haoban.manage.api.dto.qdto.content.PotentialCustomerMarkRecordDTO
;
import
com.gic.haoban.manage.api.dto.qdto.content.PotentialCustomerMarkRecordDTO
;
import
com.gic.haoban.manage.api.dto.qdto.content.PotentialCustomerQDTO
;
import
com.gic.haoban.manage.api.dto.qdto.content.PotentialCustomerQDTO
;
import
com.gic.haoban.manage.api.enums.content.InteractRecordExtendInfoDTO
;
import
com.gic.haoban.manage.api.enums.content.ShareBizType
;
import
com.gic.haoban.manage.api.service.content.PotentialCustomerApiService
;
import
com.gic.haoban.manage.api.service.content.PotentialCustomerApiService
;
import
com.gic.haoban.manage.service.pojo.bo.content.InteractRecordExtendInfoBO
;
import
com.gic.haoban.manage.service.pojo.bo.content.PotentialCustomerBO
;
import
com.gic.haoban.manage.service.pojo.bo.content.PotentialCustomerBO
;
import
com.gic.haoban.manage.service.pojo.qo.content.PotentialCustomerQO
;
import
com.gic.haoban.manage.service.pojo.qo.content.PotentialCustomerQO
;
import
com.gic.haoban.manage.service.service.content.PotentialCustomerService
;
import
com.gic.haoban.manage.service.service.content.PotentialCustomerService
;
...
@@ -16,6 +20,8 @@ import org.springframework.beans.factory.annotation.Autowired;
...
@@ -16,6 +20,8 @@ import org.springframework.beans.factory.annotation.Autowired;
import
org.springframework.stereotype.Component
;
import
org.springframework.stereotype.Component
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Objects
;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
/**
/**
...
@@ -46,6 +52,10 @@ public class PotentialCustomerApiServiceImpl implements PotentialCustomerApiServ
...
@@ -46,6 +52,10 @@ public class PotentialCustomerApiServiceImpl implements PotentialCustomerApiServ
if
(
CollectionUtils
.
isEmpty
(
customerPage
.
getResult
()))
{
if
(
CollectionUtils
.
isEmpty
(
customerPage
.
getResult
()))
{
return
ServiceResponse
.
success
(
new
Page
<>());
return
ServiceResponse
.
success
(
new
Page
<>());
}
}
List
<
String
>
wxaLinkIds
=
customerPage
.
getResult
().
stream
()
.
filter
(
item
->
Objects
.
equals
(
item
.
getBizType
(),
ShareBizType
.
MULTIPLE_GOODS
.
getCode
()))
.
map
(
PotentialCustomerBO:
:
getBizId
).
collect
(
Collectors
.
toList
());
Map
<
String
,
InteractRecordExtendInfoBO
>
extendInfoBOMap
=
interactRecordBuilder
.
buildGroupGoodsByWxaLinkId
(
potentialCustomerQDTO
.
getEnterpriseId
(),
wxaLinkIds
);
Page
<
PotentialCustomerDTO
>
resultPage
=
new
Page
<>();
Page
<
PotentialCustomerDTO
>
resultPage
=
new
Page
<>();
resultPage
.
setTotalCount
(
customerPage
.
getTotalCount
());
resultPage
.
setTotalCount
(
customerPage
.
getTotalCount
());
resultPage
.
setCurrentPage
(
potentialCustomerQDTO
.
getPageNum
());
resultPage
.
setCurrentPage
(
potentialCustomerQDTO
.
getPageNum
());
...
@@ -57,6 +67,10 @@ public class PotentialCustomerApiServiceImpl implements PotentialCustomerApiServ
...
@@ -57,6 +67,10 @@ public class PotentialCustomerApiServiceImpl implements PotentialCustomerApiServ
BeanUtils
.
copyProperties
(
item
,
temp
);
BeanUtils
.
copyProperties
(
item
,
temp
);
temp
.
setPotentialCustomerId
(
item
.
getId
());
temp
.
setPotentialCustomerId
(
item
.
getId
());
temp
.
setDesc
(
interactRecordBuilder
.
buildDesc
(
item
.
getChannelSource
(),
item
.
getShareSource
(),
item
.
getEventType
(),
item
.
getBizType
()));
temp
.
setDesc
(
interactRecordBuilder
.
buildDesc
(
item
.
getChannelSource
(),
item
.
getShareSource
(),
item
.
getEventType
(),
item
.
getBizType
()));
InteractRecordExtendInfoBO
extendInfoBO
=
extendInfoBOMap
.
get
(
item
.
getBizId
());
if
(
extendInfoBO
!=
null
)
{
temp
.
setExtendInfo
(
EntityUtil
.
changeEntityByJSON
(
InteractRecordExtendInfoDTO
.
class
,
extendInfoBO
));
}
return
temp
;
return
temp
;
})
})
.
collect
(
Collectors
.
toList
());
.
collect
(
Collectors
.
toList
());
...
...
haoban-manage3-wx/src/main/java/com/gic/haoban/manage/web/controller/content/PotentialCustomerController.java
View file @
64ea9f67
...
@@ -3,6 +3,7 @@ package com.gic.haoban.manage.web.controller.content;
...
@@ -3,6 +3,7 @@ package com.gic.haoban.manage.web.controller.content;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSON
;
import
com.gic.api.base.commons.Page
;
import
com.gic.api.base.commons.Page
;
import
com.gic.api.base.commons.ServiceResponse
;
import
com.gic.api.base.commons.ServiceResponse
;
import
com.gic.commons.util.EntityUtil
;
import
com.gic.commons.webapi.reponse.RestResponse
;
import
com.gic.commons.webapi.reponse.RestResponse
;
import
com.gic.content.api.dto.material.ContentMaterialBaseDTO
;
import
com.gic.content.api.dto.material.ContentMaterialBaseDTO
;
import
com.gic.haoban.manage.api.dto.content.PotentialCustomerDTO
;
import
com.gic.haoban.manage.api.dto.content.PotentialCustomerDTO
;
...
@@ -17,6 +18,7 @@ import com.gic.haoban.manage.web.qo.content.potential.PotentialCustomerMarkRecor
...
@@ -17,6 +18,7 @@ import com.gic.haoban.manage.web.qo.content.potential.PotentialCustomerMarkRecor
import
com.gic.haoban.manage.web.qo.content.potential.PotentialCustomerQO
;
import
com.gic.haoban.manage.web.qo.content.potential.PotentialCustomerQO
;
import
com.gic.haoban.manage.web.vo.content.ContentMaterialInfoVO
;
import
com.gic.haoban.manage.web.vo.content.ContentMaterialInfoVO
;
import
com.gic.haoban.manage.web.vo.content.SimpleGoodsInfoVO
;
import
com.gic.haoban.manage.web.vo.content.SimpleGoodsInfoVO
;
import
com.gic.haoban.manage.web.vo.content.potential.InteractRecordExtendInfoVo
;
import
com.gic.haoban.manage.web.vo.content.potential.PotentialCustomerVO
;
import
com.gic.haoban.manage.web.vo.content.potential.PotentialCustomerVO
;
import
com.gic.store.goods.dto.goods.GoodsInfoSimpleDTO
;
import
com.gic.store.goods.dto.goods.GoodsInfoSimpleDTO
;
import
com.gic.store.goods.dto.goods.GoodsSpuInfoDTO
;
import
com.gic.store.goods.dto.goods.GoodsSpuInfoDTO
;
...
@@ -111,6 +113,7 @@ public class PotentialCustomerController {
...
@@ -111,6 +113,7 @@ public class PotentialCustomerController {
PotentialCustomerVO
temp
=
new
PotentialCustomerVO
();
PotentialCustomerVO
temp
=
new
PotentialCustomerVO
();
BeanUtils
.
copyProperties
(
item
,
temp
);
BeanUtils
.
copyProperties
(
item
,
temp
);
temp
.
setPotentialCustomerId
(
item
.
getPotentialCustomerId
());
temp
.
setPotentialCustomerId
(
item
.
getPotentialCustomerId
());
temp
.
setExtendInfo
(
EntityUtil
.
changeEntityByJSON
(
InteractRecordExtendInfoVo
.
class
,
item
.
getExtendInfo
()));
if
(
ShareBizType
.
MATERIAL
.
getCode
().
equals
(
item
.
getBizType
()))
{
if
(
ShareBizType
.
MATERIAL
.
getCode
().
equals
(
item
.
getBizType
()))
{
ContentMaterialBaseDTO
contentMaterialBaseDTO
=
materialInfoMap
.
get
(
Long
.
parseLong
(
item
.
getBizId
()));
ContentMaterialBaseDTO
contentMaterialBaseDTO
=
materialInfoMap
.
get
(
Long
.
parseLong
(
item
.
getBizId
()));
if
(
contentMaterialBaseDTO
!=
null
)
{
if
(
contentMaterialBaseDTO
!=
null
)
{
...
...
haoban-manage3-wx/src/main/java/com/gic/haoban/manage/web/vo/content/potential/InteractRecordExtendInfoVo.java
0 → 100644
View file @
64ea9f67
package
com
.
gic
.
haoban
.
manage
.
web
.
vo
.
content
.
potential
;
import
lombok.Data
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
import
java.util.Date
;
import
java.util.List
;
@Data
public
class
InteractRecordExtendInfoVo
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1577766149535235456L
;
/**
* 按组分享素材扩展商品信息
*/
private
List
<
List
<
ExtendGoodsInfo
>>
groupExtendGoodsInfos
;
/**
* 按组分享失效商品数量
*/
private
Integer
groupInvalidGoodsNum
;
@Data
public
static
class
ExtendGoodsInfo
implements
Serializable
{
/**
* 商品id
*/
private
String
goodsId
;
/**
* 商品名称
*/
private
String
goodsName
;
/**
* 商品主图
*/
private
String
goodsImageUrl
;
/**
* 商品货号
*/
private
String
goodsCode
;
/**
* 商品规格 红色,S; 白色,S
*/
private
String
goodsNorm
;
/**
* 订单项数量
*/
private
Integer
orderNum
;
/**
* 商品单价
*/
private
BigDecimal
salePrice
;
}
}
haoban-manage3-wx/src/main/java/com/gic/haoban/manage/web/vo/content/potential/PotentialCustomerVO.java
View file @
64ea9f67
...
@@ -2,6 +2,7 @@ package com.gic.haoban.manage.web.vo.content.potential;
...
@@ -2,6 +2,7 @@ package com.gic.haoban.manage.web.vo.content.potential;
import
com.fasterxml.jackson.databind.annotation.JsonSerialize
;
import
com.fasterxml.jackson.databind.annotation.JsonSerialize
;
import
com.fasterxml.jackson.databind.ser.std.ToStringSerializer
;
import
com.fasterxml.jackson.databind.ser.std.ToStringSerializer
;
import
com.gic.haoban.manage.api.enums.content.InteractRecordExtendInfoDTO
;
import
com.gic.haoban.manage.web.vo.content.ContentMaterialInfoVO
;
import
com.gic.haoban.manage.web.vo.content.ContentMaterialInfoVO
;
import
com.gic.haoban.manage.web.vo.content.SimpleGoodsInfoVO
;
import
com.gic.haoban.manage.web.vo.content.SimpleGoodsInfoVO
;
import
lombok.Data
;
import
lombok.Data
;
...
@@ -120,4 +121,9 @@ public class PotentialCustomerVO implements Serializable {
...
@@ -120,4 +121,9 @@ public class PotentialCustomerVO implements Serializable {
* 业务id
* 业务id
*/
*/
private
String
bizId
;
private
String
bizId
;
/**
* 扩展信息
*/
private
InteractRecordExtendInfoVo
extendInfo
;
}
}
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