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
68f5ec90
Commit
68f5ec90
authored
Aug 19, 2020
by
xiaoer.li@freemud.com
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'remotes/origin/feature/1.9.32_商品加料' into qa
parents
c437e323
58aa074b
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
31 additions
and
14 deletions
+31
-14
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/MaterialPromotionService.java
+31
-14
No files found.
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/MaterialPromotionService.java
View file @
68f5ec90
...
...
@@ -77,7 +77,9 @@ public class MaterialPromotionService implements IPromotionService {
@Override
public
void
updateShoppingCartGoodsApportion
(
ShoppingCartGoodsResponseVo
shoppingCartGoodsResponseVo
,
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
calculationDiscountResult
,
ShoppingCartGoodsDto
shoppingCartGoodsDto
,
CreateOrderVo
.
PremiumExchangeActivity
premiumExchangeActivity
,
ShoppingCartInfoRequestVo
shoppingCartInfoRequestVo
)
{
HashMap
<
String
,
MaterialApportion
>
map
=
getApportionGoodsDetail
(
calculationDiscountResult
);
System
.
out
.
println
(
"updateShoppingCartGoodsApportion->map:"
+
map
);
List
<
ShoppingCartGoodsDto
.
CartGoodsDetailDto
>
products
=
shoppingCartGoodsDto
.
getProducts
();
System
.
out
.
println
(
"updateShoppingCartGoodsApportion->product:"
+
products
);
if
(
map
.
size
()
>
0
)
{
String
pk
=
""
;
for
(
ShoppingCartGoodsDto
.
CartGoodsDetailDto
product
:
products
)
{
...
...
@@ -91,13 +93,16 @@ public class MaterialPromotionService implements IPromotionService {
activityDiscountsDtos
=
new
ArrayList
<>();
}
//设置行记录参加的活动及总优惠
if
(
CollectionUtils
.
isNotEmpty
(
material
.
getDetails
()))
{
for
(
ApportionDetails
detail
:
material
.
getDetails
())
{
ActivityDiscountsDto
activityDiscountsDto
=
new
ActivityDiscountsDto
();
activityDiscountsDto
.
setActivityCode
(
material
.
getDetails
()
.
getActivityCode
());
activityDiscountsDto
.
setActivityName
(
material
.
getDetails
()
.
getActivityName
());
activityDiscountsDto
.
setActivityType
(
material
.
getDetails
()
.
getActivityType
());
activityDiscountsDto
.
setActivityCode
(
detail
.
getActivityCode
());
activityDiscountsDto
.
setActivityName
(
detail
.
getActivityName
());
activityDiscountsDto
.
setActivityType
(
detail
.
getActivityType
());
activityDiscountsDto
.
setDiscountAmount
(
material
.
getApportionAmount
());
activityDiscountsDtos
.
add
(
activityDiscountsDto
);
}
}
materialGoods
.
setActivityDiscountsDtos
(
activityDiscountsDtos
);
//materialGoods.setTotalDiscountAmount((materialGoods.getOriginalPrice().intValue() - materialGoods.getSalePrice().intValue()) * product.getQty());
materialGoods
.
setTotalDiscountAmount
(
material
.
getTotalDiscountAmount
());
...
...
@@ -138,27 +143,39 @@ public class MaterialPromotionService implements IPromotionService {
pk
=
shoppingCartConvertAdapter
.
jointPk
(
apportionGood
.
getCartGoodsUid
(),
material
.
getGoodsId
());
if
(
mApportion
.
get
(
pk
)
==
null
)
{
MaterialApportion
materialApportion
=
new
MaterialApportion
();
//materialApportion.setSalePrice(material.getNowPrice());
//materialApportion.setAmount(material.getNowPrice() * material.getGoodsQuantity());
materialApportion
.
setApportionAmount
(
material
.
getApportionAmount
()
*
material
.
getGoodsQuantity
());
materialApportion
.
setGoodsId
(
material
.
getGoodsId
());
materialApportion
.
setTotalDiscountAmount
(
material
.
getApportionAmount
()
*
material
.
getGoodsQuantity
());
materialApportion
.
setPk
(
pk
);
ApportionDetails
apportionDetails
=
new
ApportionDetails
();
//ApportionDetails apportionDetails = new ApportionDetails();
ArrayList
<
ApportionDetails
>
apportionDetailsList
=
new
ArrayList
<>();
if
(
CollectionUtils
.
isNotEmpty
(
material
.
getApportionDetails
()))
{
apportionDetails
.
setActivityCode
(
material
.
getApportionDetails
().
get
(
0
).
getActivityCode
());
apportionDetails
.
setActivityName
(
material
.
getApportionDetails
().
get
(
0
).
getActivityName
());
apportionDetails
.
setActivityType
(
material
.
getApportionDetails
().
get
(
0
).
getActivityType
());
materialApportion
.
setDetails
(
apportionDetails
);
for
(
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
.
ApportionGoods
.
ApportionDetails
apportionDetail
:
material
.
getApportionDetails
())
{
ApportionDetails
apportionDetails
=
new
ApportionDetails
();
apportionDetails
.
setActivityName
(
apportionDetail
.
getActivityName
());
apportionDetails
.
setActivityCode
(
apportionDetail
.
getActivityCode
());
apportionDetails
.
setActivityType
(
apportionDetail
.
getActivityType
());
apportionDetailsList
.
add
(
apportionDetails
);
}
materialApportion
.
setDetails
(
apportionDetailsList
);
}
mApportion
.
put
(
pk
,
materialApportion
);
continue
;
}
MaterialApportion
apportion
=
mApportion
.
get
(
pk
);
//apportion.setSalePrice(apportion.getSalePrice() + material.getNowPrice());
//apportion.setAmount(apportion.getAmount() + material.getNowPrice() * material.getGoodsQuantity());
apportion
.
setApportionAmount
(
apportion
.
getApportionAmount
()
+
material
.
getApportionAmount
()
*
material
.
getGoodsQuantity
());
apportion
.
setTotalDiscountAmount
(
apportion
.
getTotalDiscountAmount
()
+
material
.
getApportionAmount
()
*
material
.
getGoodsQuantity
());
List
<
ApportionDetails
>
details
=
apportion
.
getDetails
();
for
(
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
.
ApportionGoods
.
ApportionDetails
apportionDetail
:
material
.
getApportionDetails
())
{
if
(
apportion
.
getDetails
().
stream
().
filter
(
e
->
e
.
getActivityCode
().
equals
(
apportionDetail
.
getActivityCode
())).
count
()
==
0
)
{
ApportionDetails
apportionDetails
=
new
ApportionDetails
();
apportionDetails
.
setActivityName
(
apportionDetail
.
getActivityName
());
apportionDetails
.
setActivityCode
(
apportionDetail
.
getActivityCode
());
apportionDetails
.
setActivityType
(
apportionDetail
.
getActivityType
());
details
.
add
(
apportionDetails
);
}
apportion
.
setDetails
(
details
);
}
mApportion
.
put
(
pk
,
apportion
);
}
}
...
...
@@ -173,7 +190,7 @@ public class MaterialPromotionService implements IPromotionService {
private
Integer
apportionAmount
;
//优惠金额
private
Integer
totalDiscountAmount
;
private
ApportionDetails
details
;
private
List
<
ApportionDetails
>
details
;
private
String
pk
;
}
...
...
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