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
e5dfd1c2
Commit
e5dfd1c2
authored
Aug 18, 2021
by
ping.wu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
新算价 买m赠n券
parent
2f20d2c2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
97 additions
and
94 deletions
+97
-94
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/ShoppingCartNewServiceImpl.java
+9
-6
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/calculate/CalculationSharingDiscountService.java
+88
-88
No files found.
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/ShoppingCartNewServiceImpl.java
View file @
e5dfd1c2
...
@@ -1450,17 +1450,20 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
...
@@ -1450,17 +1450,20 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
cartGoods
.
setName
(
checkSpqInfoResponseDto
.
getCouponName
());
cartGoods
.
setName
(
checkSpqInfoResponseDto
.
getCouponName
());
cartGoods
.
setSpuName
(
checkSpqInfoResponseDto
.
getCouponName
());
cartGoods
.
setSpuName
(
checkSpqInfoResponseDto
.
getCouponName
());
cartGoods
.
setStockLimit
(
checkSpqInfoResponseDto
.
isStockLimit
());
cartGoods
.
setStockLimit
(
checkSpqInfoResponseDto
.
isStockLimit
());
//买M赠N券,不重复加促销券集合字段
if
(
GoodsTypeEnum
.
BUY_M_SEND_N_COUPON
.
getGoodsType
().
equals
(
cartGoods
.
getGoodsType
()))
{
for
(
ActivityCalculationDiscountRequestDto
.
CalculationDiscountCoupon
discountCoupon
:
coupons
){
cartGoods
.
setName
(
checkSpqInfoResponseDto
.
getSkuName
());
if
(
Objects
.
equals
(
discountCoupon
.
getCode
(),
couponCode
)){
cartGoods
.
setSpuName
(
checkSpqInfoResponseDto
.
getSpuName
());
continue
;
}
}
//添加请求的优惠券信息 买M赠N券,不重复加促销券集合字段
// 添加请求的优惠券信息
String
finalCouponCode
=
couponCode
;
List
<
ActivityCalculationDiscountRequestDto
.
CalculationDiscountCoupon
>
collect
=
coupons
.
stream
().
filter
(
calculationDiscountCoupon
->
Objects
.
equals
(
calculationDiscountCoupon
.
getCode
(),
finalCouponCode
)).
collect
(
toList
());
if
(
CollectionUtils
.
isEmpty
(
collect
)){
ActivityCalculationDiscountRequestDto
.
CalculationDiscountCoupon
coupon
=
new
ActivityCalculationDiscountRequestDto
.
CalculationDiscountCoupon
();
ActivityCalculationDiscountRequestDto
.
CalculationDiscountCoupon
coupon
=
new
ActivityCalculationDiscountRequestDto
.
CalculationDiscountCoupon
();
coupon
.
setCode
(
checkSpqInfoResponseDto
.
getCouponCode
());
coupon
.
setCode
(
checkSpqInfoResponseDto
.
getCouponCode
());
coupon
.
setActivityCode
(
checkSpqInfoResponseDto
.
getActiveCode
());
coupon
.
setActivityCode
(
checkSpqInfoResponseDto
.
getActiveCode
());
coupons
.
add
(
coupon
);
coupons
.
add
(
coupon
);
}
}
// 添加商品券代表的商品
// 添加商品券代表的商品
// 换购券传给促销要带code
// 换购券传给促销要带code
String
goodsId
=
StringUtils
.
isEmpty
(
checkSpqInfoResponseDto
.
getSkuId
())
?
checkSpqInfoResponseDto
.
getSpuId
()
:
checkSpqInfoResponseDto
.
getSkuId
();
String
goodsId
=
StringUtils
.
isEmpty
(
checkSpqInfoResponseDto
.
getSkuId
())
?
checkSpqInfoResponseDto
.
getSpuId
()
:
checkSpqInfoResponseDto
.
getSkuId
();
...
...
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/calculate/CalculationSharingDiscountService.java
View file @
e5dfd1c2
...
@@ -96,63 +96,8 @@ public class CalculationSharingDiscountService {
...
@@ -96,63 +96,8 @@ public class CalculationSharingDiscountService {
HashMap
<
String
,
List
<
String
>>
spqIdToCartUuid
=
new
HashMap
<>(
16
);
HashMap
<
String
,
List
<
String
>>
spqIdToCartUuid
=
new
HashMap
<>(
16
);
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
(
StringUtils
.
isBlank
(
cartGoods
.
getCouponCode
())
&&
!
cartGoods
.
getCartGoodsUid
().
startsWith
(
CommonsConstant
.
COUPON_PREFIX
))
{
//非商品券
this
.
setCommonDiscountGoods
(
calculationDiscountGoodsList
,
cartGoods
);
}
else
{
//商品券->商品券ID换取商品
String
couponCode
=
cartGoods
.
getCouponCode
();
boolean
useCoupon
=
true
;
// 优惠券放在coupon字段而不是uuid中
if
(
cartGoods
.
getCartGoodsUid
().
startsWith
(
CommonsConstant
.
COUPON_PREFIX
)){
couponCode
=
cartGoods
.
getCartGoodsUid
().
substring
(
CommonsConstant
.
COUPON_PREFIX
.
length
());
useCoupon
=
false
;
}
CheckSpqInfoRequestDto
checkSpqInfoRequestDto
=
new
CheckSpqInfoRequestDto
(
partnerId
,
storeId
,
couponCode
,
menuType
);
CheckSpqInfoResponseDto
checkSpqInfo
=
null
;
if
(
GoodsTypeEnum
.
HG_COUPON_GOODS
.
getGoodsType
().
equals
(
cartGoods
.
getGoodsType
()))
{
checkSpqInfo
=
couponService
.
checkSpqInfo
(
checkSpqInfoRequestDto
,
cartGoods
.
getSkuId
());
}
else
{
checkSpqInfo
=
couponService
.
checkSpqInfo
(
checkSpqInfoRequestDto
);
}
if
(
null
==
checkSpqInfo
)
{
cartGoodsList
.
remove
(
i
);
assortmentSdkService
.
setShoppingCart
(
partnerId
,
storeId
,
userId
,
cartGoodsList
,
null
,
null
,
this
.
shoppingCartBaseService
);
//跑业务异常 商品券不存
}
else
{
if
(
useCoupon
){
validCouponMap
.
put
(
couponCode
+
checkSpqInfo
.
getSkuId
(),
checkSpqInfo
);
}
else
{
validCouponMap
.
put
(
couponCode
,
checkSpqInfo
);
}
if
(
spqIdToCartUuid
.
containsKey
(
couponCode
)){
List
<
String
>
uuidList
=
spqIdToCartUuid
.
get
(
couponCode
);
uuidList
.
add
(
cartGoods
.
getCartGoodsUid
());
spqIdToCartUuid
.
put
(
couponCode
,
uuidList
);
}
else
{
List
<
String
>
uuidList
=
new
ArrayList
<>();
uuidList
.
add
(
cartGoods
.
getCartGoodsUid
());
spqIdToCartUuid
.
put
(
couponCode
,
uuidList
);
}
validCouponMap
.
put
(
couponCode
,
checkSpqInfo
);
cartGoods
.
setName
(
checkSpqInfo
.
getCouponName
());
cartGoods
.
setSpuName
(
checkSpqInfo
.
getCouponName
());
cartGoods
.
setStockLimit
(
checkSpqInfo
.
isStockLimit
());
CalculationSharingDiscountRequestDto
.
CalculationDiscountCoupon
coupon
=
new
CalculationSharingDiscountRequestDto
.
CalculationDiscountCoupon
();
coupon
.
setCode
(
checkSpqInfo
.
getCouponCode
());
coupon
.
setActivityCode
(
checkSpqInfo
.
getActiveCode
());
CalculationSharingDiscountRequestDto
.
CalculationDiscountCoupon
calculationDiscountCoupon
=
coupons
.
stream
().
filter
(
p
->
coupon
.
getActivityCode
().
equals
(
p
.
getActivityCode
())
&&
coupon
.
getCode
().
equals
(
p
.
getCode
())).
findFirst
().
orElse
(
null
);
if
(
calculationDiscountCoupon
==
null
){
coupons
.
add
(
coupon
);
}
// 添加商品券代表的商品放入促销
String
goodsId
=
StringUtils
.
isNotBlank
(
checkSpqInfo
.
getSkuId
())
?
checkSpqInfo
.
getSkuId
()
:
checkSpqInfo
.
getSpuId
();
if
(
GoodsTypeEnum
.
HG_COUPON_GOODS
.
getGoodsType
().
equals
(
cartGoods
.
getGoodsType
()))
{
this
.
setSpqDiscountGoods
(
calculationDiscountGoodsList
,
cartGoods
,
goodsId
,
checkSpqInfo
.
getPrice
(),
cartGoods
.
getSpuId
());
}
else
{
this
.
setSpqDiscountGoods
(
calculationDiscountGoodsList
,
cartGoods
,
goodsId
,
checkSpqInfo
.
getPrice
());
}
}
}
//套餐商品的固定和可选商品必有一个
if
(
GoodsTypeEnum
.
SET_MEAL_GOODS
.
getGoodsType
().
equals
(
cartGoods
.
getGoodsType
()))
{
if
(
GoodsTypeEnum
.
SET_MEAL_GOODS
.
getGoodsType
().
equals
(
cartGoods
.
getGoodsType
()))
{
if
(
CollectionUtils
.
isEmpty
(
cartGoods
.
getProductGroupList
())
&&
CollectionUtils
.
isEmpty
(
cartGoods
.
getProductComboList
()))
{
if
(
CollectionUtils
.
isEmpty
(
cartGoods
.
getProductGroupList
())
&&
CollectionUtils
.
isEmpty
(
cartGoods
.
getProductComboList
()))
{
cartGoodsList
.
remove
(
i
);
cartGoodsList
.
remove
(
i
);
...
@@ -160,6 +105,62 @@ public class CalculationSharingDiscountService {
...
@@ -160,6 +105,62 @@ public class CalculationSharingDiscountService {
throw
new
ServiceException
(
ResponseResult
.
SHOPPING_CART_NO_MEAL
);
throw
new
ServiceException
(
ResponseResult
.
SHOPPING_CART_NO_MEAL
);
}
}
}
}
String
couponCode
=
cartGoods
.
getCouponCode
();
if
(
cartGoods
.
getCartGoodsUid
().
startsWith
(
CommonsConstant
.
COUPON_PREFIX
))
{
couponCode
=
cartGoods
.
getCartGoodsUid
().
substring
(
CommonsConstant
.
COUPON_PREFIX
.
length
());
}
if
(
StringUtils
.
isBlank
(
couponCode
))
{
//非商品券
this
.
setCommonDiscountGoods
(
calculationDiscountGoodsList
,
cartGoods
);
}
//商品券->商品券ID换取商品
CheckSpqInfoRequestDto
checkSpqInfoRequestDto
=
new
CheckSpqInfoRequestDto
(
partnerId
,
storeId
,
couponCode
,
menuType
);
CheckSpqInfoResponseDto
checkSpqInfo
=
null
;
if
(
GoodsTypeEnum
.
HG_COUPON_GOODS
.
getGoodsType
().
equals
(
cartGoods
.
getGoodsType
()))
{
checkSpqInfo
=
couponService
.
checkSpqInfo
(
checkSpqInfoRequestDto
,
cartGoods
.
getSkuId
());
}
else
{
checkSpqInfo
=
couponService
.
checkSpqInfo
(
checkSpqInfoRequestDto
);
}
if
(
null
==
checkSpqInfo
)
{
cartGoodsList
.
remove
(
i
);
assortmentSdkService
.
setShoppingCart
(
partnerId
,
storeId
,
userId
,
cartGoodsList
,
null
,
null
,
this
.
shoppingCartBaseService
);
continue
;
//跑业务异常 商品券不存
}
if
(
cartGoods
.
getCartGoodsUid
().
startsWith
(
CommonsConstant
.
COUPON_PREFIX
))
{
validCouponMap
.
put
(
couponCode
,
checkSpqInfo
);
}
if
(!
GoodsTypeEnum
.
BUY_M_SEND_N_COUPON
.
getGoodsType
().
equals
(
cartGoods
.
getGoodsType
()))
{
validCouponMap
.
put
(
couponCode
+
checkSpqInfo
.
getSkuId
(),
checkSpqInfo
);
validCouponMap
.
put
(
couponCode
,
checkSpqInfo
);
}
if
(
spqIdToCartUuid
.
containsKey
(
couponCode
))
{
List
<
String
>
uuidList
=
spqIdToCartUuid
.
get
(
couponCode
);
uuidList
.
add
(
cartGoods
.
getCartGoodsUid
());
spqIdToCartUuid
.
put
(
couponCode
,
uuidList
);
}
else
{
List
<
String
>
uuidList
=
new
ArrayList
<>();
uuidList
.
add
(
cartGoods
.
getCartGoodsUid
());
spqIdToCartUuid
.
put
(
couponCode
,
uuidList
);
}
cartGoods
.
setName
(
checkSpqInfo
.
getCouponName
());
cartGoods
.
setSpuName
(
checkSpqInfo
.
getCouponName
());
cartGoods
.
setStockLimit
(
checkSpqInfo
.
isStockLimit
());
//买M送N券不赋值券名称
if
(
GoodsTypeEnum
.
BUY_M_SEND_N_COUPON
.
getGoodsType
().
equals
(
cartGoods
.
getGoodsType
()))
{
cartGoods
.
setName
(
checkSpqInfo
.
getSkuName
());
cartGoods
.
setSpuName
(
checkSpqInfo
.
getSpuName
());
}
CalculationSharingDiscountRequestDto
.
CalculationDiscountCoupon
coupon
=
new
CalculationSharingDiscountRequestDto
.
CalculationDiscountCoupon
();
coupon
.
setCode
(
checkSpqInfo
.
getCouponCode
());
coupon
.
setActivityCode
(
checkSpqInfo
.
getActiveCode
());
CalculationSharingDiscountRequestDto
.
CalculationDiscountCoupon
calculationDiscountCoupon
=
coupons
.
stream
().
filter
(
p
->
coupon
.
getActivityCode
().
equals
(
p
.
getActivityCode
())
&&
coupon
.
getCode
().
equals
(
p
.
getCode
())).
findFirst
().
orElse
(
null
);
if
(
calculationDiscountCoupon
==
null
)
{
coupons
.
add
(
coupon
);
}
// 添加商品券代表的商品放入促销
String
goodsId
=
StringUtils
.
isNotBlank
(
checkSpqInfo
.
getSkuId
())
?
checkSpqInfo
.
getSkuId
()
:
checkSpqInfo
.
getSpuId
();
this
.
setSpqDiscountGoods
(
calculationDiscountGoodsList
,
cartGoods
,
goodsId
,
checkSpqInfo
.
getPrice
(),
couponCode
);
}
}
/*加价购商品不为空*/
/*加价购商品不为空*/
...
@@ -184,7 +185,7 @@ public class CalculationSharingDiscountService {
...
@@ -184,7 +185,7 @@ public class CalculationSharingDiscountService {
}
}
//剔除商品数量为空的
//剔除商品数量为空的
calculationDiscountGoodsList
.
removeIf
(
v
->
v
.
getGoodsQuantity
().
equals
(
0
));
calculationDiscountGoodsList
.
removeIf
(
v
->
v
.
getGoodsQuantity
().
equals
(
0
));
if
(
CollectionUtils
.
isEmpty
(
calculationDiscountGoodsList
))
{
if
(
CollectionUtils
.
isEmpty
(
calculationDiscountGoodsList
))
{
//throw new BizServiceException(ResponseResult.SHOPPING_CART_COUPON_NOT_EXIST,"参数促销计算商品有异常");
//throw new BizServiceException(ResponseResult.SHOPPING_CART_COUPON_NOT_EXIST,"参数促销计算商品有异常");
return
null
;
return
null
;
...
@@ -193,18 +194,15 @@ public class CalculationSharingDiscountService {
...
@@ -193,18 +194,15 @@ public class CalculationSharingDiscountService {
//组装促销
//组装促销
calculationSharingDiscountRequestDto
.
setGoods
(
calculationDiscountGoodsList
);
calculationSharingDiscountRequestDto
.
setGoods
(
calculationDiscountGoodsList
);
calculationSharingDiscountRequestDto
.
setCoupons
(
coupons
);
calculationSharingDiscountRequestDto
.
setCoupons
(
coupons
);
calculationSharingDiscountRequestDto
.
setOrgIds
(
commonService
.
getOrgIdsForCoupon
(
partnerId
,
storeId
));
calculationSharingDiscountRequestDto
.
setOrgIds
(
commonService
.
getOrgIdsForCoupon
(
partnerId
,
storeId
));
calculationSharingDiscountRequestDto
.
setDistributionFee
(
deliveryAmount
);
calculationSharingDiscountRequestDto
.
setDistributionFee
(
deliveryAmount
);
calculationSharingDiscountRequestDto
.
setIsMember
(
isMember
);
calculationSharingDiscountRequestDto
.
setIsMember
(
isMember
);
CalculationSharingDiscountResponseDto
sharingDiscountResponseDto
;
// 构建买一送一寄杯活动用户选择信息
// 构建买一送一寄杯活动用户选择信息
ActiveService
activeService
=
activeFactory
.
getBuildChooseGoodsService
(
partnerId
);
ActiveService
activeService
=
activeFactory
.
getBuildChooseGoodsService
(
partnerId
);
activeService
.
buildChooseGoodsService
(
calculationSharingDiscountRequestDto
,
shoppingCartInfoRequestVo
==
null
?
null
:
shoppingCartInfoRequestVo
.
getChooseGoods
());
activeService
.
buildChooseGoodsService
(
calculationSharingDiscountRequestDto
,
shoppingCartInfoRequestVo
==
null
?
null
:
shoppingCartInfoRequestVo
.
getChooseGoods
());
try
{
//算价
sharingDiscountResponseDto
=
activityClient
.
calculationSharingDiscount
(
calculationSharingDiscountRequestDto
);
CalculationSharingDiscountResponseDto
sharingDiscountResponseDto
=
activityClient
.
calculationSharingDiscount
(
calculationSharingDiscountRequestDto
);
}
if
(
sharingDiscountResponseDto
==
null
){
catch
(
Exception
e
)
{
ErrorLog
.
errorConvertJson
(
this
.
getClass
(),
JsonUtil
.
toJSONString
(
calculationSharingDiscountRequestDto
),
e
);
throw
new
ServiceException
(
ResponseResult
.
OPERATE_TOO_OFTEN
);
throw
new
ServiceException
(
ResponseResult
.
OPERATE_TOO_OFTEN
);
}
}
// 返回成功
// 返回成功
...
@@ -226,8 +224,8 @@ public class CalculationSharingDiscountService {
...
@@ -226,8 +224,8 @@ public class CalculationSharingDiscountService {
}
}
// 这个是专门给coco使用的券验证错误的异常,message要抛出去
// 这个是专门给coco使用的券验证错误的异常,message要抛出去
if
(
sharingDiscountResponseDto
!=
null
&&
StringUtils
.
equals
(
sharingDiscountResponseDto
.
getStatusCode
(),
ResponseCodeConstant
.
COCO_RESPONSE_COUPON_ERR_STR
))
{
if
(
sharingDiscountResponseDto
!=
null
&&
StringUtils
.
equals
(
sharingDiscountResponseDto
.
getStatusCode
(),
ResponseCodeConstant
.
COCO_RESPONSE_COUPON_ERR_STR
))
{
throw
new
BizServiceException
(
ResponseResult
.
COCO_COUPON_VALIDATOR_FAIL
,
sharingDiscountResponseDto
.
getMsg
());
throw
new
BizServiceException
(
ResponseResult
.
COCO_COUPON_VALIDATOR_FAIL
,
sharingDiscountResponseDto
.
getMsg
());
}
}
// 支付宝华莱士紧急修改代码,当促销返回103错误码时,需要报券不适用于该门店,且清空购物车
// 支付宝华莱士紧急修改代码,当促销返回103错误码时,需要报券不适用于该门店,且清空购物车
...
@@ -254,6 +252,7 @@ public class CalculationSharingDiscountService {
...
@@ -254,6 +252,7 @@ public class CalculationSharingDiscountService {
/**
/**
* 实物商品
* 实物商品
*
* @param calculationDiscountGoodsList
* @param calculationDiscountGoodsList
* @param cartGoods
* @param cartGoods
*/
*/
...
@@ -267,9 +266,8 @@ public class CalculationSharingDiscountService {
...
@@ -267,9 +266,8 @@ public class CalculationSharingDiscountService {
calculationDiscountGoods
.
setAddCartTime
(
cartGoods
.
getAddCartTime
()
==
null
?
0
:
cartGoods
.
getAddCartTime
());
calculationDiscountGoods
.
setAddCartTime
(
cartGoods
.
getAddCartTime
()
==
null
?
0
:
cartGoods
.
getAddCartTime
());
//if (cartGoods.getGoodsType().equals(GoodsTypeEnum.SET_MEAL_GOODS))
//if (cartGoods.getGoodsType().equals(GoodsTypeEnum.SET_MEAL_GOODS))
if
(
CollectionUtils
.
isNotEmpty
(
cartGoods
.
getProductGroupList
())
||
CollectionUtils
.
isNotEmpty
(
cartGoods
.
getProductComboList
()))
{
if
(
CollectionUtils
.
isNotEmpty
(
cartGoods
.
getProductGroupList
())
||
CollectionUtils
.
isNotEmpty
(
cartGoods
.
getProductComboList
()))
{
calculationDiscountGoods
.
setOriginalPrice
(
cartGoods
.
getFinalPrice
()!=
null
?
cartGoods
.
getFinalPrice
()
:
cartGoods
.
getOriginalPrice
());
calculationDiscountGoods
.
setOriginalPrice
(
cartGoods
.
getFinalPrice
()
!=
null
?
cartGoods
.
getFinalPrice
()
:
cartGoods
.
getOriginalPrice
());
}
}
else
{
else
{
calculationDiscountGoods
.
setOriginalPrice
(
cartGoods
.
getOriginalPrice
());
calculationDiscountGoods
.
setOriginalPrice
(
cartGoods
.
getOriginalPrice
());
}
}
calculationDiscountGoods
.
setMemberDiscount
(
cartGoods
.
getMemberDiscount
());
calculationDiscountGoods
.
setMemberDiscount
(
cartGoods
.
getMemberDiscount
());
...
@@ -321,27 +319,29 @@ public class CalculationSharingDiscountService {
...
@@ -321,27 +319,29 @@ public class CalculationSharingDiscountService {
/**
/**
* 组队券码商品
* 组队券码商品
*
* @param calculationDiscountGoodsList
* @param calculationDiscountGoodsList
* @param cartGoods
* @param cartGoods
* @param goodsId
* @param goodsId
* @param originalPrice
* @param originalPrice
*/
*/
private
void
setSpqDiscountGoods
(
List
<
CalculationSharingDiscountRequestDto
.
CalculationDiscountGoods
>
calculationDiscountGoodsList
// private void setSpqDiscountGoods(List<CalculationSharingDiscountRequestDto.CalculationDiscountGoods> calculationDiscountGoodsList
,
CartGoods
cartGoods
,
String
goodsId
,
Long
originalPrice
)
{
// , CartGoods cartGoods, String goodsId, Long originalPrice) {
CalculationSharingDiscountRequestDto
.
CalculationDiscountGoods
calculationDiscountGoods
=
new
CalculationSharingDiscountRequestDto
.
CalculationDiscountGoods
();
// CalculationSharingDiscountRequestDto.CalculationDiscountGoods calculationDiscountGoods = new CalculationSharingDiscountRequestDto.CalculationDiscountGoods();
calculationDiscountGoods
.
setGoodsId
(
goodsId
);
// calculationDiscountGoods.setGoodsId(goodsId);
calculationDiscountGoods
.
setCartGoodsUid
(
cartGoods
.
getCartGoodsUid
());
// calculationDiscountGoods.setCartGoodsUid(cartGoods.getCartGoodsUid());
calculationDiscountGoods
.
setAddCartTime
(
cartGoods
.
getAddCartTime
()
==
null
?
0
:
cartGoods
.
getAddCartTime
());
// calculationDiscountGoods.setAddCartTime(cartGoods.getAddCartTime() == null ? 0 : cartGoods.getAddCartTime());
calculationDiscountGoods
.
setGoodsQuantity
(
cartGoods
.
getQty
());
// calculationDiscountGoods.setGoodsQuantity(cartGoods.getQty());
calculationDiscountGoods
.
setOriginalPrice
(
originalPrice
);
// calculationDiscountGoods.setOriginalPrice(originalPrice);
calculationDiscountGoods
.
setMemberDiscount
(
100
);
// calculationDiscountGoods.setMemberDiscount(100);
this
.
setCalculationDiscountGoods
(
calculationDiscountGoodsList
,
calculationDiscountGoods
);
// this.setCalculationDiscountGoods(calculationDiscountGoodsList, calculationDiscountGoods);
}
// }
private
void
setSpqDiscountGoods
(
List
<
CalculationSharingDiscountRequestDto
.
CalculationDiscountGoods
>
calculationDiscountGoodsList
private
void
setSpqDiscountGoods
(
List
<
CalculationSharingDiscountRequestDto
.
CalculationDiscountGoods
>
calculationDiscountGoodsList
,
CartGoods
cartGoods
,
CartGoods
cartGoods
,
String
goodsId
,
String
goodsId
,
Long
originalPrice
,
Long
originalPrice
,
String
couponCode
)
{
,
String
couponCode
)
{
CalculationSharingDiscountRequestDto
.
CalculationDiscountGoods
calculationDiscountGoods
=
new
CalculationSharingDiscountRequestDto
.
CalculationDiscountGoods
();
CalculationSharingDiscountRequestDto
.
CalculationDiscountGoods
calculationDiscountGoods
=
new
CalculationSharingDiscountRequestDto
.
CalculationDiscountGoods
();
calculationDiscountGoods
.
setGoodsId
(
goodsId
);
calculationDiscountGoods
.
setGoodsId
(
goodsId
);
calculationDiscountGoods
.
setCartGoodsUid
(
cartGoods
.
getCartGoodsUid
());
calculationDiscountGoods
.
setCartGoodsUid
(
cartGoods
.
getCartGoodsUid
());
...
@@ -350,23 +350,23 @@ public class CalculationSharingDiscountService {
...
@@ -350,23 +350,23 @@ public class CalculationSharingDiscountService {
calculationDiscountGoods
.
setOriginalPrice
(
originalPrice
);
calculationDiscountGoods
.
setOriginalPrice
(
originalPrice
);
calculationDiscountGoods
.
setMemberDiscount
(
100
);
calculationDiscountGoods
.
setMemberDiscount
(
100
);
calculationDiscountGoods
.
setCouponCode
(
couponCode
);
calculationDiscountGoods
.
setCouponCode
(
couponCode
);
this
.
setCalculationDiscountGoods
(
calculationDiscountGoodsList
,
calculationDiscountGoods
);
this
.
setCalculationDiscountGoods
(
calculationDiscountGoodsList
,
calculationDiscountGoods
);
}
}
/**
/**
* 需要促销计算的商品
* 需要促销计算的商品
*
* @param calculationDiscountGoodsList
* @param calculationDiscountGoodsList
* @param calculationDiscountGoods
* @param calculationDiscountGoods
*/
*/
private
void
setCalculationDiscountGoods
(
List
<
CalculationSharingDiscountRequestDto
.
CalculationDiscountGoods
>
calculationDiscountGoodsList
private
void
setCalculationDiscountGoods
(
List
<
CalculationSharingDiscountRequestDto
.
CalculationDiscountGoods
>
calculationDiscountGoodsList
,
CalculationSharingDiscountRequestDto
.
CalculationDiscountGoods
calculationDiscountGoods
)
{
,
CalculationSharingDiscountRequestDto
.
CalculationDiscountGoods
calculationDiscountGoods
)
{
int
index
=
0
;
int
index
=
0
;
//当商品已经存在时,需要累加数量
//当商品已经存在时,需要累加数量
if
((
index
=
calculationDiscountGoodsList
.
indexOf
(
calculationDiscountGoods
))
>=
0
)
{
if
((
index
=
calculationDiscountGoodsList
.
indexOf
(
calculationDiscountGoods
))
>=
0
)
{
CalculationSharingDiscountRequestDto
.
CalculationDiscountGoods
old
=
calculationDiscountGoodsList
.
get
(
index
);
CalculationSharingDiscountRequestDto
.
CalculationDiscountGoods
old
=
calculationDiscountGoodsList
.
get
(
index
);
calculationDiscountGoodsList
.
get
(
index
).
setGoodsQuantity
(
old
.
getGoodsQuantity
()+
calculationDiscountGoods
.
getGoodsQuantity
());
calculationDiscountGoodsList
.
get
(
index
).
setGoodsQuantity
(
old
.
getGoodsQuantity
()
+
calculationDiscountGoods
.
getGoodsQuantity
());
}
}
else
{
else
{
calculationDiscountGoodsList
.
add
(
calculationDiscountGoods
);
calculationDiscountGoodsList
.
add
(
calculationDiscountGoods
);
}
}
...
...
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