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
1159d120
Commit
1159d120
authored
Sep 29, 2020
by
xiaoer.li@freemud.com
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
换购券Alpha
parent
b672bb34
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
190 additions
and
17 deletions
+190
-17
shopping-cart-application-service/src/main/java/cn/freemud/entities/dto/ActivityCalculationDiscountRequestDto.java
+1
-0
shopping-cart-application-service/src/main/java/cn/freemud/entities/vo/CartGoods.java
+1
-1
shopping-cart-application-service/src/main/java/cn/freemud/enums/GoodsTypeEnum.java
+2
-1
shopping-cart-application-service/src/main/java/cn/freemud/service/CouponService.java
+2
-0
shopping-cart-application-service/src/main/java/cn/freemud/service/ShoppingCartNewService.java
+36
-3
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/CouponPromotionService.java
+12
-1
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/CouponServiceImpl.java
+82
-0
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/ShoppingCartNewServiceImpl.java
+41
-9
shopping-cart-application-service/src/test/java/cn.freemud/service/CouponTest.java
+13
-2
No files found.
shopping-cart-application-service/src/main/java/cn/freemud/entities/dto/ActivityCalculationDiscountRequestDto.java
View file @
1159d120
...
@@ -112,6 +112,7 @@ public class ActivityCalculationDiscountRequestDto {
...
@@ -112,6 +112,7 @@ public class ActivityCalculationDiscountRequestDto {
* 例如8折为80
* 例如8折为80
*/
*/
private
Integer
memberDiscount
;
private
Integer
memberDiscount
;
private
String
couponCode
;
/**
/**
* 加料
* 加料
*/
*/
...
...
shopping-cart-application-service/src/main/java/cn/freemud/entities/vo/CartGoods.java
View file @
1159d120
...
@@ -33,7 +33,7 @@ public class CartGoods {
...
@@ -33,7 +33,7 @@ public class CartGoods {
*/
*/
private
String
goodsId
;
private
String
goodsId
;
/**
/**
* 1.正常商品,2.商品券,3.套餐商品
* 1.正常商品,2.商品券,3.套餐商品
,4、换购券
*/
*/
private
Integer
goodsType
;
private
Integer
goodsType
;
/**
/**
...
...
shopping-cart-application-service/src/main/java/cn/freemud/enums/GoodsTypeEnum.java
View file @
1159d120
...
@@ -17,10 +17,11 @@ public enum GoodsTypeEnum {
...
@@ -17,10 +17,11 @@ public enum GoodsTypeEnum {
COMMON_GOODS
(
1
,
"正常商品"
),
COMMON_GOODS
(
1
,
"正常商品"
),
COUPON_GOODS
(
2
,
"商品券"
),
COUPON_GOODS
(
2
,
"商品券"
),
HG_COUPON_GOODS
(
7
,
"换购券"
),
SET_MEAL_GOODS
(
3
,
"套餐商品"
),
SET_MEAL_GOODS
(
3
,
"套餐商品"
),
SKU_GOODS
(
4
,
"sku商品"
),
SKU_GOODS
(
4
,
"sku商品"
),
SPU_GOODS
(
5
,
"spu商品"
),
SPU_GOODS
(
5
,
"spu商品"
),
REDUCE_PRICE_GOODS
(
6
,
"加价购商品"
),
REDUCE_PRICE_GOODS
(
6
,
"加价购商品"
),
MATERIAL
(
88
,
"有加料的商品"
),
MATERIAL
(
88
,
"有加料的商品"
),
EXCEPTION_GOODS
(
99
,
"异常商品:商品菜单变化导致和购物车不商品匹配"
);
EXCEPTION_GOODS
(
99
,
"异常商品:商品菜单变化导致和购物车不商品匹配"
);
private
Integer
goodsType
;
private
Integer
goodsType
;
...
...
shopping-cart-application-service/src/main/java/cn/freemud/service/CouponService.java
View file @
1159d120
...
@@ -100,6 +100,8 @@ public interface CouponService {
...
@@ -100,6 +100,8 @@ public interface CouponService {
*/
*/
CheckSpqInfoResponseDto
checkSpqInfo
(
CheckSpqInfoRequestDto
requestDto
);
CheckSpqInfoResponseDto
checkSpqInfo
(
CheckSpqInfoRequestDto
requestDto
);
CheckSpqInfoResponseDto
checkSpqInfo
(
CheckSpqInfoRequestDto
requestDto
,
String
goodsId
);
/**
/**
* 领券
* 领券
*
*
...
...
shopping-cart-application-service/src/main/java/cn/freemud/service/ShoppingCartNewService.java
View file @
1159d120
...
@@ -102,7 +102,7 @@ public interface ShoppingCartNewService {
...
@@ -102,7 +102,7 @@ public interface ShoppingCartNewService {
List
<
CartGoods
>
updateCartGoodsLegal
(
CartGoods
cartGoods
,
String
userId
,
ShoppingCartGoodsBaseResponseVo
shoppingCartGoodsResponseVo
,
AddShoppingCartGoodsRequestVo
addShoppingCartGoodsRequestVo
,
List
<
CartGoods
>
oldAllCartGoodsList
);
List
<
CartGoods
>
updateCartGoodsLegal
(
CartGoods
cartGoods
,
String
userId
,
ShoppingCartGoodsBaseResponseVo
shoppingCartGoodsResponseVo
,
AddShoppingCartGoodsRequestVo
addShoppingCartGoodsRequestVo
,
List
<
CartGoods
>
oldAllCartGoodsList
);
/**
/**
* 校验券是否有效
*
商品券
校验券是否有效
*
*
* @param partnerId
* @param partnerId
* @param storeId
* @param storeId
...
@@ -110,9 +110,13 @@ public interface ShoppingCartNewService {
...
@@ -110,9 +110,13 @@ public interface ShoppingCartNewService {
* @param productIds
* @param productIds
* @return
* @return
*/
*/
default
String
validCoupon
(
String
partnerId
,
String
storeId
,
String
spuId
,
List
<
Long
>
productIds
,
String
menuType
)
{
default
String
validCoupon
(
String
partnerId
,
String
storeId
,
String
spuId
,
List
<
Long
>
productIds
,
String
menuType
)
{
String
spuId2
;
String
spuId2
;
CheckSpqInfoRequestDto
checkSpqInfoRequestDto
=
new
CheckSpqInfoRequestDto
(
partnerId
,
storeId
,
spuId
.
substring
(
CommonsConstant
.
COUPON_PREFIX
.
length
()),
menuType
);
CheckSpqInfoRequestDto
checkSpqInfoRequestDto
=
new
CheckSpqInfoRequestDto
(
partnerId
,
storeId
,
spuId
.
substring
(
CommonsConstant
.
COUPON_PREFIX
.
length
()),
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
)
{
...
@@ -124,6 +128,35 @@ public interface ShoppingCartNewService {
...
@@ -124,6 +128,35 @@ public interface ShoppingCartNewService {
}
}
/**
/**
* 换购券
*
* @param partnerId
* @param storeId
* @param spuId
* @param productIds
* @param menuType
* @param goodsId
* @return
*/
default
String
validCoupon
(
String
partnerId
,
String
storeId
,
String
spuId
,
List
<
Long
>
productIds
,
String
menuType
,
String
goodsId
)
{
String
spuId2
;
CheckSpqInfoRequestDto
checkSpqInfoRequestDto
=
new
CheckSpqInfoRequestDto
(
partnerId
,
storeId
,
spuId
.
substring
(
CommonsConstant
.
COUPON_PREFIX
.
length
()),
menuType
);
CouponService
couponService
=
SDKCommonBaseContextWare
.
getBean
(
CouponService
.
class
);
CheckSpqInfoResponseDto
checkSpqInfoResponseDto
=
couponService
.
checkSpqInfo
(
checkSpqInfoRequestDto
,
goodsId
);
if
(
checkSpqInfoResponseDto
==
null
)
{
throw
new
ServiceException
(
ResponseResult
.
SHOPPING_CART_COUPON_NOT_EXIST
);
}
productIds
.
add
(
Long
.
parseLong
(
checkSpqInfoResponseDto
.
getSkuId
()));
spuId2
=
checkSpqInfoResponseDto
.
getSkuId
();
return
spuId2
;
}
/**
* 添加商品券商品
* 添加商品券商品
*
*
* @param addShoppingCartGoodsRequestVo
* @param addShoppingCartGoodsRequestVo
...
...
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/CouponPromotionService.java
View file @
1159d120
...
@@ -96,11 +96,22 @@ public class CouponPromotionService implements IPromotionService {
...
@@ -96,11 +96,22 @@ public class CouponPromotionService implements IPromotionService {
cartGoods
.
setQty
(
1
);
cartGoods
.
setQty
(
1
);
cartGoods
.
setCouponCode
(
checkSpqInfoResponseDto
.
getCouponCode
());
cartGoods
.
setCouponCode
(
checkSpqInfoResponseDto
.
getCouponCode
());
cartGoods
.
setSpuName
(
checkSpqInfoResponseDto
.
getSpuName
());
cartGoods
.
setSpuName
(
checkSpqInfoResponseDto
.
getSpuName
());
if
(
GoodsTypeEnum
.
HG_COUPON_GOODS
.
getGoodsType
().
equals
(
cartGoods
.
getGoodsType
()))
{
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
.
Goods
discountGoods
=
calculationDiscountResult
.
getGoods
()
.
stream
()
.
filter
(
d
->
cartGoods
.
getCartGoodsUid
().
equals
(
d
.
getCartGoodsUid
()))
.
findFirst
()
.
orElse
(
null
);
if
(
discountGoods
!=
null
)
{
cartGoods
.
setAmount
(
discountGoods
.
getRealAmount
());
}
else
{
cartGoods
.
setAmount
(
checkSpqInfoResponseDto
.
getPrice
());
}
}
}
}
}
}
}
}
}
}
}
}
...
...
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/CouponServiceImpl.java
View file @
1159d120
...
@@ -68,6 +68,7 @@ import org.springframework.stereotype.Service;
...
@@ -68,6 +68,7 @@ import org.springframework.stereotype.Service;
import
java.util.*
;
import
java.util.*
;
import
java.util.function.Predicate
;
import
java.util.function.Predicate
;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
import
java.util.stream.Stream
;
@Service
@Service
@Slf4j
@Slf4j
...
@@ -679,6 +680,87 @@ public class CouponServiceImpl implements CouponService {
...
@@ -679,6 +680,87 @@ public class CouponServiceImpl implements CouponService {
return
dto
;
return
dto
;
}
}
/**
* 换购券
*
* @param requestDto
* @param goodsId
* @return
*/
@Override
public
CheckSpqInfoResponseDto
checkSpqInfo
(
CheckSpqInfoRequestDto
requestDto
,
String
goodsId
)
{
log
.
info
(
"checkSpqInfo****"
+
gson
.
toJson
(
requestDto
));
String
partnerId
=
requestDto
.
getPartnerId
();
String
couponCode
=
requestDto
.
getCouponCode
();
String
storeId
=
requestDto
.
getStoreId
();
//TODO 查询券详情券是否存在
GetMemberCouponRequestVo
requestVo
=
new
GetMemberCouponRequestVo
();
requestVo
.
setPartnerId
(
partnerId
);
requestVo
.
setCouponCode
(
couponCode
);
requestVo
.
setStoreId
(
requestDto
.
getStoreId
());
GetCouponDetailResponseDto
couponDetailResponseDto
=
couponService
.
getMemberCoupon
(
requestVo
);
LogUtil
.
info
(
"couponService.getMemberCoupon"
,
gson
.
toJson
(
requestVo
),
gson
.
toJson
(
couponDetailResponseDto
));
if
(
couponDetailResponseDto
==
null
||
!
couponDetailResponseDto
.
getResult
().
equals
(
ResponseCodeConstant
.
RESPONSE_SUCCESS_1
)
||
CollectionUtils
.
isEmpty
(
couponDetailResponseDto
.
getDetails
()))
{
return
null
;
}
if
(
CollectionUtils
.
isEmpty
(
couponDetailResponseDto
.
getDetails
()))
{
return
null
;
}
boolean
productValid
=
false
;
GetCouponDetailResponseDto
.
Details
couponActivityDetail
=
null
;
for
(
GetCouponDetailResponseDto
.
Details
detail
:
couponDetailResponseDto
.
getDetails
())
{
if
(
productValid
)
break
;
if
(!
CouponStatus
.
STATUS_0
.
getCode
().
equals
(
detail
.
getStatus
()))
continue
;
for
(
GetCouponDetailResponseDto
.
ActiveProduct
activeProduct
:
detail
.
getActiveProduct
())
{
if
(
goodsId
.
equals
(
activeProduct
.
getProductIdPartner
()))
{
productValid
=
true
;
couponActivityDetail
=
detail
;
break
;
}
}
}
//检查商品是否有效
if
(!
productValid
)
{
return
null
;
}
//TODO 判断该券是否在这个门店下(一个券可以在多个门店下使用)
List
<
String
>
couPonstoreIds
=
Lists
.
newArrayList
();
for
(
GetCouponDetailResponseDto
.
Details
detail
:
couponDetailResponseDto
.
getDetails
())
{
if
(!
CouponStatus
.
STATUS_0
.
getCode
().
equals
(
detail
.
getStatus
()))
continue
;
for
(
GetCouponDetailResponseDto
.
ActiveRestrictionVOS
activeRestrictionVO
:
detail
.
getActiveRestrictionVOS
())
{
couPonstoreIds
.
add
(
activeRestrictionVO
.
getStoreIdPartner
());
}
}
if
(
CollectionUtils
.
isNotEmpty
(
couPonstoreIds
)
&&
!
couPonstoreIds
.
contains
(
storeId
))
{
// return null;
}
//券返回的商品id
List
<
String
>
skuIds
=
Lists
.
newArrayList
();
String
skuId
=
goodsId
;
skuIds
.
add
(
skuId
);
//TODO 通过skuid查询spuid
Map
<
String
,
GetProductsVo
>
productsVoMap
=
itemService
.
getProducts
(
skuIds
,
partnerId
,
storeId
,
requestDto
.
getMenuType
());
GetProductsVo
productsVo
=
productsVoMap
.
get
(
skuId
);
if
(
null
==
productsVo
||
!
Objects
.
equals
(
productsVo
.
getStatus
(),
StoreItemStatus
.
PUT_ON_SALE
.
getCode
()))
{
return
null
;
}
CheckSpqInfoResponseDto
dto
=
new
CheckSpqInfoResponseDto
();
dto
.
setCouponCode
(
couponCode
);
dto
.
setActiveCode
(
couponActivityDetail
.
getActive
().
getActiveCode
());
dto
.
setCouponName
(
couponActivityDetail
.
getTitle
());
dto
.
setActivityName
(
couponActivityDetail
.
getActive
().
getActiveName
());
dto
.
setPrice
(
productsVo
.
getFinalPrice
());
dto
.
setSpuId
(
productsVo
.
getSpuId
());
dto
.
setSpuName
(
productsVo
.
getSkuName
());
dto
.
setSkuId
(
productsVo
.
getSkuId
());
dto
.
setSkuName
(
StringUtils
.
isNotBlank
(
productsVo
.
getSkuName
())
?
productsVo
.
getSkuName
()
:
productsVo
.
getSpuName
());
dto
.
setPicture
(
productsVo
.
getSpuPicture
());
log
.
info
(
"dto***"
+
dto
);
return
dto
;
}
@Autowired
@Autowired
private
ActivityClient
activityClient
;
private
ActivityClient
activityClient
;
...
...
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/ShoppingCartNewServiceImpl.java
View file @
1159d120
...
@@ -237,7 +237,11 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
...
@@ -237,7 +237,11 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
productIds
.
add
(
Long
.
parseLong
(
goodsId
));
productIds
.
add
(
Long
.
parseLong
(
goodsId
));
}
else
{
}
else
{
//校验券是否有效
//校验券是否有效
spuId2
=
validCoupon
(
partnerId
,
storeId
,
spuId
,
productIds
,
BusinessTypeEnum
.
getByType
(
addShoppingCartGoodsRequestVo
.
getMenuType
()).
getCode
());
if
(
StringUtils
.
isNotBlank
(
skuId
))
{
spuId2
=
validCoupon
(
partnerId
,
storeId
,
spuId
,
productIds
,
BusinessTypeEnum
.
getByType
(
addShoppingCartGoodsRequestVo
.
getMenuType
()).
getCode
(),
skuId
);
}
else
{
spuId2
=
validCoupon
(
partnerId
,
storeId
,
spuId
,
productIds
,
BusinessTypeEnum
.
getByType
(
addShoppingCartGoodsRequestVo
.
getMenuType
()).
getCode
());
}
}
}
// 获取商品详细信息
// 获取商品详细信息
List
<
ProductBeanDTO
>
productBeanListSpuClass
=
assortmentSdkService
.
getProductsInfoSdk
(
partnerId
,
storeId
List
<
ProductBeanDTO
>
productBeanListSpuClass
=
assortmentSdkService
.
getProductsInfoSdk
(
partnerId
,
storeId
...
@@ -264,7 +268,7 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
...
@@ -264,7 +268,7 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
}
else
{
}
else
{
// 当商品是商品券,里面会判断如果购物车中已有商品券,会将cartGoods的CartGoodsUid设为null
// 当商品是商品券,里面会判断如果购物车中已有商品券,会将cartGoods的CartGoodsUid设为null
this
.
addProductGoods
(
addShoppingCartGoodsRequestVo
,
cartGoods
,
spuId2
,
userId
,
shoppingCartGoodsResponseVo
,
this
.
addProductGoods
(
addShoppingCartGoodsRequestVo
,
cartGoods
,
spuId2
,
userId
,
shoppingCartGoodsResponseVo
,
spuId
,
allCartGoodsList
,
productBeanListSpuClass
);
spuId
,
allCartGoodsList
,
productBeanListSpuClass
,
StringUtils
.
isNotBlank
(
skuId
)
?
true
:
false
);
}
}
Long
deliveryAmount
=
calculateDeliveryAmount
(
receiveId
,
partnerId
,
storeId
,
userLoginInfoDto
.
getWxAppid
(),
shoppingCartGoodsResponseVo
);
Long
deliveryAmount
=
calculateDeliveryAmount
(
receiveId
,
partnerId
,
storeId
,
userLoginInfoDto
.
getWxAppid
(),
shoppingCartGoodsResponseVo
);
...
@@ -749,8 +753,13 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
...
@@ -749,8 +753,13 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
else
{
else
{
// 商品券ID换取商品
// 商品券ID换取商品
String
spqId
=
cartGoods
.
getCartGoodsUid
().
substring
(
CommonsConstant
.
COUPON_PREFIX
.
length
());
String
spqId
=
cartGoods
.
getCartGoodsUid
().
substring
(
CommonsConstant
.
COUPON_PREFIX
.
length
());
CheckSpqInfoRequestDto
checkSpqInfoRequestDto
=
new
CheckSpqInfoRequestDto
(
partnerId
,
storeId
,
spqId
,
menuType
);
CheckSpqInfoRequestDto
checkSpqInfoRequestDto
=
new
CheckSpqInfoRequestDto
(
partnerId
,
storeId
,
spqId
,
menuType
);
CheckSpqInfoResponseDto
checkSpqInfoResponseDto
=
couponService
.
checkSpqInfo
(
checkSpqInfoRequestDto
);
CheckSpqInfoResponseDto
checkSpqInfoResponseDto
=
null
;
if
(
GoodsTypeEnum
.
HG_COUPON_GOODS
.
getGoodsType
().
equals
(
cartGoods
.
getGoodsType
()))
{
checkSpqInfoResponseDto
=
couponService
.
checkSpqInfo
(
checkSpqInfoRequestDto
,
cartGoods
.
getSkuId
());
}
else
{
checkSpqInfoResponseDto
=
couponService
.
checkSpqInfo
(
checkSpqInfoRequestDto
);
}
// 商品券不存在时,将商品券从购物车移除
// 商品券不存在时,将商品券从购物车移除
if
(
checkSpqInfoResponseDto
==
null
)
{
if
(
checkSpqInfoResponseDto
==
null
)
{
cartGoodsList
.
remove
(
i
);
cartGoodsList
.
remove
(
i
);
...
@@ -767,7 +776,11 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
...
@@ -767,7 +776,11 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
coupons
.
add
(
coupon
);
coupons
.
add
(
coupon
);
// 添加商品券代表的商品
// 添加商品券代表的商品
String
goodsId
=
StringUtils
.
isEmpty
(
checkSpqInfoResponseDto
.
getSkuId
())
?
checkSpqInfoResponseDto
.
getSpuId
()
:
checkSpqInfoResponseDto
.
getSkuId
();
String
goodsId
=
StringUtils
.
isEmpty
(
checkSpqInfoResponseDto
.
getSkuId
())
?
checkSpqInfoResponseDto
.
getSpuId
()
:
checkSpqInfoResponseDto
.
getSkuId
();
this
.
addCalculationDiscountGoods
(
calculationDiscountGoodsList
,
goodsId
,
1
,
checkSpqInfoResponseDto
.
getPrice
(),
100
,
cartGoodsUid
);
if
(
GoodsTypeEnum
.
HG_COUPON_GOODS
.
getGoodsType
().
equals
(
cartGoods
.
getGoodsType
()))
{
this
.
addCalculationDiscountGoods
(
calculationDiscountGoodsList
,
goodsId
,
1
,
checkSpqInfoResponseDto
.
getPrice
(),
100
,
cartGoodsUid
,
cartGoods
.
getSpuId
());
}
else
{
this
.
addCalculationDiscountGoods
(
calculationDiscountGoodsList
,
goodsId
,
1
,
checkSpqInfoResponseDto
.
getPrice
(),
100
,
cartGoodsUid
);
}
}
}
}
}
// 当加价购商品不为空时
// 当加价购商品不为空时
...
@@ -787,8 +800,6 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
...
@@ -787,8 +800,6 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
activityCalculationDiscountRequestDto
.
setIsMember
(
isMember
);
activityCalculationDiscountRequestDto
.
setIsMember
(
isMember
);
ActivityCalculationDiscountResponseDto
activityCalculationDiscountResponseDto
;
ActivityCalculationDiscountResponseDto
activityCalculationDiscountResponseDto
;
try
{
try
{
System
.
out
.
println
(
"start discount"
);
System
.
out
.
println
(
JSON
.
toJSONString
(
activityCalculationDiscountRequestDto
));
activityCalculationDiscountResponseDto
=
activityClient
.
calculationDiscount
(
activityCalculationDiscountRequestDto
);
activityCalculationDiscountResponseDto
=
activityClient
.
calculationDiscount
(
activityCalculationDiscountRequestDto
);
}
catch
(
Exception
ex
)
{
}
catch
(
Exception
ex
)
{
ErrorLog
.
printErrorLog
(
"calculation_discount_error"
,
"/calculation/discount"
,
activityCalculationDiscountRequestDto
,
ex
);
ErrorLog
.
printErrorLog
(
"calculation_discount_error"
,
"/calculation/discount"
,
activityCalculationDiscountRequestDto
,
ex
);
...
@@ -835,6 +846,23 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
...
@@ -835,6 +846,23 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
this
.
addCalculationDiscountGoods
(
calculationDiscountGoodsList
,
calculationDiscountGoods
);
this
.
addCalculationDiscountGoods
(
calculationDiscountGoodsList
,
calculationDiscountGoods
);
}
}
private
void
addCalculationDiscountGoods
(
List
<
ActivityCalculationDiscountRequestDto
.
CalculationDiscountGoods
>
calculationDiscountGoodsList
,
String
goodsId
,
Integer
goodsQuantity
,
Long
originalPrice
,
Integer
memberDiscount
,
String
cartGoodsUid
,
String
couponCode
)
{
ActivityCalculationDiscountRequestDto
.
CalculationDiscountGoods
calculationDiscountGoods
=
new
ActivityCalculationDiscountRequestDto
.
CalculationDiscountGoods
();
calculationDiscountGoods
.
setGoodsId
(
goodsId
);
calculationDiscountGoods
.
setCartGoodsUid
(
cartGoodsUid
);
calculationDiscountGoods
.
setGoodsQuantity
(
goodsQuantity
);
calculationDiscountGoods
.
setOriginalPrice
(
originalPrice
);
calculationDiscountGoods
.
setMemberDiscount
(
memberDiscount
);
calculationDiscountGoods
.
setCouponCode
(
couponCode
);
this
.
addCalculationDiscountGoods
(
calculationDiscountGoodsList
,
calculationDiscountGoods
);
}
/**
/**
* 促销增加
* 促销增加
*
*
...
@@ -1219,7 +1247,7 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
...
@@ -1219,7 +1247,7 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
*/
*/
private
void
addProductGoods
(
AddShoppingCartGoodsRequestVo
addShoppingCartGoodsRequestVo
private
void
addProductGoods
(
AddShoppingCartGoodsRequestVo
addShoppingCartGoodsRequestVo
,
CartGoods
cartGoods
,
String
spuId2
,
String
userId
,
ShoppingCartGoodsResponseVo
shoppingCartGoodsResponseVo
,
String
spuId
,
CartGoods
cartGoods
,
String
spuId2
,
String
userId
,
ShoppingCartGoodsResponseVo
shoppingCartGoodsResponseVo
,
String
spuId
,
List
<
CartGoods
>
allCartGoodsList
,
List
<
ProductBeanDTO
>
productBeanListSpuClass
)
{
,
List
<
CartGoods
>
allCartGoodsList
,
List
<
ProductBeanDTO
>
productBeanListSpuClass
,
boolean
isHg
)
{
// 商品券商品list
// 商品券商品list
List
<
CartGoods
>
tmpCartGoods
=
allCartGoodsList
.
parallelStream
().
filter
(
k
->
k
.
getCartGoodsUid
().
startsWith
(
CommonsConstant
.
COUPON_PREFIX
)).
collect
(
Collectors
.
toList
());
List
<
CartGoods
>
tmpCartGoods
=
allCartGoodsList
.
parallelStream
().
filter
(
k
->
k
.
getCartGoodsUid
().
startsWith
(
CommonsConstant
.
COUPON_PREFIX
)).
collect
(
Collectors
.
toList
());
// 当已有商品券时,不得添加(暂时的限制)
// 当已有商品券时,不得添加(暂时的限制)
...
@@ -1229,7 +1257,11 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
...
@@ -1229,7 +1257,11 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
}
else
{
}
else
{
cartGoods
.
setCartGoodsUid
(
spuId
);
cartGoods
.
setCartGoodsUid
(
spuId
);
// 设置商品类型为商品券
// 设置商品类型为商品券
cartGoods
.
setGoodsType
(
GoodsTypeEnum
.
COUPON_GOODS
.
getGoodsType
());
if
(
isHg
)
{
cartGoods
.
setGoodsType
(
GoodsTypeEnum
.
HG_COUPON_GOODS
.
getGoodsType
());
}
else
{
cartGoods
.
setGoodsType
(
GoodsTypeEnum
.
COUPON_GOODS
.
getGoodsType
());
}
// 商品券Id
// 商品券Id
String
spqId
=
spuId
.
substring
(
CommonsConstant
.
COUPON_PREFIX
.
length
());
String
spqId
=
spuId
.
substring
(
CommonsConstant
.
COUPON_PREFIX
.
length
());
cartGoods
.
setSpuId
(
spqId
);
cartGoods
.
setSpuId
(
spqId
);
...
...
shopping-cart-application-service/src/test/java/cn.freemud/service/CouponTest.java
View file @
1159d120
...
@@ -160,11 +160,22 @@ public class CouponTest {
...
@@ -160,11 +160,22 @@ public class CouponTest {
//1617,1617,88600017957134272219
//1617,1617,88600017957134272219
String
partnerId
=
"1864"
;
String
partnerId
=
"1864"
;
String
memberId
=
"1617"
;
String
memberId
=
"1617"
;
/*
String code = "88600039947518452055";
String code = "88600039947518452055";
CheckSpqInfoRequestDto
requestDto
=
new
CheckSpqInfoRequestDto
();
partnerId = "1864";
memberId = "1617";
code = "88600039947518452055";
*/
String
code
=
"88607422333514819844"
;
partnerId
=
"2399"
;
memberId
=
"2399"
;
code
=
"88607422333514819844"
;
CheckSpqInfoRequestDto
requestDto
=
new
CheckSpqInfoRequestDto
();
requestDto
.
setCouponCode
(
code
);
requestDto
.
setCouponCode
(
code
);
requestDto
.
setPartnerId
(
partnerId
);
requestDto
.
setPartnerId
(
partnerId
);
requestDto
.
setStoreId
(
"
111
"
);
requestDto
.
setStoreId
(
""
);
CheckSpqInfoResponseDto
memberCoupon
=
couponService
.
checkSpqInfo
(
requestDto
);
CheckSpqInfoResponseDto
memberCoupon
=
couponService
.
checkSpqInfo
(
requestDto
);
logger
.
info
(
JSONObject
.
toJSONString
(
memberCoupon
));
logger
.
info
(
JSONObject
.
toJSONString
(
memberCoupon
));
}
}
...
...
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