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
adecb2eb
Commit
adecb2eb
authored
Aug 09, 2020
by
ping.wu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
套餐优惠计算
parent
d99cc04a
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
11 additions
and
10 deletions
+11
-10
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/mcoffee/calculation/CalculationServiceImpl.java
+1
-0
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/mcoffee/calculation/SetMealCalculation.java
+10
-10
No files found.
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/mcoffee/calculation/CalculationServiceImpl.java
View file @
adecb2eb
...
...
@@ -160,6 +160,7 @@ public class CalculationServiceImpl {
List
<
ShoppingCartGoodsDto
.
CartGoodsDetailDto
>
cartGoodsDetailDtoList
=
CollectionUtils
.
isEmpty
(
shoppingCartGoodsDto
.
getProducts
())
?
new
ArrayList
<>()
:
shoppingCartGoodsDto
.
getProducts
();
List
<
ShareDiscountActivityDto
>
shareDiscountActivityDtoList
=
CollectionUtils
.
isEmpty
(
shoppingCartGoodsDto
.
getShareDiscountActivityDtos
())
?
new
ArrayList
<>()
:
shoppingCartGoodsDto
.
getShareDiscountActivityDtos
();
//设置空
shoppingCartGoodsDto
.
setProducts
(
cartGoodsDetailDtoList
);
shoppingCartGoodsDto
.
setShareDiscountActivityDtos
(
shareDiscountActivityDtoList
);
shoppingCartGoodsDto
.
setOriginalTotalAmount
(
shoppingCartGoodsResponseVo
.
getOriginalTotalAmount
());
...
...
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/mcoffee/calculation/SetMealCalculation.java
View file @
adecb2eb
...
...
@@ -73,11 +73,11 @@ public class SetMealCalculation {
long
totalOriginalPrice
=
setMealProducts
.
stream
().
mapToLong
(
product
->
product
.
getOriginalPrice
()
*
product
.
getQty
()).
sum
();
//总原价=促销优惠 - 套餐finalPrice + 套餐原价
shoppingCartGoodsResponseVo
.
setOriginalTotalAmount
(
shoppingCartGoodsResponseVo
.
getOriginalTotalAmount
()
-
totalFinalPrice
+
totalOriginalPrice
);
//
shoppingCartGoodsResponseVo.setOriginalTotalAmount(shoppingCartGoodsResponseVo.getOriginalTotalAmount() - totalFinalPrice + totalOriginalPrice);
//总现价=促销现总价 + 可选商品现总价
shoppingCartGoodsResponseVo
.
setTotalAmount
(
shoppingCartGoodsResponseVo
.
getTotalAmount
()
+
productGroupTotalAmount
);
//
shoppingCartGoodsResponseVo.setTotalAmount(shoppingCartGoodsResponseVo.getTotalAmount() + productGroupTotalAmount);
//总优惠=促销总优惠 + (套餐总原件 - 套餐总finalPrice - 可选商品总售价)
shoppingCartGoodsResponseVo
.
setTotalDiscountAmount
(
shoppingCartGoodsResponseVo
.
getTotalDiscountAmount
()
+
totalOriginalPrice
-
totalFinalPrice
-
productGroupTotalAmount
);
//
shoppingCartGoodsResponseVo.setTotalDiscountAmount(shoppingCartGoodsResponseVo.getTotalDiscountAmount() + totalOriginalPrice - totalFinalPrice - productGroupTotalAmount);
}
...
...
@@ -99,23 +99,23 @@ public class SetMealCalculation {
// discountAmount=(套餐原价-套餐售价)*数量
// productGroupDiscountAmount=可选商品现价总和
// discountAmount-productGroupDiscountAmount: 当前商品行套餐商品总优惠= 套餐原总价-套餐现总价-套餐可选商品的现总价
int
discountAmount
=
(
cartGoods
.
getOriginalPrice
().
intValue
()
-
cartGoods
.
getFinalPrice
().
intValue
())
*
cartGoods
.
getQty
();
//
int discountAmount = (cartGoods.getOriginalPrice().intValue() - cartGoods.getFinalPrice().intValue()) * cartGoods.getQty();
int
productGroupDiscountAmount
=
cartGoods
.
getProductGroupList
().
stream
().
mapToInt
(
t
->
t
.
getFinalPrice
().
intValue
()
*
t
.
getQty
()).
sum
();
totalDiscountAmount
+=
discountAmount
-
productGroupDiscountAmount
*
cartGoods
.
getQty
();
//
totalDiscountAmount += discountAmount - productGroupDiscountAmount * cartGoods.getQty();
// 添加套餐父商品
ShoppingCartGoodsDto
.
CartGoodsDetailDto
parentCartGoods
=
shoppingCartConvertAdapter
.
convertCartGoods2DetailGoods
(
cartGoods
,
apportionGoods
,
duplicateGoodsMap
);
parentCartGoods
.
setTotalDiscountAmount
(
parentCartGoods
.
getTotalDiscountAmount
()+
cartGoods
.
getOriginalAmount
().
intValue
()
-
cartGoods
.
getAmount
().
intValue
());
parentCartGoods
.
getActivityDiscountsDtos
().
add
(
getActivityDiscountsDto
(
discountAmount
-
productGroupDiscountAmount
*
cartGoods
.
getQty
()));
//
parentCartGoods.getActivityDiscountsDtos().add(getActivityDiscountsDto(discountAmount - productGroupDiscountAmount * cartGoods.getQty()));
// 添加套餐固定商品&可选商品: 做均摊
parentCartGoods
.
setComboProducts
(
shoppingCartConvertAdapter
.
convertComboxGoods2DetailGoods
(
cartGoods
,
parentCartGoods
.
getTotalDiscountAmount
()));
cartGoodsDetailDtos
.
add
(
parentCartGoods
);
}
}
//订单级别,套餐优惠活动
if
(
totalDiscountAmount
>
0
)
{
shoppingCartGoodsDto
.
getActivityDiscountsDtos
().
add
(
getActivityDiscountsDto
(-
totalDiscountAmount
));
}
//
//订单级别,套餐优惠活动
//
if (totalDiscountAmount > 0) {
//
shoppingCartGoodsDto.getActivityDiscountsDtos().add(getActivityDiscountsDto(-totalDiscountAmount));
//
}
}
private
ActivityDiscountsDto
getActivityDiscountsDto
(
Integer
totalDiscountAmount
)
{
...
...
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