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
c4f18bc2
Commit
c4f18bc2
authored
Nov 04, 2021
by
查志伟
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修复新算价多赠品多送问题
parent
4ed82c8a
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
32 additions
and
33 deletions
+32
-33
shopping-cart-application-service/src/main/java/cn/freemud/service/active/impl/PlatformActiveServiceImpl.java
+32
-33
No files found.
shopping-cart-application-service/src/main/java/cn/freemud/service/active/impl/PlatformActiveServiceImpl.java
View file @
c4f18bc2
...
...
@@ -88,45 +88,44 @@ public class PlatformActiveServiceImpl implements ActiveService {
Integer
flag
)
{
Map
<
String
,
Goods
>
discountForGift
=
this
.
getDiscountForGift
(
discountResult
);
discountForGift
.
forEach
((
pid
,
goods
)
->
{
List
<
CartGoods
>
list
=
new
ArrayList
<>();
for
(
ProductBean
product
:
products
)
{
Goods
goods
=
discountForGift
.
get
(
product
.
getPid
());
GoodsDiscount
discount
=
goods
.
getDiscounts
()
.
stream
()
.
filter
(
g
->
ActivityTypeEnum
.
TYPE_63
.
getCode
().
equals
(
g
.
getType
())
||
ActivityTypeEnum
.
TYPE_62
.
getCode
().
equals
(
g
.
getType
())
||
ActivityTypeEnum
.
TYPE_61
.
getCode
().
equals
(
g
.
getType
())
||
ActivityTypeEnum
.
TYPE_230
.
getCode
().
equals
(
g
.
getType
()))
.
findFirst
()
.
get
();
List
<
CartGoods
>
list
=
new
ArrayList
<>();
for
(
ProductBean
product
:
products
)
{
CartGoods
cartGood
=
new
CartGoods
();
cartGood
.
setGoodsId
(
goods
.
getGoodsId
());
cartGood
.
setGoodsType
(
1
);
cartGood
.
setSpuId
(
Objects
.
equals
(
product
.
getIsSkuProduct
(),
1
)
?
product
.
getSpecProductId
()
:
goods
.
getGoodsId
());
cartGood
.
setSkuId
(
goods
.
getGoodsId
());
cartGood
.
setOriginalPrice
(
product
.
getFinalPrice
());
cartGood
.
setPackPrice
(
product
.
getPackPrice
());
cartGood
.
setOriginalAmount
(
goods
.
getOriginalPrice
()
*
goods
.
getGoodsQuantity
());
cartGood
.
setAmount
(
goods
.
getRealAmount
());
cartGood
.
setName
(
product
.
getName
());
cartGood
.
setSpuName
(
product
.
getName
());
cartGood
.
setCategoryName
(
product
.
getName
());
cartGood
.
setPic
(
product
.
getPicture
());
cartGood
.
setSkuName
(
product
.
getName
());
cartGood
.
setActivityType
(
discount
.
getType
());
cartGood
.
setActivityCode
(
discount
.
getActivityCode
());
cartGood
.
setStockLimit
(
ObjectUtils
.
equals
(
1
,
product
.
getStockLimit
()));
cartGood
.
setCustomerCode
(
product
.
getCustomerCode
());
cartGood
.
setUnit
(
product
.
getUnit
());
cartGood
.
setWeight
(
product
.
getWeight
());
cartGood
.
setQty
(
goods
.
getGoodsQuantity
());
cartGood
.
setClassificationId
(
product
.
getCategory
());
cartGood
.
setClassificationName
(
product
.
getCategoryName
());
// nodeId标识activeCode,用于计算均摊时每个商品在每个活动上均摊金额
cartGood
.
setNodeId
(
discount
.
getActivityCode
());
list
.
addAll
(
buyAndGiftsPromotionService
.
setGiftExtra
(
cartGood
,
product
,
addcartGoodsList
));
}
// 因为有涉及到用户选择的属性,存入redis
addcartGoodsList
.
addAll
(
giftCacheManager
.
resetGiftCache
(
list
,
discount
.
getActivityCode
(),
partnerId
,
storeId
,
userId
));
});
CartGoods
cartGood
=
new
CartGoods
();
cartGood
.
setGoodsId
(
goods
.
getGoodsId
());
cartGood
.
setGoodsType
(
1
);
cartGood
.
setSpuId
(
Objects
.
equals
(
product
.
getIsSkuProduct
(),
1
)
?
product
.
getSpecProductId
()
:
goods
.
getGoodsId
());
cartGood
.
setSkuId
(
goods
.
getGoodsId
());
cartGood
.
setOriginalPrice
(
product
.
getFinalPrice
());
cartGood
.
setPackPrice
(
product
.
getPackPrice
());
cartGood
.
setOriginalAmount
(
goods
.
getOriginalPrice
()
*
goods
.
getGoodsQuantity
());
cartGood
.
setAmount
(
goods
.
getRealAmount
());
cartGood
.
setName
(
product
.
getName
());
cartGood
.
setSpuName
(
product
.
getName
());
cartGood
.
setCategoryName
(
product
.
getName
());
cartGood
.
setPic
(
product
.
getPicture
());
cartGood
.
setSkuName
(
product
.
getName
());
cartGood
.
setActivityType
(
discount
.
getType
());
cartGood
.
setActivityCode
(
discount
.
getActivityCode
());
cartGood
.
setStockLimit
(
ObjectUtils
.
equals
(
1
,
product
.
getStockLimit
()));
cartGood
.
setCustomerCode
(
product
.
getCustomerCode
());
cartGood
.
setUnit
(
product
.
getUnit
());
cartGood
.
setWeight
(
product
.
getWeight
());
cartGood
.
setQty
(
goods
.
getGoodsQuantity
());
cartGood
.
setClassificationId
(
product
.
getCategory
());
cartGood
.
setClassificationName
(
product
.
getCategoryName
());
// nodeId标识activeCode,用于计算均摊时每个商品在每个活动上均摊金额
cartGood
.
setNodeId
(
discount
.
getActivityCode
());
list
.
addAll
(
buyAndGiftsPromotionService
.
setGiftExtra
(
cartGood
,
product
,
addcartGoodsList
));
}
// 因为有涉及到用户选择的属性,存入redis
addcartGoodsList
.
addAll
(
giftCacheManager
.
resetGiftCache
(
list
,
null
,
partnerId
,
storeId
,
userId
));
}
public
Map
<
String
,
Goods
>
getDiscountForGift
(
CalculationDiscountResult
discountResult
)
{
...
...
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