Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
O
order-group
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
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
order-group-application
order-group
Commits
019f4c6b
Commit
019f4c6b
authored
Dec 01, 2020
by
刘鹏飞
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
构建coco赠品加入购物的逻辑
parent
6342f2ce
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
223 additions
and
39 deletions
+223
-39
shopping-cart-application-service/src/main/java/cn/freemud/service/active/ActiveFactory.java
+10
-2
shopping-cart-application-service/src/main/java/cn/freemud/service/active/ActiveService.java
+14
-0
shopping-cart-application-service/src/main/java/cn/freemud/service/active/impl/ActiveFactoryImpl.java
+10
-0
shopping-cart-application-service/src/main/java/cn/freemud/service/active/impl/CocoActiveServiceImpl.java
+115
-0
shopping-cart-application-service/src/main/java/cn/freemud/service/active/impl/PlatformActiveServiceImpl.java
+61
-0
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/calculate/promotion/GiftSharingService.java
+13
-37
No files found.
shopping-cart-application-service/src/main/java/cn/freemud/service/active/ActiveFactory.java
View file @
019f4c6b
/**
/**
* All rights Reserved, Designed By www.freemud.cn
* All rights Reserved, Designed By www.freemud.cn
*
*
* @Title:
CouponService
* @Title:
ActiveFactory
* @Package cn.freemud.service
* @Package cn.freemud.service
* @Description:
* @Description:
* @author: pengfei.liu
* @author: pengfei.liu
...
@@ -10,9 +10,10 @@
...
@@ -10,9 +10,10 @@
* @Copyright: 2020 www.freemud.cn Inc. All rights reserved.
* @Copyright: 2020 www.freemud.cn Inc. All rights reserved.
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
*/
*/
package
cn
.
freemud
.
service
.
active
;
package
cn
.
freemud
.
service
.
active
;
import
cn.freemud.entities.vo.ShoppingCartInfoRequestVo
;
public
interface
ActiveFactory
{
public
interface
ActiveFactory
{
/**
/**
...
@@ -21,4 +22,11 @@ public interface ActiveFactory {
...
@@ -21,4 +22,11 @@ public interface ActiveFactory {
* @return
* @return
*/
*/
ActiveService
getBuildChooseGoodsService
(
String
partnerId
);
ActiveService
getBuildChooseGoodsService
(
String
partnerId
);
/**
* 获取赠品添加购物车实现
* @param
* @return
*/
ActiveService
getGifAddCartService
(
ShoppingCartInfoRequestVo
shoppingCartInfoRequestVo
);
}
}
shopping-cart-application-service/src/main/java/cn/freemud/service/active/ActiveService.java
View file @
019f4c6b
...
@@ -14,9 +14,13 @@
...
@@ -14,9 +14,13 @@
package
cn
.
freemud
.
service
.
active
;
package
cn
.
freemud
.
service
.
active
;
import
cn.freemud.entities.dto.calculate.CalculationSharingDiscountRequestDto
;
import
cn.freemud.entities.dto.calculate.CalculationSharingDiscountRequestDto
;
import
cn.freemud.entities.dto.calculate.CalculationSharingDiscountResponseDto
;
import
cn.freemud.entities.vo.CartGoods
;
import
cn.freemud.entities.vo.ShoppingCartInfoRequestVo
;
import
cn.freemud.entities.vo.ShoppingCartInfoRequestVo
;
import
com.freemud.application.sdk.api.productcenter.domain.ProductBeanDTO
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
public
interface
ActiveService
{
public
interface
ActiveService
{
...
@@ -25,4 +29,14 @@ public interface ActiveService {
...
@@ -25,4 +29,14 @@ public interface ActiveService {
* @param calculationSharingDiscountRequestDto
* @param calculationSharingDiscountRequestDto
*/
*/
void
buildChooseGoodsService
(
CalculationSharingDiscountRequestDto
calculationSharingDiscountRequestDto
,
List
<
ShoppingCartInfoRequestVo
.
ChooseGood
>
chooseGoods
);
void
buildChooseGoodsService
(
CalculationSharingDiscountRequestDto
calculationSharingDiscountRequestDto
,
List
<
ShoppingCartInfoRequestVo
.
ChooseGood
>
chooseGoods
);
/**
* 赠品添加购物车
* @param
*/
void
gifAddCart
(
List
<
CartGoods
>
oldcartGoodsLists
,
List
<
CartGoods
>
addcartGoodsList
,
List
<
ProductBeanDTO
>
products
,
ShoppingCartInfoRequestVo
shoppingCartInfoRequestVo
,
CalculationSharingDiscountResponseDto
.
CalculationDiscountResult
discountResult
);
}
}
shopping-cart-application-service/src/main/java/cn/freemud/service/active/impl/ActiveFactoryImpl.java
View file @
019f4c6b
...
@@ -13,6 +13,7 @@
...
@@ -13,6 +13,7 @@
package
cn
.
freemud
.
service
.
active
.
impl
;
package
cn
.
freemud
.
service
.
active
.
impl
;
import
cn.freemud.entities.vo.ShoppingCartInfoRequestVo
;
import
cn.freemud.service.active.ActiveFactory
;
import
cn.freemud.service.active.ActiveFactory
;
import
cn.freemud.service.active.ActiveService
;
import
cn.freemud.service.active.ActiveService
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
@@ -54,4 +55,13 @@ public class ActiveFactoryImpl implements ActiveFactory {
...
@@ -54,4 +55,13 @@ public class ActiveFactoryImpl implements ActiveFactory {
return
platformActiveService
;
return
platformActiveService
;
}
}
}
}
@Override
public
ActiveService
getGifAddCartService
(
ShoppingCartInfoRequestVo
shoppingCartInfoRequestVo
)
{
if
(
cocoPartnerId
.
contains
(
shoppingCartInfoRequestVo
.
getPartnerId
())){
return
CocoActiveServiceImpl
;
}
else
{
return
platformActiveService
;
}
}
}
}
shopping-cart-application-service/src/main/java/cn/freemud/service/active/impl/CocoActiveServiceImpl.java
View file @
019f4c6b
...
@@ -14,13 +14,24 @@
...
@@ -14,13 +14,24 @@
package
cn
.
freemud
.
service
.
active
.
impl
;
package
cn
.
freemud
.
service
.
active
.
impl
;
import
cn.freemud.entities.dto.calculate.CalculationSharingDiscountRequestDto
;
import
cn.freemud.entities.dto.calculate.CalculationSharingDiscountRequestDto
;
import
cn.freemud.entities.dto.calculate.CalculationSharingDiscountResponseDto
;
import
cn.freemud.entities.vo.CartGoods
;
import
cn.freemud.entities.vo.ShoppingCartInfoRequestVo
;
import
cn.freemud.entities.vo.ShoppingCartInfoRequestVo
;
import
cn.freemud.enums.ActivityTypeEnum
;
import
cn.freemud.enums.ActivityTypeEnum
;
import
cn.freemud.enums.CalculationGoodsType
;
import
cn.freemud.service.active.ActiveService
;
import
cn.freemud.service.active.ActiveService
;
import
com.freemud.application.sdk.api.productcenter.domain.ProductBeanDTO
;
import
com.google.common.collect.Lists
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.lang.ObjectUtils
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.function.Function
;
import
java.util.stream.Collectors
;
@Service
(
"cocoActiveService"
)
@Service
(
"cocoActiveService"
)
public
class
CocoActiveServiceImpl
implements
ActiveService
{
public
class
CocoActiveServiceImpl
implements
ActiveService
{
...
@@ -59,4 +70,108 @@ public class CocoActiveServiceImpl implements ActiveService {
...
@@ -59,4 +70,108 @@ public class CocoActiveServiceImpl implements ActiveService {
calculationSharingDiscountRequestDto
.
setSelectActivityList
(
selectActivityList
);
calculationSharingDiscountRequestDto
.
setSelectActivityList
(
selectActivityList
);
}
}
@Override
public
void
gifAddCart
(
List
<
CartGoods
>
oldcartGoodsLists
,
List
<
CartGoods
>
addcartGoodsList
,
List
<
ProductBeanDTO
>
products
,
ShoppingCartInfoRequestVo
shoppingCartInfoRequestVo
,
CalculationSharingDiscountResponseDto
.
CalculationDiscountResult
discountResult
)
{
// 点餐页赠品分行显示,赠品显示小料
// 结束页赠品合并到主商品行
// 创单查询购物车分行显示
Map
<
String
,
CalculationSharingDiscountResponseDto
.
CalculationDiscountResult
.
Goods
>
discountForGift
=
this
.
getDiscountForGift
(
discountResult
);
if
(
ObjectUtils
.
equals
(
shoppingCartInfoRequestVo
.
getFlag
(),
1
)){
//结算页
for
(
CartGoods
cgs
:
oldcartGoodsLists
){
if
(
null
==
discountForGift
.
get
(
cgs
.
getCartGoodsUid
())){
break
;
}
CalculationSharingDiscountResponseDto
.
CalculationDiscountResult
.
Goods
gift
=
discountForGift
.
get
(
cgs
.
getCartGoodsUid
());
cgs
.
setQty
(
cgs
.
getQty
()
+
(
gift
.
getGoodsQuantity
()
==
null
?
0
:
gift
.
getGoodsQuantity
()));
}
}
else
{
for
(
CartGoods
cgs
:
oldcartGoodsLists
){
if
(
null
==
discountForGift
.
get
(
cgs
.
getCartGoodsUid
())){
break
;
}
if
(
null
==
discountForGift
.
get
(
cgs
.
getCartGoodsUid
()).
getDiscounts
()
||
discountForGift
.
get
(
cgs
.
getCartGoodsUid
()).
getDiscounts
().
isEmpty
()){
break
;
}
CalculationSharingDiscountResponseDto
.
CalculationDiscountResult
.
Goods
.
GoodsDiscount
discount
=
discountForGift
.
get
(
cgs
.
getCartGoodsUid
()).
getDiscounts
()
.
stream
()
.
filter
(
g
->
ActivityTypeEnum
.
TYPE_63
.
getCode
().
equals
(
g
.
getType
())
||
ActivityTypeEnum
.
TYPE_62
.
getCode
().
equals
(
g
.
getType
())
||
ActivityTypeEnum
.
TYPE_61
.
getCode
().
equals
(
g
.
getType
()))
.
findFirst
()
.
get
();
CartGoods
newCartGoods
=
new
CartGoods
();
newCartGoods
.
setCartGoodsUid
(
cgs
.
getCartGoodsUid
());
newCartGoods
.
setGoodsId
(
cgs
.
getGoodsId
());
newCartGoods
.
setGoodsType
(
cgs
.
getGoodsType
());
newCartGoods
.
setSpuId
(
cgs
.
getSpuId
());
newCartGoods
.
setSkuId
(
cgs
.
getSkuId
());
newCartGoods
.
setSpecProductId
(
cgs
.
getSpecProductId
());
newCartGoods
.
setOriginalPrice
(
cgs
.
getOriginalPrice
());
newCartGoods
.
setPackPrice
(
cgs
.
getPackPrice
());
newCartGoods
.
setOriginalAmount
(
cgs
.
getOriginalAmount
());
newCartGoods
.
setAmount
(
0L
);
newCartGoods
.
setName
(
cgs
.
getName
());
newCartGoods
.
setSpuName
(
cgs
.
getSpuName
());
newCartGoods
.
setSubName
(
cgs
.
getSubName
());
newCartGoods
.
setNodeId
(
cgs
.
getNodeId
());
newCartGoods
.
setCategoryName
(
cgs
.
getCategoryName
());
List
<
CartGoods
.
CartGoodsExtra
>
extra
=
Lists
.
newArrayList
();
List
<
CartGoods
.
CartGoodsExtra
>
cartGoodsExtras
=
cgs
.
getExtra
();
if
(
CollectionUtils
.
isNotEmpty
(
cartGoodsExtras
))
{
cartGoodsExtras
.
forEach
(
cartGoodsExtra
->
{
CartGoods
.
CartGoodsExtra
goodsExtra
=
new
CartGoods
.
CartGoodsExtra
();
goodsExtra
.
setAttributeId
(
cartGoodsExtra
.
getAttributeId
());
goodsExtra
.
setAttributeName
(
cartGoodsExtra
.
getAttributeName
());
extra
.
add
(
goodsExtra
);
});
}
newCartGoods
.
setExtra
(
extra
);
newCartGoods
.
setPic
(
cgs
.
getPic
());
newCartGoods
.
setCreateTimeMili
(
cgs
.
getCreateTimeMili
());
newCartGoods
.
setSkuName
(
cgs
.
getSkuName
());
newCartGoods
.
setSkuName
(
cgs
.
getSkuName
());
newCartGoods
.
setClassificationId
(
cgs
.
getClassificationId
());
newCartGoods
.
setClassificationName
(
cgs
.
getClassificationName
());
newCartGoods
.
setActivityType
(
discount
.
getType
());
addcartGoodsList
.
add
(
newCartGoods
);
}
}
}
public
Map
<
String
,
CalculationSharingDiscountResponseDto
.
CalculationDiscountResult
.
Goods
>
getDiscountForGift
(
CalculationSharingDiscountResponseDto
.
CalculationDiscountResult
discountResult
)
{
Map
<
String
,
CalculationSharingDiscountResponseDto
.
CalculationDiscountResult
.
Goods
>
gifts
=
new
HashMap
<>();
List
<
CalculationSharingDiscountResponseDto
.
CalculationDiscountResult
.
Goods
>
goods
=
discountResult
.
getGoods
();
if
(
goods
==
null
||
goods
.
isEmpty
()){
return
gifts
;
}
for
(
CalculationSharingDiscountResponseDto
.
CalculationDiscountResult
.
Goods
g
:
goods
){
if
(!
CalculationGoodsType
.
TYPE_1
.
getType
().
equals
(
g
.
getCartGoodType
())){
continue
;
}
if
(
null
!=
gifts
.
get
(
g
.
getCartGoodsUid
())){
continue
;
}
gifts
.
put
(
g
.
getOriginalGoodsUid
(),
g
);
}
return
gifts
;
}
}
}
shopping-cart-application-service/src/main/java/cn/freemud/service/active/impl/PlatformActiveServiceImpl.java
View file @
019f4c6b
...
@@ -14,13 +14,21 @@
...
@@ -14,13 +14,21 @@
package
cn
.
freemud
.
service
.
active
.
impl
;
package
cn
.
freemud
.
service
.
active
.
impl
;
import
cn.freemud.entities.dto.calculate.CalculationSharingDiscountRequestDto
;
import
cn.freemud.entities.dto.calculate.CalculationSharingDiscountRequestDto
;
import
cn.freemud.entities.dto.calculate.CalculationSharingDiscountResponseDto
;
import
cn.freemud.entities.vo.CartGoods
;
import
cn.freemud.entities.vo.ShoppingCartInfoRequestVo
;
import
cn.freemud.entities.vo.ShoppingCartInfoRequestVo
;
import
cn.freemud.enums.ActivityTypeEnum
;
import
cn.freemud.enums.ActivityTypeEnum
;
import
cn.freemud.enums.CalculationGoodsType
;
import
cn.freemud.service.active.ActiveService
;
import
cn.freemud.service.active.ActiveService
;
import
com.freemud.application.sdk.api.productcenter.domain.ProductBeanDTO
;
import
org.apache.commons.lang.ObjectUtils
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.function.Function
;
import
java.util.stream.Collectors
;
@Service
(
"platformActiveService"
)
@Service
(
"platformActiveService"
)
public
class
PlatformActiveServiceImpl
implements
ActiveService
{
public
class
PlatformActiveServiceImpl
implements
ActiveService
{
...
@@ -57,4 +65,57 @@ public class PlatformActiveServiceImpl implements ActiveService {
...
@@ -57,4 +65,57 @@ public class PlatformActiveServiceImpl implements ActiveService {
}
}
@Override
public
void
gifAddCart
(
List
<
CartGoods
>
oldcartGoodsLists
,
List
<
CartGoods
>
addcartGoodsList
,
List
<
ProductBeanDTO
>
products
,
ShoppingCartInfoRequestVo
shoppingCartInfoRequestVo
,
CalculationSharingDiscountResponseDto
.
CalculationDiscountResult
discountResult
)
{
Map
<
String
,
CalculationSharingDiscountResponseDto
.
CalculationDiscountResult
.
Goods
>
discountForGift
=
this
.
getDiscountForGift
(
discountResult
);
for
(
ProductBeanDTO
product
:
products
)
{
String
k
=
product
.
getPid
();
CalculationSharingDiscountResponseDto
.
CalculationDiscountResult
.
Goods
goods
=
discountForGift
.
get
(
k
);
CalculationSharingDiscountResponseDto
.
CalculationDiscountResult
.
Goods
.
GoodsDiscount
discount
=
goods
.
getDiscounts
()
.
stream
()
.
filter
(
g
->
ActivityTypeEnum
.
TYPE_63
.
getCode
().
equals
(
g
.
getType
())
||
ActivityTypeEnum
.
TYPE_62
.
getCode
().
equals
(
g
.
getType
())
||
ActivityTypeEnum
.
TYPE_61
.
getCode
().
equals
(
g
.
getType
()))
.
findFirst
()
.
get
();
CartGoods
cartGood
=
new
CartGoods
();
cartGood
.
setGoodsId
(
goods
.
getGoodsId
());
cartGood
.
setGoodsType
(
1
);
cartGood
.
setSpuId
(
goods
.
getGoodsId
());
cartGood
.
setSkuId
(
goods
.
getGoodsId
());
cartGood
.
setOriginalPrice
(
product
.
getFinalPrice
());
cartGood
.
setPackPrice
(
product
.
getPackPrice
());
cartGood
.
setOriginalAmount
(
goods
.
getOriginalPrice
()
*
goods
.
getGoodsQuantity
());
cartGood
.
setAmount
(
goods
.
getRealAmount
());
cartGood
.
setName
(
product
.
getName
());
cartGood
.
setSpuName
(
product
.
getName
());
cartGood
.
setCategoryName
(
product
.
getName
());
cartGood
.
setPic
(
product
.
getPicture
());
cartGood
.
setSkuName
(
product
.
getName
());
cartGood
.
setActivityType
(
discount
.
getType
());
cartGood
.
setStockLimit
(
ObjectUtils
.
equals
(
1
,
product
.
getStockLimit
()));
cartGood
.
setCustomerCode
(
product
.
getCustomerCode
());
cartGood
.
setUnit
(
product
.
getUnit
());
cartGood
.
setWeight
(
product
.
getWeight
());
cartGood
.
setQty
(
goods
.
getGoodsQuantity
());
cartGood
.
setClassificationId
(
product
.
getCategory
());
cartGood
.
setClassificationName
(
product
.
getCategoryName
());
// nodeId标识activeCode,用于计算均摊时每个商品在每个活动上均摊金额
cartGood
.
setNodeId
(
discount
.
getActivityCode
());
addcartGoodsList
.
add
(
cartGood
);
}
}
public
Map
<
String
,
CalculationSharingDiscountResponseDto
.
CalculationDiscountResult
.
Goods
>
getDiscountForGift
(
CalculationSharingDiscountResponseDto
.
CalculationDiscountResult
discountResult
)
{
Map
<
String
,
CalculationSharingDiscountResponseDto
.
CalculationDiscountResult
.
Goods
>
gifts
=
discountResult
.
getGoods
()
.
stream
()
.
filter
(
d
->
CalculationGoodsType
.
TYPE_1
.
getType
().
equals
(
d
.
getCartGoodType
()))
.
collect
(
Collectors
.
toMap
(
CalculationSharingDiscountResponseDto
.
CalculationDiscountResult
.
Goods
::
getGoodsId
,
Function
.
identity
(),
(
k1
,
k2
)
->
k1
));
return
gifts
;
}
}
}
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/calculate/promotion/GiftSharingService.java
View file @
019f4c6b
...
@@ -10,6 +10,8 @@ import cn.freemud.enums.ActivityTypeEnum;
...
@@ -10,6 +10,8 @@ import cn.freemud.enums.ActivityTypeEnum;
import
cn.freemud.enums.CalculationGoodsType
;
import
cn.freemud.enums.CalculationGoodsType
;
import
cn.freemud.enums.ResponseResult
;
import
cn.freemud.enums.ResponseResult
;
import
cn.freemud.interceptor.ServiceException
;
import
cn.freemud.interceptor.ServiceException
;
import
cn.freemud.service.active.ActiveFactory
;
import
cn.freemud.service.active.ActiveService
;
import
cn.freemud.service.impl.AssortmentSdkService
;
import
cn.freemud.service.impl.AssortmentSdkService
;
import
com.freemud.application.sdk.api.productcenter.domain.ProductBeanDTO
;
import
com.freemud.application.sdk.api.productcenter.domain.ProductBeanDTO
;
import
com.freemud.sdk.api.assortment.shoppingcart.service.impl.ShoppingCartBaseServiceImpl
;
import
com.freemud.sdk.api.assortment.shoppingcart.service.impl.ShoppingCartBaseServiceImpl
;
...
@@ -42,6 +44,9 @@ public class GiftSharingService {
...
@@ -42,6 +44,9 @@ public class GiftSharingService {
@Autowired
@Autowired
private
ShoppingCartBaseServiceImpl
shoppingCartBaseService
;
private
ShoppingCartBaseServiceImpl
shoppingCartBaseService
;
@Autowired
private
ActiveFactory
activeFactory
;
public
void
giftResponse
(
CalculationSharingDiscountResponseDto
.
CalculationDiscountResult
discountResult
public
void
giftResponse
(
CalculationSharingDiscountResponseDto
.
CalculationDiscountResult
discountResult
,
List
<
CartGoods
>
cartGoodsList
,
List
<
CartGoods
>
cartGoodsList
,
ShoppingCartInfoRequestVo
shoppingCartInfoRequestVo
,
ShoppingCartInfoRequestVo
shoppingCartInfoRequestVo
...
@@ -52,7 +57,7 @@ public class GiftSharingService {
...
@@ -52,7 +57,7 @@ public class GiftSharingService {
}
}
String
menuType
=
shoppingCartInfoRequestVo
==
null
?
null
:
shoppingCartInfoRequestVo
.
getMenuType
();
String
menuType
=
shoppingCartInfoRequestVo
==
null
?
null
:
shoppingCartInfoRequestVo
.
getMenuType
();
List
<
ProductBeanDTO
>
beanDTOList
=
this
.
drawGiftInfo
(
discountResult
,
activityQueryDto
,
menuType
);
List
<
ProductBeanDTO
>
beanDTOList
=
this
.
drawGiftInfo
(
discountResult
,
activityQueryDto
,
menuType
);
this
.
setCartGoods
(
discountResult
,
cartGoodsList
,
beanDTOList
);
this
.
setCartGoods
(
discountResult
,
cartGoodsList
,
beanDTOList
,
shoppingCartInfoRequestVo
);
}
}
/**
/**
...
@@ -113,47 +118,18 @@ public class GiftSharingService {
...
@@ -113,47 +118,18 @@ public class GiftSharingService {
*/
*/
public
void
setCartGoods
(
CalculationSharingDiscountResponseDto
.
CalculationDiscountResult
discountResult
public
void
setCartGoods
(
CalculationSharingDiscountResponseDto
.
CalculationDiscountResult
discountResult
,
List
<
CartGoods
>
cartGoodsLists
,
List
<
CartGoods
>
cartGoodsLists
,
List
<
ProductBeanDTO
>
products
)
{
,
List
<
ProductBeanDTO
>
products
,
ShoppingCartInfoRequestVo
shoppingCartInfoRequestVo
)
{
if
(
CollectionUtils
.
isEmpty
(
products
))
return
;
if
(
CollectionUtils
.
isEmpty
(
products
))
return
;
Map
<
String
,
CalculationSharingDiscountResponseDto
.
CalculationDiscountResult
.
Goods
>
discountForGift
=
this
.
getDiscountForGift
(
discountResult
);
//
Map<String, CalculationSharingDiscountResponseDto.CalculationDiscountResult.Goods> discountForGift = this.getDiscountForGift(discountResult);
List
<
CartGoods
>
cartGoodsList
=
new
ArrayList
<>();
List
<
CartGoods
>
cartGoodsList
=
new
ArrayList
<>();
for
(
ProductBeanDTO
product
:
products
)
{
ActiveService
activeService
=
activeFactory
.
getGifAddCartService
(
shoppingCartInfoRequestVo
);
String
k
=
product
.
getPid
();
activeService
.
gifAddCart
(
cartGoodsLists
,
cartGoodsList
,
products
,
shoppingCartInfoRequestVo
,
discountResult
);
CalculationSharingDiscountResponseDto
.
CalculationDiscountResult
.
Goods
goods
=
discountForGift
.
get
(
k
);
CalculationSharingDiscountResponseDto
.
CalculationDiscountResult
.
Goods
.
GoodsDiscount
discount
=
goods
.
getDiscounts
()
.
stream
()
.
filter
(
g
->
ActivityTypeEnum
.
TYPE_63
.
getCode
().
equals
(
g
.
getType
())
||
ActivityTypeEnum
.
TYPE_62
.
getCode
().
equals
(
g
.
getType
())
||
ActivityTypeEnum
.
TYPE_61
.
getCode
().
equals
(
g
.
getType
()))
.
findFirst
()
.
get
();
CartGoods
cartGood
=
new
CartGoods
();
cartGood
.
setGoodsId
(
goods
.
getGoodsId
());
cartGood
.
setGoodsType
(
1
);
cartGood
.
setSpuId
(
goods
.
getGoodsId
());
cartGood
.
setSkuId
(
goods
.
getGoodsId
());
cartGood
.
setOriginalPrice
(
product
.
getFinalPrice
());
cartGood
.
setPackPrice
(
product
.
getPackPrice
());
cartGood
.
setOriginalAmount
(
goods
.
getOriginalPrice
()
*
goods
.
getGoodsQuantity
());
cartGood
.
setAmount
(
goods
.
getRealAmount
());
cartGood
.
setName
(
product
.
getName
());
cartGood
.
setSpuName
(
product
.
getName
());
cartGood
.
setCategoryName
(
product
.
getName
());
cartGood
.
setPic
(
product
.
getPicture
());
cartGood
.
setSkuName
(
product
.
getName
());
cartGood
.
setActivityType
(
discount
.
getType
());
cartGood
.
setStockLimit
(
ObjectUtils
.
equals
(
1
,
product
.
getStockLimit
()));
cartGood
.
setCustomerCode
(
product
.
getCustomerCode
());
cartGood
.
setUnit
(
product
.
getUnit
());
cartGood
.
setWeight
(
product
.
getWeight
());
cartGood
.
setQty
(
goods
.
getGoodsQuantity
());
cartGood
.
setClassificationId
(
product
.
getCategory
());
cartGood
.
setClassificationName
(
product
.
getCategoryName
());
// nodeId标识activeCode,用于计算均摊时每个商品在每个活动上均摊金额
cartGood
.
setNodeId
(
discount
.
getActivityCode
());
cartGoodsList
.
add
(
cartGood
);
}
cartGoodsLists
.
addAll
(
cartGoodsList
);
cartGoodsLists
.
addAll
(
cartGoodsList
);
}
}
...
...
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