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
e6f278b1
Commit
e6f278b1
authored
Mar 09, 2021
by
xiaoer.li@freemud.com
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
modify:均摊
parent
3f2a0c43
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
38 additions
and
16 deletions
+38
-16
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/BuyAndGiftsPromotionService.java
+35
-5
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/BuySendPromotionService.java
+3
-11
No files found.
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/BuyAndGiftsPromotionService.java
View file @
e6f278b1
...
@@ -114,19 +114,30 @@ public class BuyAndGiftsPromotionService implements IPromotionService {
...
@@ -114,19 +114,30 @@ public class BuyAndGiftsPromotionService implements IPromotionService {
if
(
calculationDiscountResult
==
null
||
CollectionUtils
.
isEmpty
(
calculationDiscountResult
.
getSendGoods
()))
{
if
(
calculationDiscountResult
==
null
||
CollectionUtils
.
isEmpty
(
calculationDiscountResult
.
getSendGoods
()))
{
return
;
return
;
}
}
List
<
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
.
SendActivity
>
sendActivities
=
calculationDiscountResult
.
getSendGoods
().
stream
().
filter
(
goods
->
(
ActivityTypeEnum
.
TYPE_62
.
getCode
().
equals
(
goods
.
getActivityType
())
||
ActivityTypeEnum
.
TYPE_230
.
getCode
().
equals
(
goods
.
getActivityType
()))).
collect
(
Collectors
.
toList
());
List
<
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
.
SendActivity
>
sendActivities
=
calculationDiscountResult
.
getSendGoods
()
.
stream
()
.
filter
(
goods
->
(
ActivityTypeEnum
.
TYPE_62
.
getCode
().
equals
(
goods
.
getActivityType
())
||
ActivityTypeEnum
.
TYPE_230
.
getCode
().
equals
(
goods
.
getActivityType
())))
.
collect
(
Collectors
.
toList
());
if
(
CollectionUtils
.
isEmpty
(
sendActivities
))
{
if
(
CollectionUtils
.
isEmpty
(
sendActivities
))
{
return
;
return
;
}
}
List
<
ShoppingCartGoodsDto
.
CartGoodsDetailDto
>
sendGoodsList
=
shoppingCartGoodsDto
.
getProducts
().
stream
().
filter
(
product
->
(
ActivityTypeEnum
.
TYPE_62
.
getCode
().
equals
(
product
.
getActivityType
())
||
ActivityTypeEnum
.
TYPE_230
.
getCode
().
equals
(
product
.
getActivityType
()))).
collect
(
Collectors
.
toList
());
List
<
ShoppingCartGoodsDto
.
CartGoodsDetailDto
>
sendGoodsList
=
shoppingCartGoodsDto
.
getProducts
()
.
stream
()
.
filter
(
product
->
(
ActivityTypeEnum
.
TYPE_62
.
getCode
().
equals
(
product
.
getActivityType
())
||
ActivityTypeEnum
.
TYPE_230
.
getCode
().
equals
(
product
.
getActivityType
())))
.
collect
(
Collectors
.
toList
());
if
(
CollectionUtils
.
isEmpty
(
sendGoodsList
))
{
if
(
CollectionUtils
.
isEmpty
(
sendGoodsList
))
{
return
;
return
;
}
}
List
<
ActivityDiscountsDto
>
activityDiscountsDtos
=
shoppingCartGoodsDto
.
getActivityDiscountsDtos
()
==
null
?
new
ArrayList
<>()
:
shoppingCartGoodsDto
.
getActivityDiscountsDtos
();
List
<
ActivityDiscountsDto
>
activityDiscountsDtos
=
shoppingCartGoodsDto
.
getActivityDiscountsDtos
()
==
null
?
new
ArrayList
<>()
:
shoppingCartGoodsDto
.
getActivityDiscountsDtos
();
//设置商品行活动均摊
//设置商品行活动均摊
for
(
ShoppingCartGoodsDto
.
CartGoodsDetailDto
cartGoodsDetailDto
:
sendGoodsList
)
{
for
(
ShoppingCartGoodsDto
.
CartGoodsDetailDto
cartGoodsDetailDto
:
sendGoodsList
)
{
Optional
<
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
.
SendActivity
>
first
=
sendActivities
.
stream
().
filter
(
sendActivity
->
ObjectUtils
.
equals
(
sendActivity
.
getActivityCode
(),
cartGoodsDetailDto
.
getNodeId
())).
findFirst
();
Optional
<
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
.
SendActivity
>
first
=
sendActivities
.
stream
()
.
filter
(
sendActivity
->
ObjectUtils
.
equals
(
sendActivity
.
getActivityCode
(),
cartGoodsDetailDto
.
getNodeId
()))
.
findFirst
();
if
(!
first
.
isPresent
())
{
if
(!
first
.
isPresent
())
{
continue
;
continue
;
}
}
...
@@ -135,18 +146,37 @@ public class BuyAndGiftsPromotionService implements IPromotionService {
...
@@ -135,18 +146,37 @@ public class BuyAndGiftsPromotionService implements IPromotionService {
ProductActivityDiscountsDto
.
setActivityCode
(
sendActivity
.
getActivityCode
());
ProductActivityDiscountsDto
.
setActivityCode
(
sendActivity
.
getActivityCode
());
ProductActivityDiscountsDto
.
setActivityName
(
sendActivity
.
getActivityName
());
ProductActivityDiscountsDto
.
setActivityName
(
sendActivity
.
getActivityName
());
ProductActivityDiscountsDto
.
setActivityType
(
sendActivity
.
getActivityType
());
ProductActivityDiscountsDto
.
setActivityType
(
sendActivity
.
getActivityType
());
if
(
cartGoodsDetailDto
.
getActivityType
().
equals
(
ActivityTypeEnum
.
TYPE_230
.
getCode
()))
{
cartGoodsDetailDto
.
setTotalDiscountAmount
(
cartGoodsDetailDto
.
getOriginalPrice
().
intValue
());
ProductActivityDiscountsDto
.
setDiscountAmount
(
cartGoodsDetailDto
.
getOriginalPrice
().
intValue
());
}
else
{
ProductActivityDiscountsDto
.
setDiscountAmount
(
cartGoodsDetailDto
.
getTotalDiscountAmount
());
ProductActivityDiscountsDto
.
setDiscountAmount
(
cartGoodsDetailDto
.
getTotalDiscountAmount
());
}
cartGoodsDetailDto
.
setActivityDiscountsDtos
(
Arrays
.
asList
(
ProductActivityDiscountsDto
));
cartGoodsDetailDto
.
setActivityDiscountsDtos
(
Arrays
.
asList
(
ProductActivityDiscountsDto
));
}
}
//设置活动级别的均摊
//设置活动级别的均摊
boolean
type230
=
false
;
for
(
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
.
SendActivity
sendActivity
:
sendActivities
)
{
for
(
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
.
SendActivity
sendActivity
:
sendActivities
)
{
if
(
ActivityTypeEnum
.
TYPE_230
.
getCode
().
toString
().
equals
(
sendActivity
.
getActivityCode
()))
{
type230
=
true
;
}
//设置优惠活动
//设置优惠活动
Integer
totalDiscountAmount
=
sendGoodsList
.
stream
().
filter
(
sendGoods
->
ObjectUtils
.
equals
(
sendActivity
.
getActivityCode
(),
sendGoods
.
getNodeId
())).
mapToInt
(
sendGoods
->
sendGoods
.
getTotalDiscountAmount
()).
sum
();
Integer
totalDiscountAmount
=
sendGoodsList
.
stream
()
.
filter
(
sendGoods
->
ObjectUtils
.
equals
(
sendActivity
.
getActivityCode
(),
sendGoods
.
getNodeId
()))
.
mapToInt
(
sendGoods
->
sendGoods
.
getTotalDiscountAmount
())
.
sum
();
Long
totalDiscountOriginalAmount
=
sendGoodsList
.
stream
()
.
filter
(
sendGoods
->
ObjectUtils
.
equals
(
sendActivity
.
getActivityCode
(),
sendGoods
.
getNodeId
()))
.
mapToLong
(
sendGoods
->
sendGoods
.
getOriginalPrice
())
.
sum
();
ActivityDiscountsDto
activityDiscountsDto
=
new
ActivityDiscountsDto
();
ActivityDiscountsDto
activityDiscountsDto
=
new
ActivityDiscountsDto
();
activityDiscountsDto
.
setActivityCode
(
sendActivity
.
getActivityCode
());
activityDiscountsDto
.
setActivityCode
(
sendActivity
.
getActivityCode
());
activityDiscountsDto
.
setActivityName
(
sendActivity
.
getActivityName
());
activityDiscountsDto
.
setActivityName
(
sendActivity
.
getActivityName
());
activityDiscountsDto
.
setActivityType
(
sendActivity
.
getActivityType
());
activityDiscountsDto
.
setActivityType
(
sendActivity
.
getActivityType
());
activityDiscountsDto
.
setDiscountAmount
(
0
-
totalDiscountAmount
);
activityDiscountsDto
.
setDiscountAmount
(
type230
?
0
-
totalDiscountOriginalAmount
.
intValue
()
:
0
-
totalDiscountAmount
);
activityDiscountsDtos
.
add
(
activityDiscountsDto
);
activityDiscountsDtos
.
add
(
activityDiscountsDto
);
}
}
}
}
...
...
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/BuySendPromotionService.java
View file @
e6f278b1
...
@@ -148,31 +148,23 @@ public class BuySendPromotionService implements IPromotionService {
...
@@ -148,31 +148,23 @@ public class BuySendPromotionService implements IPromotionService {
List
<
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
.
SendActivity
>
sendGoods1
=
calculationDiscountResult
.
getSendGoods
()
==
null
?
new
ArrayList
<>()
:
List
<
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
.
SendActivity
>
sendGoods1
=
calculationDiscountResult
.
getSendGoods
()
==
null
?
new
ArrayList
<>()
:
calculationDiscountResult
.
getSendGoods
().
stream
()
calculationDiscountResult
.
getSendGoods
().
stream
()
.
filter
(
t
->
ObjectUtils
.
equals
(
ActivityTypeEnum
.
TYPE_6
.
getCode
(),
t
.
getActivityType
())
.
filter
(
t
->
ObjectUtils
.
equals
(
ActivityTypeEnum
.
TYPE_6
.
getCode
(),
t
.
getActivityType
())
||
ObjectUtils
.
equals
(
ActivityTypeEnum
.
TYPE_61
.
getCode
(),
t
.
getActivityType
())
||
ObjectUtils
.
equals
(
ActivityTypeEnum
.
TYPE_61
.
getCode
(),
t
.
getActivityType
()))
||
ObjectUtils
.
equals
(
ActivityTypeEnum
.
TYPE_230
.
getCode
(),
t
.
getActivityType
()))
.
collect
(
Collectors
.
toList
()
);
.
collect
(
Collectors
.
toList
()
);
List
<
ActivityDiscountsDto
>
activityDiscountsDtos
=
shoppingCartGoodsDto
.
getActivityDiscountsDtos
()
==
null
?
new
ArrayList
<>()
:
shoppingCartGoodsDto
.
getActivityDiscountsDtos
();
List
<
ActivityDiscountsDto
>
activityDiscountsDtos
=
shoppingCartGoodsDto
.
getActivityDiscountsDtos
()
==
null
?
new
ArrayList
<>()
:
shoppingCartGoodsDto
.
getActivityDiscountsDtos
();
if
(
CollectionUtils
.
isNotEmpty
(
sendGoods1
))
{
if
(
CollectionUtils
.
isNotEmpty
(
sendGoods1
))
{
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
.
SendActivity
sendActivity
=
sendGoods1
.
get
(
0
);
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
.
SendActivity
sendActivity
=
sendGoods1
.
get
(
0
);
boolean
type230
=
false
;
if
(
ActivityTypeEnum
.
TYPE_230
.
getCode
().
toString
().
equals
(
sendActivity
.
getActivityCode
()))
{
type230
=
true
;
}
Integer
discountAmount
=
shoppingCartGoodsDto
.
getProducts
()
Integer
discountAmount
=
shoppingCartGoodsDto
.
getProducts
()
.
stream
()
.
stream
()
.
filter
(
product
->
ObjectUtils
.
equals
(
product
.
getActivityType
(),
sendActivity
.
getActivityType
()))
.
filter
(
product
->
ObjectUtils
.
equals
(
product
.
getActivityType
(),
sendActivity
.
getActivityType
()))
.
mapToInt
(
ShoppingCartGoodsDto
.
CartGoodsDetailDto
::
getTotalDiscountAmount
)
.
mapToInt
(
ShoppingCartGoodsDto
.
CartGoodsDetailDto
::
getTotalDiscountAmount
)
.
sum
();
.
sum
();
Long
totalAmount
=
sendActivity
.
getSendGoods
().
stream
()
.
mapToLong
(
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
.
SendActivity
.
SendGoods
::
getOriginalPrice
)
.
sum
();
//设置优惠活动
//设置优惠活动
ActivityDiscountsDto
activityDiscountsDto
=
new
ActivityDiscountsDto
();
ActivityDiscountsDto
activityDiscountsDto
=
new
ActivityDiscountsDto
();
activityDiscountsDto
.
setActivityCode
(
sendActivity
.
getActivityCode
());
activityDiscountsDto
.
setActivityCode
(
sendActivity
.
getActivityCode
());
activityDiscountsDto
.
setActivityName
(
sendActivity
.
getActivityName
());
activityDiscountsDto
.
setActivityName
(
sendActivity
.
getActivityName
());
activityDiscountsDto
.
setActivityType
(
sendActivity
.
getActivityType
());
activityDiscountsDto
.
setActivityType
(
sendActivity
.
getActivityType
());
activityDiscountsDto
.
setDiscountAmount
(
type230
?
totalAmount
.
intValue
()
:
0
-
discountAmount
);
activityDiscountsDto
.
setDiscountAmount
(
0
-
discountAmount
);
activityDiscountsDtos
.
add
(
activityDiscountsDto
);
activityDiscountsDtos
.
add
(
activityDiscountsDto
);
// 设置商品行优惠明细
// 设置商品行优惠明细
...
@@ -186,7 +178,7 @@ public class BuySendPromotionService implements IPromotionService {
...
@@ -186,7 +178,7 @@ public class BuySendPromotionService implements IPromotionService {
ProductActivityDiscountsDto
.
setActivityCode
(
sendActivity
.
getActivityCode
());
ProductActivityDiscountsDto
.
setActivityCode
(
sendActivity
.
getActivityCode
());
ProductActivityDiscountsDto
.
setActivityName
(
sendActivity
.
getActivityName
());
ProductActivityDiscountsDto
.
setActivityName
(
sendActivity
.
getActivityName
());
ProductActivityDiscountsDto
.
setActivityType
(
sendActivity
.
getActivityType
());
ProductActivityDiscountsDto
.
setActivityType
(
sendActivity
.
getActivityType
());
ProductActivityDiscountsDto
.
setDiscountAmount
(
type230
?
cartGoodsDetailDto
.
getOriginalPrice
().
intValue
():
cartGoodsDetailDto
.
getTotalDiscountAmount
());
ProductActivityDiscountsDto
.
setDiscountAmount
(
cartGoodsDetailDto
.
getTotalDiscountAmount
());
activityDiscountsDtoList
.
add
(
ProductActivityDiscountsDto
);
activityDiscountsDtoList
.
add
(
ProductActivityDiscountsDto
);
cartGoodsDetailDto
.
setActivityDiscountsDtos
(
activityDiscountsDtoList
);
cartGoodsDetailDto
.
setActivityDiscountsDtos
(
activityDiscountsDtoList
);
}
}
...
...
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