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
419472d4
Commit
419472d4
authored
Jun 22, 2020
by
xiaoer.li@freemud.com
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix:增加折扣判断
parent
c22a5d64
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
14 additions
and
1 deletions
+14
-1
shopping-cart-application-service/src/main/java/cn/freemud/adapter/ShoppingCartConvertAdapter.java
+14
-1
No files found.
shopping-cart-application-service/src/main/java/cn/freemud/adapter/ShoppingCartConvertAdapter.java
View file @
419472d4
...
@@ -136,7 +136,7 @@ public class ShoppingCartConvertAdapter {
...
@@ -136,7 +136,7 @@ public class ShoppingCartConvertAdapter {
* 2. 普通商品:cartGoodsDetailDto.couponCode空,去掉32的
* 2. 普通商品:cartGoodsDetailDto.couponCode空,去掉32的
*/
*/
List
<
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
.
ApportionGoods
.
ApportionDetails
>
apportionDetails
=
apportionGoods
.
getApportionDetails
().
stream
().
filter
(
detail
->
!
detail
.
getActivityType
().
equals
(
ActivityTypeEnum
.
TYPE_32
.
getCode
())
List
<
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
.
ApportionGoods
.
ApportionDetails
>
apportionDetails
=
apportionGoods
.
getApportionDetails
().
stream
().
filter
(
detail
->
!
detail
.
getActivityType
().
equals
(
ActivityTypeEnum
.
TYPE_32
.
getCode
())
&&
!
detail
.
getActivityType
().
equals
(
ActivityTypeEnum
.
TYPE_104
.
getCode
())
&&
!
detail
.
getActivityType
().
equals
(
ActivityTypeEnum
.
TYPE_2
.
getCode
())).
collect
(
Collectors
.
toList
());
&&
!
detail
.
getActivityType
().
equals
(
ActivityTypeEnum
.
TYPE_104
.
getCode
())
&&
!
detail
.
getActivityType
().
equals
(
ActivityTypeEnum
.
TYPE_2
.
getCode
())
&&
!
detail
.
getActivityType
().
equals
(
ActivityTypeEnum
.
TYPE_21
.
getCode
())
).
collect
(
Collectors
.
toList
());
for
(
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
.
ApportionGoods
.
ApportionDetails
detail
:
apportionDetails
)
{
for
(
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
.
ApportionGoods
.
ApportionDetails
detail
:
apportionDetails
)
{
List
<
ActivityDiscountsDto
>
currentDiscount
=
activityDiscountsDtoList
.
stream
().
filter
(
discount
->
ObjectUtils
.
equals
(
discount
.
getActivityCode
(),
detail
.
getActivityCode
())).
collect
(
Collectors
.
toList
());
List
<
ActivityDiscountsDto
>
currentDiscount
=
activityDiscountsDtoList
.
stream
().
filter
(
discount
->
ObjectUtils
.
equals
(
discount
.
getActivityCode
(),
detail
.
getActivityCode
())).
collect
(
Collectors
.
toList
());
if
(
CollectionUtils
.
isNotEmpty
(
currentDiscount
))
{
if
(
CollectionUtils
.
isNotEmpty
(
currentDiscount
))
{
...
@@ -167,6 +167,19 @@ public class ShoppingCartConvertAdapter {
...
@@ -167,6 +167,19 @@ public class ShoppingCartConvertAdapter {
Long
originalPrice
=
cartGoodsDetailDto
.
getOriginalPrice
();
Long
originalPrice
=
cartGoodsDetailDto
.
getOriginalPrice
();
Long
discountPrice
=
0L
;
Long
discountPrice
=
0L
;
int
goodsTotalQty
=
apportionGoodsList
.
stream
().
mapToInt
(
apportionGoods
->
apportionGoods
.
getGoodsQuantity
()).
sum
();
int
goodsTotalQty
=
apportionGoodsList
.
stream
().
mapToInt
(
apportionGoods
->
apportionGoods
.
getGoodsQuantity
()).
sum
();
Long
a
=
0L
,
b
=
0L
;
for
(
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
.
ApportionGoods
apportionGoods
:
apportionGoodsList
)
{
for
(
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
.
ApportionGoods
.
ApportionDetails
apportionDetail
:
apportionGoods
.
getApportionDetails
())
{
if
(!
ActivityTypeEnum
.
TYPE_32
.
getCode
().
equals
(
apportionDetail
.
getActivityType
())
&&
!
ActivityTypeEnum
.
TYPE_104
.
getCode
().
equals
(
apportionDetail
.
getActivityType
())
&&
!
ActivityTypeEnum
.
TYPE_2
.
getCode
().
equals
(
apportionDetail
.
getActivityType
())
&&
!
ActivityTypeEnum
.
TYPE_21
.
getCode
().
equals
(
apportionDetail
.
getActivityType
())
)
{
a
=
apportionDetail
.
getActivityApportionAmount
()
*
apportionGoods
.
getGoodsQuantity
();
}
}
b
+=
a
*
cartGoodsDetailDto
.
getQty
()
/
goodsTotalQty
;
}
for
(
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
.
ApportionGoods
apportionGoods
:
apportionGoodsList
)
{
for
(
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
.
ApportionGoods
apportionGoods
:
apportionGoodsList
)
{
//折扣=所有折扣和*百分比(当前行商品数量/购物车总商品数量)
//折扣=所有折扣和*百分比(当前行商品数量/购物车总商品数量)
discountPrice
+=
apportionGoods
.
getApportionDetails
().
stream
().
filter
(
d
->
ObjectUtils
.
notEqual
(
ActivityTypeEnum
.
TYPE_32
.
getCode
(),
d
.
getActivityType
())
discountPrice
+=
apportionGoods
.
getApportionDetails
().
stream
().
filter
(
d
->
ObjectUtils
.
notEqual
(
ActivityTypeEnum
.
TYPE_32
.
getCode
(),
d
.
getActivityType
())
...
...
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