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
ae6b11c0
Commit
ae6b11c0
authored
Oct 09, 2020
by
huiyang.chen
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix 优惠券折扣取值变更
parent
0faa424a
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
32 additions
and
24 deletions
+32
-24
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/mcoffee/calculation/CouponDiscountCalculation.java
+32
-24
No files found.
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/mcoffee/calculation/CouponDiscountCalculation.java
View file @
ae6b11c0
...
@@ -75,9 +75,9 @@ public class CouponDiscountCalculation {
...
@@ -75,9 +75,9 @@ public class CouponDiscountCalculation {
*/
*/
public
void
updateShoppingCartGoodsDiscount
(
CouponPromotionVO
couponPromotionVO
,
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
calculationDiscountResult
,
List
<
CartGoods
>
cartGoodsList
,
ShoppingCartGoodsResponseVo
shoppingCartGoodsResponseVo
)
{
public
void
updateShoppingCartGoodsDiscount
(
CouponPromotionVO
couponPromotionVO
,
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
calculationDiscountResult
,
List
<
CartGoods
>
cartGoodsList
,
ShoppingCartGoodsResponseVo
shoppingCartGoodsResponseVo
)
{
if
(
calculationDiscountResult
==
null
||
CollectionUtils
.
isEmpty
(
calculationDiscountResult
.
get
Coupon
Discounts
())
if
(
calculationDiscountResult
==
null
||
CollectionUtils
.
isEmpty
(
calculationDiscountResult
.
getDiscounts
())
||
!
calculationDiscountResult
.
get
CouponDiscounts
().
stream
().
anyMatch
(
discount
->
(
ActivityTypeEnum
.
TYPE_3
.
getCode
().
equals
(
discount
.
getActivity
Type
())
||
!
calculationDiscountResult
.
get
Discounts
().
stream
().
anyMatch
(
discount
->
(
ActivityTypeEnum
.
TYPE_3
.
getCode
().
equals
(
discount
.
get
Type
())
||(
ActivityTypeEnum
.
TYPE_31
.
getCode
().
equals
(
discount
.
get
ActivityType
()))
||
(
ActivityTypeEnum
.
TYPE_32
.
getCode
().
equals
(
discount
.
getActivity
Type
()))
)))
{
||(
ActivityTypeEnum
.
TYPE_31
.
getCode
().
equals
(
discount
.
get
Type
()))
||
(
ActivityTypeEnum
.
TYPE_32
.
getCode
().
equals
(
discount
.
get
Type
()))
)))
{
return
;
return
;
}
}
List
<
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
.
Goods
>
goodsList
=
calculationDiscountResult
.
getGoods
();
List
<
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
.
Goods
>
goodsList
=
calculationDiscountResult
.
getGoods
();
...
@@ -119,28 +119,34 @@ public class CouponDiscountCalculation {
...
@@ -119,28 +119,34 @@ public class CouponDiscountCalculation {
// 当couponCode不为空时,需计算优惠价格
// 当couponCode不为空时,需计算优惠价格
long
couponDiscount
=
0
;
long
couponDiscount
=
0
;
List
<
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
.
CouponResults
>
couponResultsList
=
calculationDiscountResult
.
getCouponDiscounts
();
List
<
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
.
Discount
>
discounts
=
calculationDiscountResult
.
getDiscounts
();
if
(
CollectionUtils
.
isNotEmpty
(
couponResultsList
))
{
List
<
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
.
Discount
>
couponDiscounts
=
discounts
.
stream
().
filter
(
discount
->
(
ActivityTypeEnum
.
TYPE_3
.
getCode
().
equals
(
discount
.
getType
())
for
(
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
.
CouponResults
couponResults
:
couponResultsList
)
{
||
(
ActivityTypeEnum
.
TYPE_31
.
getCode
().
equals
(
discount
.
getType
()))
||
(
ActivityTypeEnum
.
TYPE_32
.
getCode
().
equals
(
discount
.
getType
())))).
collect
(
Collectors
.
toList
());
couponDiscount
=
couponDiscount
+
(
couponResults
.
getDiscountAmount
()
==
null
?
0
:
couponResults
.
getDiscountAmount
());
if
(
CollectionUtils
.
isNotEmpty
(
couponDiscounts
))
{
for
(
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
.
Discount
couponResults
:
couponDiscounts
)
{
couponDiscount
=
couponDiscount
+
(
couponResults
.
getDiscount
()
==
null
?
0
:
couponResults
.
getDiscount
());
}
}
}
}
shoppingCartGoodsResponseVo
.
setCouponDiscount
(
couponDiscount
);
shoppingCartGoodsResponseVo
.
setCouponDiscount
(
couponDiscount
);
}
}
/**
/**
* 商品均摊
* 商品均摊
*/
*/
public
void
updateShoppingCartGoodsApportion
(
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
calculationDiscountResult
,
ShoppingCartGoodsDto
shoppingCartGoodsDto
){
public
void
updateShoppingCartGoodsApportion
(
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
calculationDiscountResult
,
ShoppingCartGoodsDto
shoppingCartGoodsDto
){
if
(
calculationDiscountResult
==
null
||
CollectionUtils
.
isEmpty
(
calculationDiscountResult
.
get
Coupon
Discounts
())
if
(
calculationDiscountResult
==
null
||
CollectionUtils
.
isEmpty
(
calculationDiscountResult
.
getDiscounts
())
||
!
calculationDiscountResult
.
get
CouponDiscounts
().
stream
().
anyMatch
(
discount
->
(
ActivityTypeEnum
.
TYPE_3
.
getCode
().
equals
(
discount
.
getActivity
Type
())
||
!
calculationDiscountResult
.
get
Discounts
().
stream
().
anyMatch
(
discount
->
(
ActivityTypeEnum
.
TYPE_3
.
getCode
().
equals
(
discount
.
get
Type
())
||(
ActivityTypeEnum
.
TYPE_31
.
getCode
().
equals
(
discount
.
get
ActivityType
()))
||
(
ActivityTypeEnum
.
TYPE_32
.
getCode
().
equals
(
discount
.
getActivity
Type
()))
)))
{
||(
ActivityTypeEnum
.
TYPE_31
.
getCode
().
equals
(
discount
.
get
Type
()))
||
(
ActivityTypeEnum
.
TYPE_32
.
getCode
().
equals
(
discount
.
get
Type
()))
)))
{
return
;
return
;
}
}
//订单级别券优惠
//订单级别券优惠
List
<
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
.
CouponResults
>
couponDiscounts
=
calculationDiscountResult
.
getCouponDiscounts
();
List
<
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
.
Discount
>
couponDiscounts
=
calculationDiscountResult
.
getDiscounts
();
if
(
CollectionUtils
.
isEmpty
(
couponDiscounts
))
{
return
;
}
List
<
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
.
Discount
>
discounts
=
couponDiscounts
.
stream
().
filter
(
discount
->
(
ActivityTypeEnum
.
TYPE_3
.
getCode
().
equals
(
discount
.
getType
())
||
(
ActivityTypeEnum
.
TYPE_31
.
getCode
().
equals
(
discount
.
getType
()))
||
(
ActivityTypeEnum
.
TYPE_32
.
getCode
().
equals
(
discount
.
getType
())))).
collect
(
Collectors
.
toList
());
List
<
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
.
Goods
>
goodsList
=
calculationDiscountResult
.
getGoods
();
List
<
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
.
Goods
>
goodsList
=
calculationDiscountResult
.
getGoods
();
if
(
CollectionUtils
.
isEmpty
(
goodsList
))
{
if
(
CollectionUtils
.
isEmpty
(
goodsList
))
{
...
@@ -154,18 +160,20 @@ public class CouponDiscountCalculation {
...
@@ -154,18 +160,20 @@ public class CouponDiscountCalculation {
//商品券商品
//商品券商品
if
(
StringUtils
.
isNotEmpty
(
cartGoods
.
getCouponCode
()))
{
if
(
StringUtils
.
isNotEmpty
(
cartGoods
.
getCouponCode
()))
{
List
<
ActivityDiscountsDto
>
productActivityDiscountsDtos
=
new
ArrayList
<>();
List
<
ActivityDiscountsDto
>
productActivityDiscountsDtos
=
new
ArrayList
<>();
for
(
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
.
CouponResults
couponDiscount
:
couponDiscounts
)
{
if
(
CollectionUtils
.
isNotEmpty
(
discounts
))
{
if
(
couponDiscount
.
getCouponCode
().
equals
(
cartGoods
.
getCouponCode
())){
for
(
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
.
Discount
couponDiscount
:
discounts
)
{
ActivityDiscountsDto
activityDiscountsDto
=
new
ActivityDiscountsDto
();
if
(
couponDiscount
.
getActivityCode
().
equals
(
cartGoods
.
getCouponCode
()))
{
activityDiscountsDto
.
setActivityCode
(
couponDiscount
.
getCouponCode
());
ActivityDiscountsDto
activityDiscountsDto
=
new
ActivityDiscountsDto
();
activityDiscountsDto
.
setActivityName
(
couponDiscount
.
getActivityName
());
activityDiscountsDto
.
setActivityCode
(
couponDiscount
.
getActivityCode
());
activityDiscountsDto
.
setActivityType
(
couponDiscount
.
getActivityType
());
activityDiscountsDto
.
setActivityName
(
couponDiscount
.
getActivityName
());
activityDiscountsDto
.
setDiscountAmount
(
0
-
couponDiscount
.
getDiscountAmount
());
activityDiscountsDto
.
setActivityType
(
couponDiscount
.
getType
());
productActivityDiscountsDtos
.
add
(
activityDiscountsDto
);
activityDiscountsDto
.
setDiscountAmount
(
0
-
couponDiscount
.
getDiscount
());
productActivityDiscountsDtos
.
add
(
activityDiscountsDto
);
cartGoods
.
setTotalDiscountAmount
(-
activityDiscountsDto
.
getDiscountAmount
());
cartGoods
.
setSalePrice
(
0L
);
cartGoods
.
setTotalDiscountAmount
(-
activityDiscountsDto
.
getDiscountAmount
());
cartGoods
.
setActivityDiscountsDtos
(
productActivityDiscountsDtos
);
cartGoods
.
setSalePrice
(
0L
);
cartGoods
.
setActivityDiscountsDtos
(
productActivityDiscountsDtos
);
}
}
}
}
}
...
...
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