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
230e33da
Commit
230e33da
authored
Feb 23, 2021
by
chongfu.liang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
频次券支持一笔订单多商品
parent
91ae36bb
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
42 additions
and
24 deletions
+42
-24
assortment-shoppingcart-sdk/src/main/java/com/freemud/sdk/api/assortment/shoppingcart/service/ShoppingCartBaseService.java
+9
-1
shopping-cart-application-service/src/main/java/cn/freemud/adapter/ShoppingCartConvertAdapter.java
+1
-1
shopping-cart-application-service/src/main/java/cn/freemud/service/ShoppingCartNewService.java
+5
-5
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/CouponPromotionService.java
+15
-5
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/ShoppingCartNewServiceImpl.java
+0
-0
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/calculate/CalculationSharingDiscountService.java
+5
-4
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/calculate/promotion/CouponSharingService.java
+7
-8
No files found.
assortment-shoppingcart-sdk/src/main/java/com/freemud/sdk/api/assortment/shoppingcart/service/ShoppingCartBaseService.java
View file @
230e33da
...
@@ -393,7 +393,10 @@ public interface ShoppingCartBaseService {
...
@@ -393,7 +393,10 @@ public interface ShoppingCartBaseService {
//获取所有商品券cartGoodsUid=sqp+code
//获取所有商品券cartGoodsUid=sqp+code
List
<
String
>
couponIds
=
cartGoodsList
.
parallelStream
()
List
<
String
>
couponIds
=
cartGoodsList
.
parallelStream
()
.
filter
(
k
->
StringUtils
.
isNotEmpty
(
k
.
getCartGoodsUid
())&&
k
.
getCartGoodsUid
().
startsWith
(
CommonsConstant
.
COUPON_PREFIX
)).
map
(
CartGoods:
:
getSpuId
).
collect
(
Collectors
.
toList
());
.
filter
(
k
->
StringUtils
.
isNotEmpty
(
k
.
getCartGoodsUid
())&&
k
.
getCartGoodsUid
().
startsWith
(
CommonsConstant
.
COUPON_PREFIX
)).
map
(
CartGoods:
:
getSpuId
).
collect
(
Collectors
.
toList
());
if
(
CollectionUtils
.
isEmpty
(
couponIds
))
{
couponIds
=
cartGoodsList
.
parallelStream
()
.
filter
(
k
->
StringUtils
.
isNotBlank
(
k
.
getCouponCode
())).
map
(
CartGoods:
:
getCouponCode
).
collect
(
Collectors
.
toList
());
}
if
(
CollectionUtils
.
isEmpty
(
couponIds
))
{
if
(
CollectionUtils
.
isEmpty
(
couponIds
))
{
return
goodsStates
;
return
goodsStates
;
}
}
...
@@ -434,6 +437,11 @@ public interface ShoppingCartBaseService {
...
@@ -434,6 +437,11 @@ public interface ShoppingCartBaseService {
List
<
CartGoods
>
cartGoodsByProduct
=
cartGoodsList
.
stream
()
List
<
CartGoods
>
cartGoodsByProduct
=
cartGoodsList
.
stream
()
.
filter
(
cartGoods
->
cartGoods
.
getCartGoodsUid
().
startsWith
(
CommonsConstant
.
COUPON_PREFIX
))
.
filter
(
cartGoods
->
cartGoods
.
getCartGoodsUid
().
startsWith
(
CommonsConstant
.
COUPON_PREFIX
))
.
collect
(
Collectors
.
toList
());
.
collect
(
Collectors
.
toList
());
if
(
CollectionUtils
.
isEmpty
(
cartGoodsByProduct
)){
cartGoodsByProduct
=
cartGoodsList
.
stream
()
.
filter
(
cartGoods
->
StringUtils
.
isNotBlank
(
cartGoods
.
getCouponCode
()))
.
collect
(
Collectors
.
toList
());
}
for
(
CartGoods
cartGoods
:
cartGoodsByProduct
)
{
for
(
CartGoods
cartGoods
:
cartGoodsByProduct
)
{
DetailVO
detail
=
detailsMap
.
get
(
cartGoods
.
getSpuId
());
DetailVO
detail
=
detailsMap
.
get
(
cartGoods
.
getSpuId
());
String
activeCode
=
detail
!=
null
?
detail
.
getActiveCode
()
:
""
;
String
activeCode
=
detail
!=
null
?
detail
.
getActiveCode
()
:
""
;
...
...
shopping-cart-application-service/src/main/java/cn/freemud/adapter/ShoppingCartConvertAdapter.java
View file @
230e33da
...
@@ -414,7 +414,7 @@ public class ShoppingCartConvertAdapter {
...
@@ -414,7 +414,7 @@ public class ShoppingCartConvertAdapter {
cartGoods
.
setQty
(
qty
);
cartGoods
.
setQty
(
qty
);
cartGoods
.
setCouponCode
(
addShoppingCartGoodsRequestVo
.
getCouponCode
());
cartGoods
.
setCouponCode
(
addShoppingCartGoodsRequestVo
.
getCouponCode
());
Integer
goodsType
=
StringUtils
.
isEmpty
(
skuId
)||
ObjectUtils
.
equals
(
spuId
,
skuId
)
?
GoodsTypeEnum
.
SPU_GOODS
.
getGoodsType
()
:
GoodsTypeEnum
.
SKU_GOODS
.
getGoodsType
();
Integer
goodsType
=
StringUtils
.
isEmpty
(
skuId
)||
ObjectUtils
.
equals
(
spuId
,
skuId
)
?
GoodsTypeEnum
.
SPU_GOODS
.
getGoodsType
()
:
GoodsTypeEnum
.
SKU_GOODS
.
getGoodsType
();
if
(
spuId
.
startsWith
(
CommonsConstant
.
COUPON_PREFIX
))
{
if
(
spuId
.
startsWith
(
CommonsConstant
.
COUPON_PREFIX
)
||
StringUtils
.
isNotBlank
(
addShoppingCartGoodsRequestVo
.
getCouponCode
())
)
{
goodsType
=
GoodsTypeEnum
.
COUPON_GOODS
.
getGoodsType
();
goodsType
=
GoodsTypeEnum
.
COUPON_GOODS
.
getGoodsType
();
}
else
if
(
CollectionUtils
.
isNotEmpty
(
addShoppingCartGoodsRequestVo
.
getProductComboList
())
||
CollectionUtils
.
isNotEmpty
(
addShoppingCartGoodsRequestVo
.
getProductGroupList
()))
{
}
else
if
(
CollectionUtils
.
isNotEmpty
(
addShoppingCartGoodsRequestVo
.
getProductComboList
())
||
CollectionUtils
.
isNotEmpty
(
addShoppingCartGoodsRequestVo
.
getProductGroupList
()))
{
goodsType
=
GoodsTypeEnum
.
SET_MEAL_GOODS
.
getGoodsType
();
goodsType
=
GoodsTypeEnum
.
SET_MEAL_GOODS
.
getGoodsType
();
...
...
shopping-cart-application-service/src/main/java/cn/freemud/service/ShoppingCartNewService.java
View file @
230e33da
...
@@ -116,12 +116,12 @@ public interface ShoppingCartNewService {
...
@@ -116,12 +116,12 @@ public interface ShoppingCartNewService {
*/
*/
default
String
validCoupon
(
String
partnerId
default
String
validCoupon
(
String
partnerId
,
String
storeId
,
String
storeId
,
String
spuId
,
String
couponCode
,
List
<
Long
>
productIds
,
List
<
Long
>
productIds
,
String
menuType
,
String
menuType
,
CouponProductDto
couponProductDto
)
{
,
CouponProductDto
couponProductDto
)
{
String
spuId2
;
String
spuId2
;
CheckSpqInfoRequestDto
checkSpqInfoRequestDto
=
new
CheckSpqInfoRequestDto
(
partnerId
,
storeId
,
spuId
.
substring
(
CommonsConstant
.
COUPON_PREFIX
.
length
())
,
menuType
);
CheckSpqInfoRequestDto
checkSpqInfoRequestDto
=
new
CheckSpqInfoRequestDto
(
partnerId
,
storeId
,
couponCode
,
menuType
);
CouponService
couponService
=
SDKCommonBaseContextWare
.
getBean
(
CouponService
.
class
);
CouponService
couponService
=
SDKCommonBaseContextWare
.
getBean
(
CouponService
.
class
);
CheckSpqInfoResponseDto
checkSpqInfoResponseDto
=
couponService
.
checkSpqInfo
(
checkSpqInfoRequestDto
);
CheckSpqInfoResponseDto
checkSpqInfoResponseDto
=
couponService
.
checkSpqInfo
(
checkSpqInfoRequestDto
);
if
(
checkSpqInfoResponseDto
==
null
)
{
if
(
checkSpqInfoResponseDto
==
null
)
{
...
@@ -148,13 +148,13 @@ public interface ShoppingCartNewService {
...
@@ -148,13 +148,13 @@ public interface ShoppingCartNewService {
*/
*/
default
String
validCoupon
(
String
partnerId
default
String
validCoupon
(
String
partnerId
,
String
storeId
,
String
storeId
,
String
spuId
,
String
couponCode
,
List
<
Long
>
productIds
,
List
<
Long
>
productIds
,
String
menuType
,
String
menuType
,
String
goodsId
,
String
goodsId
,
CouponProductDto
couponProductDto
)
{
,
CouponProductDto
couponProductDto
)
{
String
spuId2
;
String
spuId2
;
CheckSpqInfoRequestDto
checkSpqInfoRequestDto
=
new
CheckSpqInfoRequestDto
(
partnerId
,
storeId
,
spuId
.
substring
(
CommonsConstant
.
COUPON_PREFIX
.
length
())
,
menuType
);
CheckSpqInfoRequestDto
checkSpqInfoRequestDto
=
new
CheckSpqInfoRequestDto
(
partnerId
,
storeId
,
couponCode
,
menuType
);
CouponService
couponService
=
SDKCommonBaseContextWare
.
getBean
(
CouponService
.
class
);
CouponService
couponService
=
SDKCommonBaseContextWare
.
getBean
(
CouponService
.
class
);
CheckSpqInfoResponseDto
checkSpqInfoResponseDto
=
couponService
.
checkSpqInfo
(
checkSpqInfoRequestDto
,
goodsId
);
CheckSpqInfoResponseDto
checkSpqInfoResponseDto
=
couponService
.
checkSpqInfo
(
checkSpqInfoRequestDto
,
goodsId
);
LogUtil
.
info
(
"validCoupon.CheckSpqInfoResponseDto"
,
JSON
.
toJSONString
(
checkSpqInfoRequestDto
),
JSON
.
toJSONString
(
checkSpqInfoResponseDto
));
LogUtil
.
info
(
"validCoupon.CheckSpqInfoResponseDto"
,
JSON
.
toJSONString
(
checkSpqInfoRequestDto
),
JSON
.
toJSONString
(
checkSpqInfoResponseDto
));
...
@@ -300,7 +300,7 @@ public interface ShoppingCartNewService {
...
@@ -300,7 +300,7 @@ public interface ShoppingCartNewService {
updateCartGoodsLegal
(
cartGoods
,
userId
,
shoppingCartGoodsResponseVo
,
addShoppingCartGoodsRequestVo
,
allCartGoodsList
);
updateCartGoodsLegal
(
cartGoods
,
userId
,
shoppingCartGoodsResponseVo
,
addShoppingCartGoodsRequestVo
,
allCartGoodsList
);
// 如果购物车中有商品券,则当前添加的商品是特价商品时,需要提示“已选商品券,与其他优惠商品不同享,商品将恢复原价”
// 如果购物车中有商品券,则当前添加的商品是特价商品时,需要提示“已选商品券,与其他优惠商品不同享,商品将恢复原价”
boolean
haveCouponProduct
=
allCartGoodsList
.
parallelStream
().
anyMatch
(
k
->
k
.
getCartGoodsUid
().
startsWith
(
CommonsConstant
.
COUPON_PREFIX
));
boolean
haveCouponProduct
=
allCartGoodsList
.
parallelStream
().
anyMatch
(
k
->
StringUtils
.
isNotBlank
(
k
.
getCouponCode
()
));
if
(
haveCouponProduct
&&
isSpecialGoods
(
addShoppingCartGoodsRequestVo
.
getPartnerId
(),
addShoppingCartGoodsRequestVo
.
getShopId
(),
userId
,
addShoppingCartGoodsRequestVo
.
getAppId
(),
goodsId
,
addShoppingCartGoodsRequestVo
.
getOrderType
()))
{
if
(
haveCouponProduct
&&
isSpecialGoods
(
addShoppingCartGoodsRequestVo
.
getPartnerId
(),
addShoppingCartGoodsRequestVo
.
getShopId
(),
userId
,
addShoppingCartGoodsRequestVo
.
getAppId
(),
goodsId
,
addShoppingCartGoodsRequestVo
.
getOrderType
()))
{
// 如果购物车先加入商品券,再加入促销商品,toast提示“已选商品券,与其他优惠商品不同享,商品将恢复原价”
// 如果购物车先加入商品券,再加入促销商品,toast提示“已选商品券,与其他优惠商品不同享,商品将恢复原价”
setToastMsgIfNotExist
(
shoppingCartGoodsResponseVo
,
ShoppingCartConstant
.
HAS_GOODS_COUPON_WHEN_ADD_SPECIAL_GOODS
);
setToastMsgIfNotExist
(
shoppingCartGoodsResponseVo
,
ShoppingCartConstant
.
HAS_GOODS_COUPON_WHEN_ADD_SPECIAL_GOODS
);
...
...
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/CouponPromotionService.java
View file @
230e33da
...
@@ -46,8 +46,8 @@ public class CouponPromotionService implements IPromotionService {
...
@@ -46,8 +46,8 @@ public class CouponPromotionService implements IPromotionService {
public
void
updateShoppingCartGoodsDiscount
(
CouponPromotionVO
couponPromotionVO
,
ActivityQueryDto
activityQueryDto
,
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
calculationDiscountResult
,
List
<
CartGoods
>
cartGoodsList
,
ShoppingCartGoodsResponseVo
shoppingCartGoodsResponseVo
,
UserLoginInfoDto
userLoginInfoDto
,
ShoppingCartInfoRequestVo
shoppingCartInfoRequestVo
)
{
public
void
updateShoppingCartGoodsDiscount
(
CouponPromotionVO
couponPromotionVO
,
ActivityQueryDto
activityQueryDto
,
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
calculationDiscountResult
,
List
<
CartGoods
>
cartGoodsList
,
ShoppingCartGoodsResponseVo
shoppingCartGoodsResponseVo
,
UserLoginInfoDto
userLoginInfoDto
,
ShoppingCartInfoRequestVo
shoppingCartInfoRequestVo
)
{
// 用户选择了查询优惠券信息
// 用户选择了查询优惠券信息
if
(
couponPromotionVO
!=
null
&&
ObjectUtils
.
equals
(
CouponFlag
.
YES
.
getCode
(),
couponPromotionVO
.
getFlg
()))
{
if
(
couponPromotionVO
!=
null
&&
ObjectUtils
.
equals
(
CouponFlag
.
YES
.
getCode
(),
couponPromotionVO
.
getFlg
()))
{
List
<
CartGoods
>
tmpCartGoods
=
cartGoodsList
.
parallelStream
().
filter
(
k
->
k
.
getCartGoodsUid
()
List
<
CartGoods
>
tmpCartGoods
=
cartGoodsList
.
parallelStream
().
filter
(
k
->
(
k
.
getCartGoodsUid
()
.
startsWith
(
CommonsConstant
.
COUPON_PREFIX
)).
collect
(
Collectors
.
toList
());
.
startsWith
(
CommonsConstant
.
COUPON_PREFIX
)
||
StringUtils
.
isNotBlank
(
k
.
getCouponCode
()))
).
collect
(
Collectors
.
toList
());
// 是否存在商品券
// 是否存在商品券
boolean
hasGoodssCoupon
=
CollectionUtils
.
isNotEmpty
(
tmpCartGoods
);
boolean
hasGoodssCoupon
=
CollectionUtils
.
isNotEmpty
(
tmpCartGoods
);
// 构建可用不可用优惠券
// 构建可用不可用优惠券
...
@@ -85,12 +85,22 @@ public class CouponPromotionService implements IPromotionService {
...
@@ -85,12 +85,22 @@ public class CouponPromotionService implements IPromotionService {
shoppingCartGoodsResponseVo
.
setCouponDiscount
(
couponDiscount
);
shoppingCartGoodsResponseVo
.
setCouponDiscount
(
couponDiscount
);
//循环购物车商品券
//循环购物车商品券
for
(
CartGoods
cartGoods
:
cartGoodsList
)
{
for
(
CartGoods
cartGoods
:
cartGoodsList
)
{
if
(
cartGoods
.
getCartGoodsUid
().
startsWith
(
CommonsConstant
.
COUPON_PREFIX
))
{
String
couponCode
=
cartGoods
.
getCouponCode
();
String
spqId
=
cartGoods
.
getCartGoodsUid
().
substring
(
CommonsConstant
.
COUPON_PREFIX
.
length
());
boolean
useCoupon
=
true
;
// 优惠券放在coupon字段而不是uuid中
if
(
cartGoods
.
getCartGoodsUid
().
startsWith
(
CommonsConstant
.
COUPON_PREFIX
)){
couponCode
=
cartGoods
.
getCartGoodsUid
().
substring
(
CommonsConstant
.
COUPON_PREFIX
.
length
());
useCoupon
=
false
;
}
if
(
StringUtils
.
isNotBlank
(
couponCode
))
{
// 计算优惠信息时,已将券校验过,放在map中
// 计算优惠信息时,已将券校验过,放在map中
Map
<
String
,
CheckSpqInfoResponseDto
>
validCouponMap
=
calculationDiscountResult
==
null
?
new
HashMap
<>()
:
calculationDiscountResult
.
getValidCouponMap
();
Map
<
String
,
CheckSpqInfoResponseDto
>
validCouponMap
=
calculationDiscountResult
==
null
?
new
HashMap
<>()
:
calculationDiscountResult
.
getValidCouponMap
();
if
(
MapUtils
.
isNotEmpty
(
validCouponMap
))
{
if
(
MapUtils
.
isNotEmpty
(
validCouponMap
))
{
CheckSpqInfoResponseDto
checkSpqInfoResponseDto
=
validCouponMap
.
get
(
spqId
);
CheckSpqInfoResponseDto
checkSpqInfoResponseDto
=
null
;
if
(
useCoupon
){
checkSpqInfoResponseDto
=
validCouponMap
.
get
(
couponCode
+
cartGoods
.
getSkuId
());
}
else
{
checkSpqInfoResponseDto
=
validCouponMap
.
get
(
couponCode
);
}
if
(
checkSpqInfoResponseDto
!=
null
)
{
if
(
checkSpqInfoResponseDto
!=
null
)
{
cartGoods
.
setOriginalPrice
(
checkSpqInfoResponseDto
.
getPrice
());
cartGoods
.
setOriginalPrice
(
checkSpqInfoResponseDto
.
getPrice
());
cartGoods
.
setSpuId
(
checkSpqInfoResponseDto
.
getSpuId
());
cartGoods
.
setSpuId
(
checkSpqInfoResponseDto
.
getSpuId
());
...
...
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/ShoppingCartNewServiceImpl.java
View file @
230e33da
This diff is collapsed.
Click to expand it.
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/calculate/CalculationSharingDiscountService.java
View file @
230e33da
...
@@ -84,12 +84,12 @@ public class CalculationSharingDiscountService {
...
@@ -84,12 +84,12 @@ public class CalculationSharingDiscountService {
int
cartSize
=
cartGoodsList
.
size
()
-
1
;
int
cartSize
=
cartGoodsList
.
size
()
-
1
;
for
(
int
i
=
cartSize
;
i
>=
0
;
i
--)
{
for
(
int
i
=
cartSize
;
i
>=
0
;
i
--)
{
CartGoods
cartGoods
=
cartGoodsList
.
get
(
i
);
CartGoods
cartGoods
=
cartGoodsList
.
get
(
i
);
if
(
!
cartGoods
.
getCartGoodsUid
().
startsWith
(
CommonsConstant
.
COUPON_PREFIX
))
{
//非商品券
if
(
StringUtils
.
isBlank
(
cartGoods
.
getCouponCode
()
))
{
//非商品券
this
.
setCommonDiscountGoods
(
calculationDiscountGoodsList
,
cartGoods
);
this
.
setCommonDiscountGoods
(
calculationDiscountGoodsList
,
cartGoods
);
}
}
else
{
//商品券->商品券ID换取商品
else
{
//商品券->商品券ID换取商品
String
spqId
=
cartGoods
.
getCartGoodsUid
().
substring
(
CommonsConstant
.
COUPON_PREFIX
.
length
()
);
String
couponCode
=
cartGoods
.
getCouponCode
(
);
CheckSpqInfoRequestDto
checkSpqInfoRequestDto
=
new
CheckSpqInfoRequestDto
(
partnerId
,
storeId
,
spqId
,
menuType
);
CheckSpqInfoRequestDto
checkSpqInfoRequestDto
=
new
CheckSpqInfoRequestDto
(
partnerId
,
storeId
,
couponCode
,
menuType
);
CheckSpqInfoResponseDto
checkSpqInfo
=
null
;
CheckSpqInfoResponseDto
checkSpqInfo
=
null
;
if
(
GoodsTypeEnum
.
HG_COUPON_GOODS
.
getGoodsType
().
equals
(
cartGoods
.
getGoodsType
()))
{
if
(
GoodsTypeEnum
.
HG_COUPON_GOODS
.
getGoodsType
().
equals
(
cartGoods
.
getGoodsType
()))
{
checkSpqInfo
=
couponService
.
checkSpqInfo
(
checkSpqInfoRequestDto
,
cartGoods
.
getSkuId
());
checkSpqInfo
=
couponService
.
checkSpqInfo
(
checkSpqInfoRequestDto
,
cartGoods
.
getSkuId
());
...
@@ -103,7 +103,8 @@ public class CalculationSharingDiscountService {
...
@@ -103,7 +103,8 @@ public class CalculationSharingDiscountService {
assortmentSdkService
.
setShoppingCart
(
partnerId
,
storeId
,
userId
,
cartGoodsList
,
null
,
null
,
this
.
shoppingCartBaseService
);
assortmentSdkService
.
setShoppingCart
(
partnerId
,
storeId
,
userId
,
cartGoodsList
,
null
,
null
,
this
.
shoppingCartBaseService
);
//跑业务异常 商品券不存
//跑业务异常 商品券不存
}
else
{
}
else
{
validCouponMap
.
put
(
spqId
,
checkSpqInfo
);
validCouponMap
.
put
(
couponCode
,
checkSpqInfo
);
validCouponMap
.
put
(
couponCode
+
checkSpqInfo
.
getSkuId
(),
checkSpqInfo
);
cartGoods
.
setName
(
checkSpqInfo
.
getCouponName
());
cartGoods
.
setName
(
checkSpqInfo
.
getCouponName
());
cartGoods
.
setSpuName
(
checkSpqInfo
.
getCouponName
());
cartGoods
.
setSpuName
(
checkSpqInfo
.
getCouponName
());
cartGoods
.
setStockLimit
(
checkSpqInfo
.
isStockLimit
());
cartGoods
.
setStockLimit
(
checkSpqInfo
.
isStockLimit
());
...
...
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/calculate/promotion/CouponSharingService.java
View file @
230e33da
...
@@ -45,8 +45,7 @@ public class CouponSharingService {
...
@@ -45,8 +45,7 @@ public class CouponSharingService {
,
ShoppingCartInfoRequestVo
shoppingCartInfoRequestVo
)
{
,
ShoppingCartInfoRequestVo
shoppingCartInfoRequestVo
)
{
// 用户选择了查询优惠券信息
// 用户选择了查询优惠券信息
if
(
couponPromotionVO
!=
null
&&
ObjectUtils
.
equals
(
CouponFlag
.
YES
.
getCode
(),
couponPromotionVO
.
getFlg
()))
{
if
(
couponPromotionVO
!=
null
&&
ObjectUtils
.
equals
(
CouponFlag
.
YES
.
getCode
(),
couponPromotionVO
.
getFlg
()))
{
List
<
CartGoods
>
tmpCartGoods
=
cartGoodsList
.
parallelStream
().
filter
(
k
->
k
.
getCartGoodsUid
()
List
<
CartGoods
>
tmpCartGoods
=
cartGoodsList
.
parallelStream
().
filter
(
k
->
StringUtils
.
isNotBlank
(
k
.
getCouponCode
())).
collect
(
Collectors
.
toList
());
.
startsWith
(
CommonsConstant
.
COUPON_PREFIX
)).
collect
(
Collectors
.
toList
());
// 是否存在商品券
// 是否存在商品券
boolean
hasGoodssCoupon
=
CollectionUtils
.
isNotEmpty
(
tmpCartGoods
);
boolean
hasGoodssCoupon
=
CollectionUtils
.
isNotEmpty
(
tmpCartGoods
);
// 构建可用不可用优惠券
// 构建可用不可用优惠券
...
@@ -84,12 +83,12 @@ public class CouponSharingService {
...
@@ -84,12 +83,12 @@ public class CouponSharingService {
shoppingCartGoodsResponseVo
.
setCouponDiscount
(
couponDiscount
);
shoppingCartGoodsResponseVo
.
setCouponDiscount
(
couponDiscount
);
//循环购物车商品券
//循环购物车商品券
for
(
CartGoods
cartGoods
:
cartGoodsList
)
{
for
(
CartGoods
cartGoods
:
cartGoodsList
)
{
if
(
cartGoods
.
getCartGoodsUid
().
startsWith
(
CommonsConstant
.
COUPON_PREFIX
))
{
if
(
StringUtils
.
isNotBlank
(
cartGoods
.
getCouponCode
()
))
{
String
spqId
=
cartGoods
.
getCartGoodsUid
().
substring
(
CommonsConstant
.
COUPON_PREFIX
.
length
()
);
String
couponCode
=
cartGoods
.
getCouponCode
(
);
// 计算优惠信息时,已将券校验过,放在map中
// 计算优惠信息时,已将券校验过,放在map中
Map
<
String
,
CheckSpqInfoResponseDto
>
validCouponMap
=
calculationDiscountResult
==
null
?
new
HashMap
<>()
:
calculationDiscountResult
.
getValidCouponMap
();
Map
<
String
,
CheckSpqInfoResponseDto
>
validCouponMap
=
calculationDiscountResult
==
null
?
new
HashMap
<>()
:
calculationDiscountResult
.
getValidCouponMap
();
if
(
MapUtils
.
isNotEmpty
(
validCouponMap
))
{
if
(
MapUtils
.
isNotEmpty
(
validCouponMap
))
{
CheckSpqInfoResponseDto
checkSpqInfoResponseDto
=
validCouponMap
.
get
(
spqId
);
CheckSpqInfoResponseDto
checkSpqInfoResponseDto
=
validCouponMap
.
get
(
couponCode
+
cartGoods
.
getSkuId
()
);
if
(
checkSpqInfoResponseDto
!=
null
)
{
if
(
checkSpqInfoResponseDto
!=
null
)
{
cartGoods
.
setOriginalPrice
(
checkSpqInfoResponseDto
.
getPrice
());
cartGoods
.
setOriginalPrice
(
checkSpqInfoResponseDto
.
getPrice
());
cartGoods
.
setSpuId
(
checkSpqInfoResponseDto
.
getSpuId
());
cartGoods
.
setSpuId
(
checkSpqInfoResponseDto
.
getSpuId
());
...
@@ -127,12 +126,12 @@ public class CouponSharingService {
...
@@ -127,12 +126,12 @@ public class CouponSharingService {
}
}
//循环购物车商品券
//循环购物车商品券
for
(
CartGoods
cartGoods
:
cartGoodsList
)
{
for
(
CartGoods
cartGoods
:
cartGoodsList
)
{
if
(
cartGoods
.
getCartGoodsUid
().
startsWith
(
CommonsConstant
.
COUPON_PREFIX
))
{
if
(
StringUtils
.
isNotBlank
(
cartGoods
.
getCouponCode
()
))
{
String
spqId
=
cartGoods
.
getCartGoodsUid
().
substring
(
CommonsConstant
.
COUPON_PREFIX
.
length
()
);
String
couponCode
=
cartGoods
.
getCouponCode
(
);
// 计算优惠信息时,已将券校验过,放在map中
// 计算优惠信息时,已将券校验过,放在map中
Map
<
String
,
CheckSpqInfoResponseDto
>
validCouponMap
=
discountResult
==
null
?
new
HashMap
<>()
:
discountResult
.
getValidCouponMap
();
Map
<
String
,
CheckSpqInfoResponseDto
>
validCouponMap
=
discountResult
==
null
?
new
HashMap
<>()
:
discountResult
.
getValidCouponMap
();
if
(
MapUtils
.
isNotEmpty
(
validCouponMap
))
{
if
(
MapUtils
.
isNotEmpty
(
validCouponMap
))
{
CheckSpqInfoResponseDto
checkSpqInfoResponseDto
=
validCouponMap
.
get
(
spqId
);
CheckSpqInfoResponseDto
checkSpqInfoResponseDto
=
validCouponMap
.
get
(
couponCode
+
cartGoods
.
getSkuId
()
);
if
(
checkSpqInfoResponseDto
!=
null
)
{
if
(
checkSpqInfoResponseDto
!=
null
)
{
cartGoods
.
setOriginalPrice
(
checkSpqInfoResponseDto
.
getPrice
());
cartGoods
.
setOriginalPrice
(
checkSpqInfoResponseDto
.
getPrice
());
cartGoods
.
setSpuId
(
checkSpqInfoResponseDto
.
getSpuId
());
cartGoods
.
setSpuId
(
checkSpqInfoResponseDto
.
getSpuId
());
...
...
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