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
d5d599e0
Commit
d5d599e0
authored
Mar 12, 2021
by
chongfu.liang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
x件y折
parent
d022b42f
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
30 additions
and
11 deletions
+30
-11
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/BuyAndGiftsPromotionService.java
+3
-2
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/XyDiscountServiceImpl.java
+12
-1
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/calculate/promotion/GiftSharingService.java
+15
-8
No files found.
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/BuyAndGiftsPromotionService.java
View file @
d5d599e0
...
...
@@ -50,7 +50,8 @@ public class BuyAndGiftsPromotionService implements IPromotionService {
if
(
calculationDiscountResult
==
null
||
CollectionUtils
.
isEmpty
(
calculationDiscountResult
.
getSendGoods
()))
{
return
;
}
List
<
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
.
SendActivity
>
sendActivities
=
calculationDiscountResult
.
getSendGoods
().
stream
().
filter
(
goods
->
ActivityTypeEnum
.
TYPE_62
.
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_104
.
getCode
().
equals
(
goods
.
getActivityType
())).
collect
(
Collectors
.
toList
());
if
(
CollectionUtils
.
isEmpty
(
sendActivities
))
{
return
;
}
...
...
@@ -83,7 +84,7 @@ public class BuyAndGiftsPromotionService implements IPromotionService {
cartGoods
.
setCategoryName
(
product
.
getName
());
cartGoods
.
setPic
(
product
.
getPicture
());
cartGoods
.
setSkuName
(
product
.
getName
());
cartGoods
.
setActivityType
(
ActivityTypeEnum
.
TYPE_62
.
getCod
e
());
cartGoods
.
setActivityType
(
sendActivity
.
getActivityTyp
e
());
cartGoods
.
setStockLimit
(
ObjectUtils
.
equals
(
1
,
product
.
getStockLimit
()));
cartGoods
.
setCustomerCode
(
product
.
getCustomerCode
());
cartGoods
.
setUnit
(
product
.
getUnit
());
...
...
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/XyDiscountServiceImpl.java
View file @
d5d599e0
...
...
@@ -17,6 +17,7 @@ import tk.mybatis.mapper.genid.GenId;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.Optional
;
import
java.util.stream.Collectors
;
/**
* All rights Reserved, Designed By www.freemud.cn
...
...
@@ -125,11 +126,21 @@ public class XyDiscountServiceImpl implements IPromotionService {
if
(
calculationDiscountResult
==
null
||
CollectionUtils
.
isEmpty
(
calculationDiscountResult
.
getApportionGoods
()))
{
return
null
;
}
// 0折的x件y折活动
List
<
String
>
activityCode
=
calculationDiscountResult
.
getDiscounts
().
stream
()
.
filter
(
p
->
ActivityTypeEnum
.
TYPE_104
.
getCode
().
equals
(
p
.
getType
())
&&
p
.
getZeroDiscount
())
.
map
(
p
->
p
.
getActivityCode
()).
collect
(
Collectors
.
toList
());
/*
List<ActivityCalculationDiscountResponseDto.CalculationDiscountResult.Goods> discountGoodsList = calculationDiscountResult.getGoods().stream().filter(p -> org.apache.commons.collections4.CollectionUtils.isNotEmpty(p.getDiscounts())
&& p.getDiscounts().stream().filter(discount -> activityCode.contains(discount.getActivityCode())).count() > 0).collect(Collectors.toList());
*/
List
<
ApportionGoodsDetail
>
apportionGoodsDetail
=
new
ArrayList
<>();
for
(
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
.
ApportionGoods
apportionGood
:
calculationDiscountResult
.
getApportionGoods
())
{
if
(!
CollectionUtils
.
isEmpty
(
apportionGood
.
getApportionDetails
()))
{
for
(
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
.
ApportionGoods
.
ApportionDetails
apportionDetail
:
apportionGood
.
getApportionDetails
())
{
if
(
apportionDetail
.
getActivityType
().
equals
(
ActivityTypeEnum
.
TYPE_104
.
getCode
()))
{
if
(
apportionDetail
.
getActivityType
().
equals
(
ActivityTypeEnum
.
TYPE_104
.
getCode
())
&&
!
activityCode
.
contains
(
apportionDetail
.
getActivityCode
())
)
{
ApportionGoodsDetail
detail
=
new
ApportionGoodsDetail
();
detail
.
setActivityApportionAmount
(
apportionDetail
.
getActivityApportionAmount
());
detail
.
setActivityCode
(
apportionDetail
.
getActivityCode
());
...
...
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/calculate/promotion/GiftSharingService.java
View file @
d5d599e0
...
...
@@ -84,19 +84,26 @@ public class GiftSharingService {
List
<
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
.
Goods
>
discountGoodsList
=
result
.
getGoods
().
stream
().
filter
(
p
->
CollectionUtils
.
isNotEmpty
(
p
.
getDiscounts
())
&&
p
.
getDiscounts
().
stream
().
filter
(
discount
->
activityCode
.
contains
(
discount
.
getActivityCode
())).
count
()
>
0
).
collect
(
Collectors
.
toList
());
List
<
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
.
Goods
>
goodsList
=
result
.
get
Goods
();
List
<
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
.
SendActivity
>
goodsList
=
result
.
getSend
Goods
();
for
(
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
.
Goods
goods
:
discountGoodsList
){
List
<
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
.
Goods
.
GoodsDiscount
>
discountList
=
goods
.
getDiscounts
()
.
stream
().
filter
(
p
->
activityCode
.
contains
(
p
.
getActivityCode
())).
collect
(
Collectors
.
toList
());
for
(
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
.
Goods
.
GoodsDiscount
discount
:
discountList
){
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
.
Goods
sendGoods
=
new
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
.
Goods
();
sendGoods
.
setCartGoodsUid
(
UUID
.
randomUUID
().
toString
());
sendGoods
.
setGoodsId
(
discount
.
getGoodsId
());
sendGoods
.
setCartGoodType
(
CalculationGoodsType
.
TYPE_1
.
getType
());
sendGoods
.
setGoodsQuantity
(
discount
.
getActualGoodsNumber
());
sendGoods
.
setOriginalPrice
(
discount
.
getSignleDiscount
());
sendGoods
.
setRealAmount
(
0L
);
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
.
SendActivity
sendGoods
=
new
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
.
SendActivity
();
List
<
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
.
SendActivity
.
SendGoods
>
sendGoodsList
=
new
ArrayList
<>();
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
.
SendActivity
.
SendGoods
sendGoodsInfo
=
new
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
.
SendActivity
.
SendGoods
();
sendGoodsInfo
.
setGoodsId
(
discount
.
getGoodsId
());
sendGoodsInfo
.
setOriginalGoodsUid
(
goods
.
getOriginalGoodsUid
());
sendGoodsInfo
.
setSendNumber
(
discount
.
getActualGoodsNumber
());
sendGoodsList
.
add
(
sendGoodsInfo
);
sendGoods
.
setSendGoods
(
sendGoodsList
);
sendGoods
.
setActivityCode
(
discount
.
getActivityCode
());
sendGoods
.
setActivityName
(
discount
.
getActivityName
());
sendGoods
.
setActivityType
(
ActivityTypeEnum
.
TYPE_104
.
getCode
());
goodsList
.
add
(
sendGoods
);
}
}
...
...
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