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
b6e1ffa8
Commit
b6e1ffa8
authored
Nov 01, 2022
by
周晓航
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
优惠券的 套餐商品维护 stockmode
parent
87d733ab
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
60 additions
and
29 deletions
+60
-29
shopping-cart-application-service/src/main/java/cn/freemud/adapter/ShoppingCartConvertAdapter.java
+24
-0
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/ProductServiceImpl.java
+19
-13
shopping-cart-application-service/src/test/spock/cn/freemud/service/impl/ShoppingCartOldDiscountSpock.groovy
+17
-16
No files found.
shopping-cart-application-service/src/main/java/cn/freemud/adapter/ShoppingCartConvertAdapter.java
View file @
b6e1ffa8
...
...
@@ -644,6 +644,30 @@ public class ShoppingCartConvertAdapter {
return
result
;
}
/**
* 只维护 套餐券的 model 和 库存限制
* @param cartGoods
* @param productBeans
*/
public
void
updateStockModelAndStockLimit
(
CartGoods
cartGoods
,
List
<
ProductTypeBeanDTO
>
productBeans
)
{
try
{
Optional
<
ProductTypeBeanDTO
>
firstProduct
=
productBeans
.
stream
().
filter
(
p
->
ObjectUtils
.
equals
(
p
.
getPid
(),
cartGoods
.
getSpuId
())).
findFirst
();
if
(!
firstProduct
.
isPresent
())
{
return
;
}
ProductTypeBeanDTO
spuProduct
=
firstProduct
.
get
();
boolean
isSkuProduct
=
ObjectUtils
.
equals
(
com
.
freemud
.
sdk
.
api
.
assortment
.
shoppingcart
.
constant
.
GoodsTypeEnum
.
SKU_GOODS
.
getGoodsType
(),
cartGoods
.
getGoodsType
());
SkuProductBean
skuProduct
=
isSkuProduct
?
spuProduct
.
getSkuList
().
stream
().
filter
(
p
->
ObjectUtils
.
equals
(
cartGoods
.
getSkuId
(),
p
.
getSkuId
())).
findFirst
().
orElse
(
null
):
null
;
if
(
isSkuProduct
&&
skuProduct
==
null
){
//特殊场景前端传一个skuid非spuid下多规格商品
throw
new
ServiceException
(
CartResponseConstant
.
FAIL
);
}
cartGoods
.
setStockLimit
(
isSkuProduct
?
ObjectUtils
.
equals
(
1
,
skuProduct
.
getStockLimit
())
:
ObjectUtils
.
equals
(
1
,
spuProduct
.
getStockLimit
()));
cartGoods
.
setStockMode
(
spuProduct
.
getStockMode
());
}
catch
(
Exception
ex
)
{
ShoppingSdkLogUtil
.
errorLog
(
"updateCartGoodsInfoNew_Error cartGoods:{},productBeans:{}"
,
ex
,
JSONObject
.
toJSONString
(
cartGoods
),
JSONObject
.
toJSONString
(
productBeans
));
cartGoods
.
setCartGoodsUid
(
null
);
}
}
/**
* 更新当前购物车商品行信息
...
...
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/ProductServiceImpl.java
View file @
b6e1ffa8
...
...
@@ -14,7 +14,10 @@ import cn.freemud.entities.vo.GetMemberCouponRequestVo;
import
cn.freemud.entities.vo.ShoppingCartGoodsResponseVo
;
import
cn.freemud.service.ProductService
;
import
cn.freemud.service.thirdparty.ProductClient
;
import
com.freemud.sdk.api.assortment.shoppingcart.constant.*
;
import
com.freemud.sdk.api.assortment.shoppingcart.constant.ActivityChannelEnum
;
import
com.freemud.sdk.api.assortment.shoppingcart.constant.CommonsConstant
;
import
com.freemud.sdk.api.assortment.shoppingcart.constant.GoodsTypeEnum
;
import
com.freemud.sdk.api.assortment.shoppingcart.constant.ShoppingCartConstant
;
import
com.freemud.sdk.api.assortment.shoppingcart.domain.CartGoodsStates
;
import
com.freemud.sdk.api.assortment.shoppingcart.util.CartResponseUtil
;
import
com.freemud.sdk.api.assortment.shoppingcart.util.PropertyConvertUtil
;
...
...
@@ -55,7 +58,7 @@ public class ProductServiceImpl implements ProductService {
private
ShoppingCartConvertAdapter
shoppingCartConvertAdapter
;
@Override
public
boolean
hasRequiredProducts
(
String
partnerId
,
String
storeId
,
List
<
CartGoods
>
cartGoodsList
,
String
menuType
)
{
public
boolean
hasRequiredProducts
(
String
partnerId
,
String
storeId
,
List
<
CartGoods
>
cartGoodsList
,
String
menuType
)
{
RequiredProductRequest
request
=
RequiredProductRequest
.
builder
().
channel
(
menuType
).
partnerId
(
partnerId
).
shopId
(
storeId
).
build
();
ProductBaseResponse
<
List
<
String
>>
requiredProductList
=
productClient
.
getRequiredProductList
(
request
);
if
(
null
!=
requiredProductList
&&
ResponseCodeConstant
.
RESPONSE_SUCCESS
.
equals
(
requiredProductList
.
getErrcode
())
&&
...
...
@@ -76,15 +79,15 @@ public class ProductServiceImpl implements ProductService {
public
BaseResponse
<
CheckCartRequest
>
checkAllCartGoodsNew
(
CheckCartRequest
checkCartRequest
)
{
try
{
ValidateShopProductRequest
validateShopProductRequest
=
shoppingCartConvertAdapter
.
getValidateShopProductRequest
(
checkCartRequest
);
if
(
CollectionUtils
.
isEmpty
(
validateShopProductRequest
.
getProductTypeList
()))
{
if
(
CollectionUtils
.
isEmpty
(
validateShopProductRequest
.
getProductTypeList
()))
{
return
CartResponseUtil
.
success
(
checkCartRequest
);
}
ProductBaseResponse
<
ValiadShopProductResponse
>
valiadResponse
=
productClient
.
validateShopProduct
(
validateShopProductRequest
);
if
(
valiadResponse
==
null
||
!
Objects
.
equals
(
ResponseCodeConstant
.
RESPONSE_SUCCESS
,
valiadResponse
.
getErrcode
())
||
valiadResponse
.
getData
()==
null
)
{
if
(
valiadResponse
==
null
||
!
Objects
.
equals
(
ResponseCodeConstant
.
RESPONSE_SUCCESS
,
valiadResponse
.
getErrcode
())
||
valiadResponse
.
getData
()
==
null
)
{
checkCartRequest
.
getCartGoodsList
().
clear
();
checkCartRequest
.
getShoppingCartGoodsResponseVo
().
setChanged
(
true
);
checkCartRequest
.
getShoppingCartGoodsResponseVo
().
setToastMsg
(
ShoppingCartConstant
.
SHOPPING_CART_INVALIAD_GOODS
);
return
CartResponseUtil
.
error
(
valiadResponse
.
getErrmsg
(),
checkCartRequest
);
return
CartResponseUtil
.
error
(
valiadResponse
.
getErrmsg
(),
checkCartRequest
);
}
ValiadShopProductResponse
valiadResult
=
valiadResponse
.
getData
();
if
(
CollectionUtils
.
isEmpty
(
valiadResult
.
getSuccessList
()))
{
...
...
@@ -96,21 +99,21 @@ public class ProductServiceImpl implements ProductService {
Map
<
String
,
ValiadShopProductResult
>
successMap
=
valiadResult
.
getSuccessList
().
stream
().
collect
(
Collectors
.
toMap
(
ValiadShopProductResult:
:
getUuid
,
Function
.
identity
(),
(
k1
,
k2
)
->
k1
));
//非法商品(商品是否存在、商品是否处于上架状态)自动移除,返回前端提示
boolean
hasChange
=
false
;
for
(
CartGoods
cartGoods
:
checkCartRequest
.
getCartGoodsList
())
{
for
(
CartGoods
cartGoods
:
checkCartRequest
.
getCartGoodsList
())
{
// 当goodsId为空或商品是商品券时直接跳过
if
(
StringUtils
.
isEmpty
(
cartGoods
.
getGoodsId
())
||
Objects
.
equals
(
cartGoods
.
getGoodsType
(),
GoodsTypeEnum
.
COUPON_GOODS
.
getGoodsType
())
||
Objects
.
equals
(
cartGoods
.
getGoodsType
(),
GoodsTypeEnum
.
HG_COUPON_GOODS
.
getGoodsType
())
||
Objects
.
equals
(
cartGoods
.
getGoodsType
(),
GoodsTypeEnum
.
BUY_M_SEND_N_COUPON
.
getGoodsType
()))
{
continue
;
}
if
(!
successMap
.
containsKey
(
cartGoods
.
getCartGoodsUid
())){
if
(!
successMap
.
containsKey
(
cartGoods
.
getCartGoodsUid
()))
{
hasChange
=
true
;
cartGoods
.
setCartGoodsUid
(
null
);
checkCartRequest
.
getShoppingCartGoodsResponseVo
().
setChanged
(
true
);
checkCartRequest
.
getShoppingCartGoodsResponseVo
().
setToastMsg
(
ShoppingCartConstant
.
SHOPPING_CART_INVALIAD_GOODS
);
}
}
if
(
hasChange
){
if
(
hasChange
)
{
setToastMsgIfNotExist
(
checkCartRequest
.
getShoppingCartGoodsResponseVo
(),
ShoppingCartConstant
.
SHOPPING_CART_GOODS_CHANGE
);
checkCartRequest
.
getCartGoodsList
().
removeIf
(
k
->
StringUtils
.
isEmpty
(
k
.
getCartGoodsUid
()));
}
...
...
@@ -122,6 +125,8 @@ public class ProductServiceImpl implements ProductService {
if
(
StringUtils
.
isEmpty
(
cartGoods
.
getGoodsId
())
||
Objects
.
equals
(
cartGoods
.
getGoodsType
(),
GoodsTypeEnum
.
COUPON_GOODS
.
getGoodsType
())
||
Objects
.
equals
(
cartGoods
.
getGoodsType
(),
GoodsTypeEnum
.
HG_COUPON_GOODS
.
getGoodsType
())
||
Objects
.
equals
(
cartGoods
.
getGoodsType
(),
GoodsTypeEnum
.
BUY_M_SEND_N_COUPON
.
getGoodsType
()))
{
//商品券 如果是套餐 需要维护套餐的 stockMode stockLimit 用于库存扣减 【【礼赞】套餐商品创建页&编辑页新增库存模式选择】 https://www.tapd.cn/43862731/prong/stories/view/1143862731001053416
shoppingCartConvertAdapter
.
updateStockModelAndStockLimit
(
cartGoods
,
productList
);
continue
;
}
// fisherman 添加原有商品类型
...
...
@@ -151,10 +156,11 @@ public class ProductServiceImpl implements ProductService {
}
catch
(
Exception
e
)
{
checkCartRequest
.
getShoppingCartGoodsResponseVo
().
setChanged
(
true
);
checkCartRequest
.
getShoppingCartGoodsResponseVo
().
setToastMsg
(
ShoppingCartConstant
.
SHOPPING_CART_INVALIAD_GOODS
);
return
CartResponseUtil
.
error
(
e
.
getMessage
(),
checkCartRequest
);
return
CartResponseUtil
.
error
(
e
.
getMessage
(),
checkCartRequest
);
}
}
/**
* 当ToastMsg为空时才赋值
*
...
...
@@ -177,10 +183,10 @@ public class ProductServiceImpl implements ProductService {
private
CartGoodsStates
updateSpqCartGoodsInfo
(
List
<
CartGoods
>
cartGoodsList
,
Integer
orderWay
,
String
partnerId
,
String
trackingNo
,
CartGoodsStates
goodsStates
,
String
storeId
)
{
//获取所有商品券cartGoodsUid=sqp+code
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
());
.
filter
(
k
->
StringUtils
.
isNotBlank
(
k
.
getCouponCode
())).
map
(
CartGoods:
:
getCouponCode
).
collect
(
Collectors
.
toList
());
}
if
(
CollectionUtils
.
isEmpty
(
couponIds
))
{
return
goodsStates
;
...
...
@@ -194,7 +200,7 @@ public class ProductServiceImpl implements ProductService {
List
<
String
>
activityCode
;
Map
<
String
,
Boolean
>
couponOrderWayMap
;
detailsMap
=
detailVOList
.
stream
().
collect
(
Collectors
.
toMap
(
p
->
p
.
getCode
(),
(
p
)
->
p
,
(
v1
,
v2
)
->
v1
));
detailsMap
=
detailVOList
.
stream
().
collect
(
Collectors
.
toMap
(
p
->
p
.
getCode
(),
(
p
)
->
p
,
(
v1
,
v2
)
->
v1
));
activityCode
=
detailVOList
.
stream
().
map
(
p
->
p
.
getActiveCode
()).
collect
(
Collectors
.
toList
());
couponOrderWayMap
=
getCouponOrderWay
(
partnerId
,
activityCode
,
orderWay
,
trackingNo
);
//遍历商品券是否有当前点餐方式点餐
...
...
@@ -280,7 +286,7 @@ public class ProductServiceImpl implements ProductService {
List
<
CartGoods
>
cartGoodsByProduct
=
cartGoodsList
.
stream
()
.
filter
(
cartGoods
->
cartGoods
.
getCartGoodsUid
().
startsWith
(
CommonsConstant
.
COUPON_PREFIX
))
.
collect
(
Collectors
.
toList
());
if
(
CollectionUtils
.
isEmpty
(
cartGoodsByProduct
)){
if
(
CollectionUtils
.
isEmpty
(
cartGoodsByProduct
))
{
cartGoodsByProduct
=
cartGoodsList
.
stream
()
.
filter
(
cartGoods
->
StringUtils
.
isNotBlank
(
cartGoods
.
getCouponCode
()))
.
collect
(
Collectors
.
toList
());
...
...
shopping-cart-application-service/src/test/spock/cn/freemud/service/impl/ShoppingCartOldDiscountSpock.groovy
View file @
b6e1ffa8
...
...
@@ -4,15 +4,14 @@ import cn.freemud.adapter.ActivityAdapter
import
cn.freemud.adapter.CouponAdapter
import
cn.freemud.adapter.ShoppingCartConvertAdapter
import
cn.freemud.adapter.StoreItemAdapter
import
cn.freemud.base.entity.BaseResponse
import
cn.freemud.entities.dto.GetCouponDetailResponseDto
import
cn.freemud.entities.dto.ProductBaseResponse
import
cn.freemud.entities.dto.ProductInfosDto
import
cn.freemud.entities.dto.activity.ActivityQueryResponseDto
import
cn.freemud.entities.dto.calculate.ActivityCalculationDiscountResponseDto
import
cn.freemud.entities.dto.order.PackAmountConfig
import
cn.freemud.entities.dto.product.CheckCartRequest
import
cn.freemud.entities.dto.product.ValiadShopProductResponse
import
cn.freemud.entities.vo.CartGoods
import
cn.freemud.entities.vo.GetShoppingCartGoodsApportionRequestVo
import
cn.freemud.enums.ShoppingCartPromotionEnum
import
cn.freemud.handle.CommonFunctionHandle
...
...
@@ -35,6 +34,7 @@ import com.alibaba.fastjson.JSON
import
com.alibaba.fastjson.TypeReference
import
com.freemud.api.assortment.datamanager.entity.vo.AssortmentCustomerInfoVo
import
com.freemud.api.assortment.datamanager.manager.customer.AssortmentCustomerInfoManager
import
com.freemud.sdk.api.assortment.shoppingcart.service.impl.ShoppingCartBaseServiceImpl
import
org.junit.runner.RunWith
import
org.mockito.Mockito
import
org.powermock.api.mockito.PowerMockito
...
...
@@ -82,13 +82,15 @@ class ShoppingCartOldDiscountSpock extends Specification {
def
shoppingCartConvertAdapter
=
new
ShoppingCartConvertAdapter
()
def
assortmentSdkService
=
PowerMockito
.
mock
(
cn
.
freemud
.
service
.
impl
.
AssortmentSdkService
)
// def assortmentSdkService = PowerMockito.mock(cn.freemud.service.impl.AssortmentSdkService)
def
assortmentSdkService
=
new
AssortmentSdkService
()
def
customerInfoManager
=
PowerMockito
.
mock
(
AssortmentCustomerInfoManager
.
class
)
def
productService
=
PowerMockito
.
mock
(
ProductServiceImpl
.
class
)
def
productClient
=
PowerMockito
.
mock
(
ProductClient
.
class
)
def
activityClient
=
PowerMockito
.
mock
(
ActivityClient
.
class
)
def
couponOnlineClient
=
PowerMockito
.
mock
(
CouponOnlineClient
.
class
)
def
commonService
=
PowerMockito
.
mock
(
CommonService
.
class
)
def
shoppingCartBaseService
=
PowerMockito
.
mock
(
ShoppingCartBaseServiceImpl
)
def
activityService
=
PowerMockito
.
mock
(
ActivityService
)
def
activeFactory
=
PowerMockito
.
mock
(
ActiveFactory
)
...
...
@@ -120,11 +122,13 @@ class ShoppingCartOldDiscountSpock extends Specification {
shoppingCartNewServiceImpl
.
commonFunctionHandle
=
commonFunctionHandle
shoppingCartNewServiceImpl
.
sharingCartService
=
sharingCartService
setMealService
.
shoppingCartConvertAdapter
=
shoppingCartConvertAdapter
productServiceImpl
.
shoppingCartConvertAdapter
=
shoppingCartConvertAdapter
// fisherman 测试过程中, 需要测试 新老算价需要自己 控制开关
shoppingCartNewServiceImpl
.
newSharing
=
"{\"type\":1,\"grayList\":\"2692\",\"enable\":true}"
shoppingCartNewServiceImpl
.
activityClient
=
activityClient
shoppingCartNewServiceImpl
.
commonService
=
commonService
shoppingCartNewServiceImpl
.
sharingDiscountService
=
sharingDiscountService
assortmentSdkService
.
productServiceImpl
=
productServiceImpl
productServiceImpl
.
productClient
=
productClient
sharingDiscountService
.
activityClient
=
activityClient
sharingDiscountService
.
couponService
=
couponService
...
...
@@ -139,7 +143,7 @@ class ShoppingCartOldDiscountSpock extends Specification {
fullPromotionService
.
activityService
=
activityService
// mock静态类
PowerMockito
.
mockStatic
(
PromotionFactory
.
class
)
shoppingCartNewServiceImpl
.
shoppingCartBaseService
=
shoppingCartBaseService
// 组装计算活动参数对象
sharingCartService
.
calculationCommonService
=
calculationCommonService
calculationCommonService
.
commonFunctionHandle
=
commonFunctionHandle
...
...
@@ -169,14 +173,16 @@ class ShoppingCartOldDiscountSpock extends Specification {
def
activityCalculationDiscountResponseDto
=
JSON
.
parseObject
(
"{\"msg\":\"成功\",\"result\":{\"apportionGoods\":[{\"apportionAmount\":0,\"apportionDetails\":[],\"cartGoodsUid\":\"86882503-e8d6-4f86-9cbc-8570278d8842\",\"goodsId\":\"245793855683830582\",\"goodsQuantity\":1,\"nowPrice\":100,\"originalPrice\":100},{\"apportionAmount\":100,\"apportionDetails\":[{\"activityApportionAmount\":100,\"activityCode\":\"88710122343617250567\",\"activityName\":\"预发布俩套餐\",\"activityType\":32,\"apportionType\":1}],\"cartGoodsUid\":\"4b79984d-777e-45a1-8b3e-d548d7776ef4\",\"goodsId\":\"241152650474924095\",\"goodsQuantity\":1,\"nowPrice\":0,\"originalPrice\":100}],\"couponDiscounts\":[{\"activityName\":\"预发布俩套餐\",\"activityType\":32,\"actualGoodsNumber\":1,\"couponCode\":\"88710122343617250567\",\"discountAmount\":100,\"promotionSharing\":0,\"totalTimes\":1}],\"discounts\":[{\"activityName\":\"预发布俩套餐\",\"discount\":100}],\"exclusiveActivityList\":[],\"goods\":[{\"cartGoodType\":0,\"cartGoodsUid\":\"86882503-e8d6-4f86-9cbc-8570278d8842\",\"discountAmount\":0,\"discounts\":[],\"goodsId\":\"245793855683830582\",\"goodsQuantity\":1,\"meal\":false,\"memberDiscount\":100,\"nowPrice\":100,\"originalPrice\":100,\"realAmount\":100,\"score\":0,\"smallMaterial\":[]},{\"actualGoodsNumber\":1,\"cartGoodType\":0,\"cartGoodsUid\":\"4b79984d-777e-45a1-8b3e-d548d7776ef4\",\"discountAmount\":100,\"discounts\":[{\"activityCode\":\"88710122343617250567\",\"activityName\":\"预发布俩套餐\",\"actualGoodsNumber\":1,\"discount\":100,\"goodsId\":\"241152650474924095\",\"priority\":0,\"signleDiscount\":100,\"type\":32}],\"goodsId\":\"241152650474924095\",\"goodsQuantity\":1,\"meal\":false,\"memberDiscount\":100,\"nowPrice\":100,\"originalPrice\":100,\"realAmount\":0,\"score\":0,\"smallMaterial\":[]}],\"isScoreLimit\":0,\"nightDistributionFee\":0,\"originalTotalAmount\":200,\"stocks\":[],\"totalAmount\":100,\"totalDiscountAmount\":100,\"v3Promotion\":false},\"statusCode\":100,\"ver\":1}"
,
ActivityCalculationDiscountResponseDto
.
class
)
BaseResponse
<
List
<
com
.
freemud
.
sdk
.
api
.
assortment
.
shoppingcart
.
domain
.
CartGoods
>>
baseResponseShoppcartGoods
=
new
BaseResponse
<>();
baseResponseShoppcartGoods
.
setCode
(
"100"
)
def
goodList
=
JSON
.
parseArray
(
"[{\"addCartTime\":1667272352952,\"amount\":0,\"canUseCoupon\":1,\"cartGoodsUid\":\"531c7908-48c8-4098-b45f-0b7a35661e85\",\"classificationForeignName\":\"\",\"classificationId\":\"\",\"classificationName\":\"\",\"couponCode\":\"88710122343617250567\",\"createTimeMili\":1667272352952,\"customerCode\":\"bnjui875\",\"extra\":[],\"finalPrice\":100,\"foreignName\":\"\",\"goodsId\":\"spq88710122343617250567\",\"goodsType\":2,\"isB3S1Coupon\":0,\"isB3S1CouponGoods\":0,\"isMonthCard\":0,\"isMonthCardGoods\":0,\"isSunnyCoupon\":0,\"isUseMonthCard\":0,\"linkedId\":\"\",\"materialAmount\":0,\"memberDiscount\":100,\"stockMode\":2,\"name\":\"只有固定套餐\",\"originalAmount\":0,\"originalMaterialAmount\":0,\"originalPrice\":0,\"originalProductType\":7,\"packPrice\":0,\"pic\":\"https://picture.sandload.cn/1652755219677.png\",\"productComboList\":[{\"amount\":100,\"customerCode\":\"hlsnmc001\",\"extra\":[],\"finalPrice\":100,\"foreignName\":\"\",\"goodsId\":\"218530585442843686\",\"linkedId\":\"\",\"name\":\"柠檬茶\",\"originalAmount\":100,\"originalPrice\":100,\"originalProductType\":1,\"pic\":\"https://picture.sandload.cn/1631171610655.png\",\"qty\":1,\"skuId\":\"218530585442843686\",\"spuForeignName\":\"\",\"spuName\":\"柠檬茶\",\"tax\":0.0,\"taxId\":\"\",\"unit\":\"\",\"weight\":0.0,\"weightType\":false},{\"amount\":100,\"customerCode\":\"903\",\"extra\":[],\"finalPrice\":100,\"foreignName\":\"\",\"goodsId\":\"215058511331065876\",\"linkedId\":\"\",\"name\":\"柚子茶\",\"originalAmount\":100,\"originalPrice\":100,\"originalProductType\":1,\"pic\":\"https://picture.sandload.cn/1627894433448.png\",\"qty\":1,\"skuId\":\"215058511331065876\",\"spuForeignName\":\"\",\"spuName\":\"柚子茶\",\"tax\":0.0,\"taxId\":\"\",\"unit\":\"\",\"weight\":0.0,\"weightType\":false},{\"amount\":100,\"customerCode\":\"xy66\",\"extra\":[{\"attributeId\":\"245793500277383947\",\"attributeName\":\"正常糖\"},{\"attributeId\":\"245793437248529157\",\"attributeName\":\"☆[微笑]🌶️辣\"},{\"attributeId\":\"218527006041635865\",\"attributeName\":\"花生酱\"}],\"finalPrice\":100,\"foreignName\":\"\",\"goodsId\":\"245793855683830582\",\"linkedId\":\"\",\"name\":\"薯条🌶\",\"originalAmount\":100,\"originalPrice\":100,\"originalProductType\":1,\"pic\":\"https://picture.sandload.cn/1657160747233.png\",\"qty\":1,\"skuId\":\"245793855683830582\",\"specProductId\":\"245793500277383947/245793437248529157/218527006041635865\",\"spuForeignName\":\"\",\"spuName\":\"薯条🌶\",\"subName\":\"正常糖/☆[微笑]🌶️辣/花生酱\",\"tax\":0.0,\"taxId\":\"\",\"unit\":\"\",\"weight\":0.0,\"weightType\":false}],\"productGroupList\":[],\"productMaterialList\":[],\"qty\":1,\"riseSell\":1,\"singleOrder\":0,\"skuForeignName\":\"\",\"skuId\":\"241152650474924095\",\"skuName\":\"只有固定套餐\",\"spuForeignName\":\"\",\"spuId\":\"241152650474924095\",\"spuName\":\"只有固定套餐\",\"stockLimit\":false,\"subForeignName\":\"\",\"subName\":\"\",\"unit\":\"\",\"weight\":0.0,\"weightType\":false},{\"addCartTime\":1667272357246,\"amount\":100,\"canUseCoupon\":1,\"cartGoodsUid\":\"7f51c2b9-82ad-4be9-9511-82bfbe57575c\",\"classificationForeignName\":\"\",\"classificationId\":\"\",\"classificationName\":\"\",\"createTimeMili\":1667272357246,\"customerCode\":\"xy66\",\"extra\":[{\"attributeId\":\"245793500277383947\",\"attributeName\":\"正常糖\"},{\"attributeId\":\"245793437248529157\",\"attributeName\":\"☆[微笑]🌶️辣\"},{\"attributeId\":\"218527006041635865\",\"attributeName\":\"花生酱\"}],\"finalPrice\":100,\"foreignName\":\"\",\"goodsId\":\"245793855683830582\",\"goodsType\":5,\"isB3S1Coupon\":0,\"isB3S1CouponGoods\":0,\"isMonthCard\":0,\"isMonthCardGoods\":0,\"isSunnyCoupon\":0,\"isUseMonthCard\":0,\"linkedId\":\"\",\"materialAmount\":0,\"memberDiscount\":100,\"name\":\"薯条🌶\",\"originalAmount\":100,\"originalMaterialAmount\":0,\"originalPrice\":100,\"originalProductType\":1,\"packPrice\":0,\"pic\":\"https://picture.sandload.cn/1657160747233.png\",\"productComboList\":[],\"productGroupList\":[],\"productMaterialList\":[],\"qty\":1,\"riseSell\":1,\"singleOrder\":0,\"skuForeignName\":\"\",\"skuId\":\"\",\"skuName\":\"薯条🌶\",\"specProductId\":\"245793500277383947/245793437248529157/218527006041635865\",\"spuForeignName\":\"\",\"spuId\":\"245793855683830582\",\"spuName\":\"薯条🌶\",\"stockLimit\":true,\"subForeignName\":\"\",\"subName\":\"正常糖/☆[微笑]🌶️辣/花生酱\",\"unit\":\"\",\"weight\":0.0,\"weightType\":false}]"
,
CartGoods
.
class
)
,
com
.
freemud
.
sdk
.
api
.
assortment
.
shoppingcart
.
domain
.
CartGoods
.
class
)
baseResponseShoppcartGoods
.
setResult
(
goodList
)
def
responseDto
=
JSON
.
parseObject
(
"{\"details\":[{\"active\":{\"ActiveCode\":\"G1643164091158349\",\"ActiveDesc\":\"\\\"优惠券规则:\\n\\n券有效时间:领取后当日生效,有效期45天(具体以门店营业时间为准)\\n\\n使用范围:全国范围内已上线华莱士官方点餐小程序的华莱士门店(湖南省、湖北省、吉林省、新疆自治区除外,广东省、河北省、安徽省、海南省、北京市部分门店可用)\\n\\n活动规则:\\n1、在券有效期内,可凭本券在“华莱士官方点餐”小程序获得一次鸡米花买一送一权益。\\n2、本代金券仅限在“华莱士官方点餐”小程序上使用,与特价折扣商品不可同享,且不支持任何形式的核销后退款、变现、找零或转让。\\n3、产品规格以门店售卖为准。\\n4、 若因不可抗力因素致使本活动因故无法进行,主办方将在法律允许范围内取消、终止、修改或暂停本活动,且不承担任何违约或赔偿责任,尽管有上述约定,主办方将采取合理行动积极促使活动恢复正常。\\n如有疑问,可联系电话:4008899096。\\\"\\n\",\"ActiveId\":158770339,\"ActiveName\":\"鸡米花买一送一券\",\"AppId\":\"{\\\"apps\\\":[{\\\"appId\\\":\\\"wx3f7ca0c75b213380\\\",\\\"appName\\\":\\\"华莱士官方点餐\\\"},{\\\"appId\\\":\\\"2021002109662866\\\",\\\"appName\\\":\\\"华莱士官方点餐支付宝\\\"}]}\",\"BuyCount\":2,\"CreateDate\":\"2022-01-26 10:28:11\",\"CreateUser\":\"Rena\",\"DailyRedeemTimes\":1,\"EBCode\":\"\",\"Effective\":45,\"EffectiveEnd\":1676476799000,\"EffectiveStart\":1643126400000,\"EndDate\":\"2032-01-24 15:35:23\",\"EndString\":\"2032-01-24 15:35:23\",\"FromDayEffective\":0,\"GiftCount\":1,\"Inventory\":0,\"LastEditDate\":\"2022-03-02 13:53:16\",\"LastEditUser\":\"Rena\",\"LimitType\":1,\"MaxDiscount\":0,\"MaxRedeemTimes\":1,\"MerchantDiscountPrice\":0.00,\"MinAmount\":0.00,\"NoticeType\":0,\"OriginalPrice\":0,\"OtherDiscountPrice\":0.00,\"PartnerID\":2581,\"PlatformDiscountPrice\":0.00,\"RedeemChannel\":\"pickup,delivery\",\"Remain\":0,\"SalePrice\":0,\"StartDate\":\"2022-01-24 15:35:23\",\"StartString\":\"2022-01-24 15:35:23\",\"State\":1,\"Type\":7,\"VoucherFaceValue\":0.00,\"couponKind\":0,\"createType\":0,\"exemptionRule\":21,\"isDonate\":0,\"isMarketingTransfer\":0,\"logo\":\"https://picture.sandload.cn/1643095730650.jpg\",\"productScopeDesc\":\"全场通用\",\"promotionSharing\":0,\"remark\":\"\",\"storeScopeDesc\":\"全门店通用\"},\"activeCode\":\"G1643164091158349\",\"activeOrganizes\":[],\"activeProduct\":[{\"ActiveID\":158770339,\"Amount\":2,\"ID\":101092250,\"MerchantDiscountPrice\":0.00,\"OtherDiscountPrice\":0,\"Paid\":0.00,\"PlatformDiscountPrice\":0.00,\"Price_Discount\":0.00,\"Price_Original\":0.00,\"ProductID\":1234567,\"ProductID_Partner\":\"210794556366562343\",\"Remain\":0,\"exchangePrice\":0,\"kgdProductId\":210794556366562343},{\"ActiveID\":158770339,\"Amount\":2,\"ID\":102707818,\"MerchantDiscountPrice\":0.00,\"OtherDiscountPrice\":0,\"Paid\":0.00,\"PlatformDiscountPrice\":0.00,\"Price_Discount\":0.00,\"Price_Original\":0.00,\"ProductID\":1234567,\"ProductID_Partner\":\"202721754691430443\",\"Remain\":0,\"exchangePrice\":0,\"kgdProductId\":202721754691430443},{\"ActiveID\":158770339,\"Amount\":2,\"ID\":106896658,\"MerchantDiscountPrice\":0.00,\"OtherDiscountPrice\":0,\"Paid\":0.00,\"PlatformDiscountPrice\":0.00,\"Price_Discount\":0.00,\"Price_Original\":0.00,\"ProductID\":1234567,\"ProductID_Partner\":\"210401734183578909\",\"Remain\":0,\"exchangePrice\":0,\"kgdProductId\":210401734183578909},{\"ActiveID\":158770339,\"Amount\":2,\"ID\":108664259,\"MerchantDiscountPrice\":0.00,\"OtherDiscountPrice\":0,\"Paid\":0.00,\"PlatformDiscountPrice\":0.00,\"Price_Discount\":0.00,\"Price_Original\":0.00,\"ProductID\":1234567,\"ProductID_Partner\":\"201892530732737281\",\"Remain\":0,\"exchangePrice\":0,\"kgdProductId\":201892530732737281},{\"ActiveID\":158770339,\"Amount\":2,\"ID\":109930762,\"MerchantDiscountPrice\":0.00,\"OtherDiscountPrice\":0,\"Paid\":0.00,\"PlatformDiscountPrice\":0.00,\"Price_Discount\":0.00,\"Price_Original\":0.00,\"ProductID\":1234567,\"ProductID_Partner\":\"196181856362935850\",\"Remain\":0,\"exchangePrice\":0,\"kgdProductId\":196181856362935850},{\"ActiveID\":158770339,\"Amount\":2,\"ID\":110136846,\"MerchantDiscountPrice\":0.00,\"OtherDiscountPrice\":0,\"Paid\":0.00,\"PlatformDiscountPrice\":0.00,\"Price_Discount\":0.00,\"Price_Original\":0.00,\"ProductID\":1234567,\"ProductID_Partner\":\"205739042253494553\",\"Remain\":0,\"exchangePrice\":0,\"kgdProductId\":205739042253494553},{\"ActiveID\":158770339,\"Amount\":2,\"ID\":111281004,\"MerchantDiscountPrice\":0.00,\"OtherDiscountPrice\":0,\"Paid\":0.00,\"PlatformDiscountPrice\":0.00,\"Price_Discount\":0.00,\"Price_Original\":0.00,\"ProductID\":1234567,\"ProductID_Partner\":\"202543005601654827\",\"Remain\":0,\"exchangePrice\":0,\"kgdProductId\":202543005601654827},{\"ActiveID\":158770339,\"Amount\":2,\"ID\":114626445,\"MerchantDiscountPrice\":0.00,\"OtherDiscountPrice\":0,\"Paid\":0.00,\"PlatformDiscountPrice\":0.00,\"Price_Discount\":0.00,\"Price_Original\":0.00,\"ProductID\":1234567,\"ProductID_Partner\":\"201893297779668538\",\"Remain\":0,\"exchangePrice\":0,\"kgdProductId\":201893297779668538},{\"ActiveID\":158770339,\"Amount\":2,\"ID\":115395628,\"MerchantDiscountPrice\":0.00,\"OtherDiscountPrice\":0,\"Paid\":0.00,\"PlatformDiscountPrice\":0.00,\"Price_Discount\":0.00,\"Price_Original\":0.00,\"ProductID\":1234567,\"ProductID_Partner\":\"202522421465524768\",\"Remain\":0,\"exchangePrice\":0,\"kgdProductId\":202522421465524768},{\"ActiveID\":158770339,\"Amount\":2,\"ID\":115820199,\"MerchantDiscountPrice\":0.00,\"OtherDiscountPrice\":0,\"Paid\":0.00,\"PlatformDiscountPrice\":0.00,\"Price_Discount\":0.00,\"Price_Original\":0.00,\"ProductID\":1234567,\"ProductID_Partner\":\"200624575557483286\",\"Remain\":0,\"exchangePrice\":0,\"kgdProductId\":200624575557483286},{\"ActiveID\":158770339,\"Amount\":2,\"ID\":117240395,\"MerchantDiscountPrice\":0.00,\"OtherDiscountPrice\":0,\"Paid\":0.00,\"PlatformDiscountPrice\":0.00,\"Price_Discount\":0.00,\"Price_Original\":0.00,\"ProductID\":1234567,\"ProductID_Partner\":\"202011967089649173\",\"Remain\":0,\"exchangePrice\":0,\"kgdProductId\":202011967089649173},{\"ActiveID\":158770339,\"Amount\":2,\"ID\":117999939,\"MerchantDiscountPrice\":0.00,\"OtherDiscountPrice\":0,\"Paid\":0.00,\"PlatformDiscountPrice\":0.00,\"Price_Discount\":0.00,\"Price_Original\":0.00,\"ProductID\":1234567,\"ProductID_Partner\":\"201889966261817090\",\"Remain\":0,\"exchangePrice\":0,\"kgdProductId\":201889966261817090},{\"ActiveID\":158770339,\"Amount\":2,\"ID\":123936211,\"MerchantDiscountPrice\":0.00,\"OtherDiscountPrice\":0,\"Paid\":0.00,\"PlatformDiscountPrice\":0.00,\"Price_Discount\":0.00,\"Price_Original\":0.00,\"ProductID\":1234567,\"ProductID_Partner\":\"201271922131126554\",\"Remain\":0,\"exchangePrice\":0,\"kgdProductId\":201271922131126554},{\"ActiveID\":158770339,\"Amount\":2,\"ID\":124066993,\"MerchantDiscountPrice\":0.00,\"OtherDiscountPrice\":0,\"Paid\":0.00,\"PlatformDiscountPrice\":0.00,\"Price_Discount\":0.00,\"Price_Original\":0.00,\"ProductID\":1234567,\"ProductID_Partner\":\"210802942716994352\",\"Remain\":0,\"exchangePrice\":0,\"kgdProductId\":210802942716994352},{\"ActiveID\":158770339,\"Amount\":2,\"ID\":125896835,\"MerchantDiscountPrice\":0.00,\"OtherDiscountPrice\":0,\"Paid\":0.00,\"PlatformDiscountPrice\":0.00,\"Price_Discount\":0.00,\"Price_Original\":0.00,\"ProductID\":1234567,\"ProductID_Partner\":\"205705620076274750\",\"Remain\":0,\"exchangePrice\":0,\"kgdProductId\":205705620076274750},{\"ActiveID\":158770339,\"Amount\":2,\"ID\":126390048,\"MerchantDiscountPrice\":0.00,\"OtherDiscountPrice\":0,\"Paid\":0.00,\"PlatformDiscountPrice\":0.00,\"Price_Discount\":0.00,\"Price_Original\":0.00,\"ProductID\":1234567,\"ProductID_Partner\":\"201274763745872130\",\"Remain\":0,\"exchangePrice\":0,\"kgdProductId\":201274763745872130},{\"ActiveID\":158770339,\"Amount\":2,\"ID\":126672465,\"MerchantDiscountPrice\":0.00,\"OtherDiscountPrice\":0,\"Paid\":0.00,\"PlatformDiscountPrice\":0.00,\"Price_Discount\":0.00,\"Price_Original\":0.00,\"ProductID\":1234567,\"ProductID_Partner\":\"202529859526748216\",\"Remain\":0,\"exchangePrice\":0,\"kgdProductId\":202529859526748216},{\"ActiveID\":158770339,\"Amount\":2,\"ID\":127065845,\"MerchantDiscountPrice\":0.00,\"OtherDiscountPrice\":0,\"Paid\":0.00,\"PlatformDiscountPrice\":0.00,\"Price_Discount\":0.00,\"Price_Original\":0.00,\"ProductID\":1234567,\"ProductID_Partner\":\"202539418023664675\",\"Remain\":0,\"exchangePrice\":0,\"kgdProductId\":202539418023664675},{\"ActiveID\":158770339,\"Amount\":2,\"ID\":128117060,\"MerchantDiscountPrice\":0.00,\"OtherDiscountPrice\":0,\"Paid\":0.00,\"PlatformDiscountPrice\":0.00,\"Price_Discount\":0.00,\"Price_Original\":0.00,\"ProductID\":1234567,\"ProductID_Partner\":\"210243929020483597\",\"Remain\":0,\"exchangePrice\":0,\"kgdProductId\":210243929020483597},{\"ActiveID\":158770339,\"Amount\":2,\"ID\":129635517,\"MerchantDiscountPrice\":0.00,\"OtherDiscountPrice\":0,\"Paid\":0.00,\"PlatformDiscountPrice\":0.00,\"Price_Discount\":0.00,\"Price_Original\":0.00,\"ProductID\":1234567,\"ProductID_Partner\":\"206150230788338465\",\"Remain\":0,\"exchangePrice\":0,\"kgdProductId\":206150230788338465},{\"ActiveID\":158770339,\"Amount\":2,\"ID\":134711312,\"MerchantDiscountPrice\":0.00,\"OtherDiscountPrice\":0,\"Paid\":0.00,\"PlatformDiscountPrice\":0.00,\"Price_Discount\":0.00,\"Price_Original\":0.00,\"ProductID\":1234567,\"ProductID_Partner\":\"200463475075688706\",\"Remain\":0,\"exchangePrice\":0,\"kgdProductId\":200463475075688706},{\"ActiveID\":158770339,\"Amount\":2,\"ID\":136288590,\"MerchantDiscountPrice\":0.00,\"OtherDiscountPrice\":0,\"Paid\":0.00,\"PlatformDiscountPrice\":0.00,\"Price_Discount\":0.00,\"Price_Original\":0.00,\"ProductID\":1234567,\"ProductID_Partner\":\"201897415072052794\",\"Remain\":0,\"exchangePrice\":0,\"kgdProductId\":201897415072052794},{\"ActiveID\":158770339,\"Amount\":2,\"ID\":137630535,\"MerchantDiscountPrice\":0.00,\"OtherDiscountPrice\":0,\"Paid\":0.00,\"PlatformDiscountPrice\":0.00,\"Price_Discount\":0.00,\"Price_Original\":0.00,\"ProductID\":1234567,\"ProductID_Partner\":\"202540819597675521\",\"Remain\":0,\"exchangePrice\":0,\"kgdProductId\":202540819597675521},{\"ActiveID\":158770339,\"Amount\":2,\"ID\":140530255,\"MerchantDiscountPrice\":0.00,\"OtherDiscountPrice\":0,\"Paid\":0.00,\"PlatformDiscountPrice\":0.00,\"Price_Discount\":0.00,\"Price_Original\":0.00,\"ProductID\":1234567,\"ProductID_Partner\":\"201897810603308572\",\"Remain\":0,\"exchangePrice\":0,\"kgdProductId\":201897810603308572},{\"ActiveID\":158770339,\"Amount\":2,\"ID\":146050161,\"MerchantDiscountPrice\":0.00,\"OtherDiscountPrice\":0,\"Paid\":0.00,\"PlatformDiscountPrice\":0.00,\"Price_Discount\":0.00,\"Price_Original\":0.00,\"ProductID\":1234567,\"ProductID_Partner\":\"208982785000576831\",\"Remain\":0,\"exchangePrice\":0,\"kgdProductId\":208982785000576831},{\"ActiveID\":158770339,\"Amount\":2,\"ID\":147751575,\"MerchantDiscountPrice\":0.00,\"OtherDiscountPrice\":0,\"Paid\":0.00,\"PlatformDiscountPrice\":0.00,\"Price_Discount\":0.00,\"Price_Original\":0.00,\"ProductID\":1234567,\"ProductID_Partner\":\"202523893002430477\",\"Remain\":0,\"exchangePrice\":0,\"kgdProductId\":202523893002430477},{\"ActiveID\":158770339,\"Amount\":2,\"ID\":148992322,\"MerchantDiscountPrice\":0.00,\"OtherDiscountPrice\":0,\"Paid\":0.00,\"PlatformDiscountPrice\":0.00,\"Price_Discount\":0.00,\"Price_Original\":0.00,\"ProductID\":1234567,\"ProductID_Partner\":\"218142359735548461\",\"Remain\":0,\"exchangePrice\":0,\"kgdProductId\":218142359735548461},{\"ActiveID\":158770339,\"Amount\":2,\"ID\":156830621,\"MerchantDiscountPrice\":0.00,\"OtherDiscountPrice\":0,\"Paid\":0.00,\"PlatformDiscountPrice\":0.00,\"Price_Discount\":0.00,\"Price_Original\":0.00,\"ProductID\":1234567,\"ProductID_Partner\":\"196180894333253140\",\"Remain\":0,\"exchangePrice\":0,\"kgdProductId\":196180894333253140},{\"ActiveID\":158770339,\"Amount\":2,\"ID\":160705326,\"MerchantDiscountPrice\":0.00,\"OtherDiscountPrice\":0,\"Paid\":0.00,\"PlatformDiscountPrice\":0.00,\"Price_Discount\":0.00,\"Price_Original\":0.00,\"ProductID\":1234567,\"ProductID_Partner\":\"202538605917268002\",\"Remain\":0,\"exchangePrice\":0,\"kgdProductId\":202538605917268002},{\"ActiveID\":158770339,\"Amount\":2,\"ID\":162463116,\"MerchantDiscountPrice\":0.00,\"OtherDiscountPrice\":0,\"Paid\":0.00,\"PlatformDiscountPrice\":0.00,\"Price_Discount\":0.00,\"Price_Original\":0.00,\"ProductID\":1234567,\"ProductID_Partner\":\"202529566968801295\",\"Remain\":0,\"exchangePrice\":0,\"kgdProductId\":202529566968801295},{\"ActiveID\":158770339,\"Amount\":2,\"ID\":169597458,\"MerchantDiscountPrice\":0.00,\"OtherDiscountPrice\":0,\"Paid\":0.00,\"PlatformDiscountPrice\":0.00,\"Price_Discount\":0.00,\"Price_Original\":0.00,\"ProductID\":1234567,\"ProductID_Partner\":\"209226684733332798\",\"Remain\":0,\"exchangePrice\":0,\"kgdProductId\":209226684733332798},{\"ActiveID\":158770339,\"Amount\":2,\"ID\":171307549,\"MerchantDiscountPrice\":0.00,\"OtherDiscountPrice\":0,\"Paid\":0.00,\"PlatformDiscountPrice\":0.00,\"Price_Discount\":0.00,\"Price_Original\":0.00,\"ProductID\":1234567,\"ProductID_Partner\":\"213420606371245629\",\"Remain\":0,\"exchangePrice\":0,\"kgdProductId\":213420606371245629},{\"ActiveID\":158770339,\"Amount\":2,\"ID\":173136602,\"MerchantDiscountPrice\":0.00,\"OtherDiscountPrice\":0,\"Paid\":0.00,\"PlatformDiscountPrice\":0.00,\"Price_Discount\":0.00,\"Price_Original\":0.00,\"ProductID\":1234567,\"ProductID_Partner\":\"202526680993012751\",\"Remain\":0,\"exchangePrice\":0,\"kgdProductId\":202526680993012751},{\"ActiveID\":158770339,\"Amount\":2,\"ID\":176003576,\"MerchantDiscountPrice\":0.00,\"OtherDiscountPrice\":0,\"Paid\":0.00,\"PlatformDiscountPrice\":0.00,\"Price_Discount\":0.00,\"Price_Original\":0.00,\"ProductID\":1234567,\"ProductID_Partner\":\"202526989498738731\",\"Remain\":0,\"exchangePrice\":0,\"kgdProductId\":202526989498738731},{\"ActiveID\":158770339,\"Amount\":2,\"ID\":176541223,\"MerchantDiscountPrice\":0.00,\"OtherDiscountPrice\":0,\"Paid\":0.00,\"PlatformDiscountPrice\":0.00,\"Price_Discount\":0.00,\"Price_Original\":0.00,\"ProductID\":1234567,\"ProductID_Partner\":\"202530381634771974\",\"Remain\":0,\"exchangePrice\":0,\"kgdProductId\":202530381634771974},{\"ActiveID\":158770339,\"Amount\":2,\"ID\":178377691,\"MerchantDiscountPrice\":0.00,\"OtherDiscountPrice\":0,\"Paid\":0.00,\"PlatformDiscountPrice\":0.00,\"Price_Discount\":0.00,\"Price_Original\":0.00,\"ProductID\":1234567,\"ProductID_Partner\":\"202809932735654450\",\"Remain\":0,\"exchangePrice\":0,\"kgdProductId\":202809932735654450},{\"ActiveID\":158770339,\"Amount\":2,\"ID\":180645301,\"MerchantDiscountPrice\":0.00,\"OtherDiscountPrice\":0,\"Paid\":0.00,\"PlatformDiscountPrice\":0.00,\"Price_Discount\":0.00,\"Price_Original\":0.00,\"ProductID\":1234567,\"ProductID_Partner\":\"201276161287901451\",\"Remain\":0,\"exchangePrice\":0,\"kgdProductId\":201276161287901451},{\"ActiveID\":158770339,\"Amount\":2,\"ID\":184234583,\"MerchantDiscountPrice\":0.00,\"OtherDiscountPrice\":0,\"Paid\":0.00,\"PlatformDiscountPrice\":0.00,\"Price_Discount\":0.00,\"Price_Original\":0.00,\"ProductID\":1234567,\"ProductID_Partner\":\"205116588443264314\",\"Remain\":0,\"exchangePrice\":0,\"kgdProductId\":205116588443264314},{\"ActiveID\":158770339,\"Amount\":2,\"ID\":186250294,\"MerchantDiscountPrice\":0.00,\"OtherDiscountPrice\":0,\"Paid\":0.00,\"PlatformDiscountPrice\":0.00,\"Price_Discount\":0.00,\"Price_Original\":0.00,\"ProductID\":1234567,\"ProductID_Partner\":\"210240193529248544\",\"Remain\":0,\"exchangePrice\":0,\"kgdProductId\":210240193529248544},{\"ActiveID\":158770339,\"Amount\":2,\"ID\":187829982,\"MerchantDiscountPrice\":0.00,\"OtherDiscountPrice\":0,\"Paid\":0.00,\"PlatformDiscountPrice\":0.00,\"Price_Discount\":0.00,\"Price_Original\":0.00,\"ProductID\":1234567,\"ProductID_Partner\":\"202985175152355391\",\"Remain\":0,\"exchangePrice\":0,\"kgdProductId\":202985175152355391},{\"ActiveID\":158770339,\"Amount\":2,\"ID\":188803312,\"MerchantDiscountPrice\":0.00,\"OtherDiscountPrice\":0,\"Paid\":0.00,\"PlatformDiscountPrice\":0.00,\"Price_Discount\":0.00,\"Price_Original\":0.00,\"ProductID\":1234567,\"ProductID_Partner\":\"201890450460747316\",\"Remain\":0,\"exchangePrice\":0,\"kgdProductId\":201890450460747316},{\"ActiveID\":158770339,\"Amount\":2,\"ID\":189633316,\"MerchantDiscountPrice\":0.00,\"OtherDiscountPrice\":0,\"Paid\":0.00,\"PlatformDiscountPrice\":0.00,\"Price_Discount\":0.00,\"Price_Original\":0.00,\"ProductID\":1234567,\"ProductID_Partner\":\"201904128631273001\",\"Remain\":0,\"exchangePrice\":0,\"kgdProductId\":201904128631273001},{\"ActiveID\":158770339,\"Amount\":2,\"ID\":199438172,\"MerchantDiscountPrice\":0.00,\"OtherDiscountPrice\":0,\"Paid\":0.00,\"PlatformDiscountPrice\":0.00,\"Price_Discount\":0.00,\"Price_Original\":0.00,\"ProductID\":1234567,\"ProductID_Partner\":\"210137445573931030\",\"Remain\":0,\"exchangePrice\":0,\"kgdProductId\":210137445573931030},{\"ActiveID\":158770339,\"Amount\":1,\"ID\":1724328479,\"MerchantDiscountPrice\":0.00,\"OtherDiscountPrice\":0,\"Paid\":0.00,\"PlatformDiscountPrice\":0.00,\"Price_Discount\":0.00,\"Price_Original\":0.00,\"ProductID\":1234567,\"ProductID_Partner\":\"233056712980957721\",\"Remain\":0,\"exchangePrice\":0.00,\"kgdProductId\":233056712980957721}],\"activeProductSetting\":[],\"activeRedeemTimeIntervalList\":[],\"activeRestrictionVOS\":[],\"code\":\"88709227085491207040\",\"create_time\":\"2022-02-20 15:10:42\",\"limitStoreId\":null,\"lockStatus\":false,\"minAmount\":\"0\",\"sendReason\":\"手动送券,SWEET SUGA,17327190802\",\"status\":0,\"storelimit\":0,\"storeChannelLimit\":0,\"storeLimitLevel\":1,\"title\":\"鸡米花买一送一券\",\"today_available_times\":1,\"total_available_times\":1,\"type\":7,\"valid_ends\":\"2022-04-05 23:59:59\",\"valid_start\":\"2022-02-20 00:00:00\"}],\"errors\":[],\"result\":1,\"statusCode\":0,\"ver\":1}"
,
GetCouponDetailResponseDto
.
class
)
def
checkCartRequest
=
new
CheckCartRequest
()
checkCartRequest
.
setCartGoodsList
(
goodList
)
def
hasRequiredProducts
=
false
...
...
@@ -187,23 +193,18 @@ class ShoppingCartOldDiscountSpock extends Specification {
def
productBaseResponse
=
JSON
.
parseObject
(
"{\"data\":{\"failureList\":[],\"successList\":[{\"productType\":{\"additionalGroupList\":[],\"appIdList\":[],\"barcode\":\"\",\"brandId\":\"\",\"brandName\":\"\",\"businessNo\":\"\",\"businessType\":\"\",\"category\":\"\",\"categoryName\":\"\",\"companyId\":\"2692\",\"completeFlag\":2,\"customerCode\":\"bnjui875\",\"customerName\":\"\",\"detailImages\":[],\"detailText\":\"\",\"finalPrice\":100,\"foreignDetailText\":\"\",\"foreignName\":\"\",\"foreignRemark\":\"\",\"foreignUnit\":\"\",\"isDishware\":0,\"isRecommend\":0,\"isSkuProduct\":0,\"isUpdateSetMeal\":1,\"labelNames\":[],\"limitNumber\":0,\"limitType\":0,\"linkedId\":\"\",\"logisticsId\":\"\",\"maxLimitNumber\":0,\"maxNum\":0,\"memberDiscount\":0,\"memberPrice\":0,\"minLimitNumber\":0,\"minNum\":0,\"name\":\"只有固定套餐\",\"openMemberDiscount\":0,\"options\":\"\",\"originalPrice\":100,\"otherDesc\":\"\",\"packPrice\":0,\"partnerStatus\":2,\"picture\":\"https://picture.sandload.cn/1652755219677.png\",\"pid\":\"241152650474924095\",\"pknumber\":0,\"priceOrigin\":\"\",\"priceSource\":3,\"priceType\":1,\"productAttributeGroupList\":[],\"productBindingCouponTypes\":[],\"productCategoryDetailList\":[],\"productCode\":\"ui9087ty78\",\"productComboList\":[{\"additionalGroupTypeList\":[],\"barcode\":\"\",\"category\":\"\",\"categoryName\":\"\",\"customerCode\":\"hlsnmc001\",\"finalPrice\":100,\"foreignProductName\":\"\",\"foreignUnit\":\"\",\"isStaple\":0,\"isUpdateSetMeal\":1,\"labelNames\":[],\"linkedId\":\"\",\"options\":\"\",\"originalPrice\":100,\"packPrice\":0,\"picture\":\"https://picture.sandload.cn/1631171610655.png\",\"productAttributeGroupList\":[],\"productCode\":\"hlsnmc001\",\"productId\":\"218530585442843686\",\"productName\":\"柠檬茶\",\"productType\":1,\"quantity\":1,\"sequence\":0,\"specification\":\"\",\"status\":2,\"stockLimit\":1,\"tax\":0,\"taxId\":\"\",\"unit\":\"\",\"weight\":0.0,\"weightType\":0},{\"additionalGroupTypeList\":[],\"barcode\":\"\",\"category\":\"\",\"categoryName\":\"\",\"customerCode\":\"903\",\"finalPrice\":100,\"foreignProductName\":\"\",\"foreignUnit\":\"\",\"isStaple\":0,\"isUpdateSetMeal\":1,\"labelNames\":[],\"linkedId\":\"\",\"options\":\"\",\"originalPrice\":100,\"packPrice\":0,\"picture\":\"https://picture.sandload.cn/1627894433448.png\",\"productAttributeGroupList\":[],\"productCode\":\"123\",\"productId\":\"215058511331065876\",\"productName\":\"柚子茶\",\"productType\":1,\"quantity\":1,\"sequence\":1,\"specification\":\"\",\"status\":2,\"stockLimit\":1,\"tax\":0,\"taxId\":\"\",\"unit\":\"\",\"weight\":0.0,\"weightType\":0},{\"additionalGroupTypeList\":[],\"barcode\":\"\",\"category\":\"\",\"categoryName\":\"\",\"customerCode\":\"xy66\",\"finalPrice\":100,\"foreignProductName\":\"\",\"foreignUnit\":\"\",\"isStaple\":0,\"isUpdateSetMeal\":1,\"labelNames\":[],\"linkedId\":\"\",\"options\":\"\",\"originalPrice\":100,\"packPrice\":0,\"picture\":\"https://picture.sandload.cn/1657160747233.png\",\"productAttributeGroupList\":[{\"attributeName\":\"糖份\",\"attributeType\":248908,\"attributeValues\":[{\"attributeId\":\"245793500277383947\",\"attributeValue\":\"正常糖\",\"customerCode\":\"245793500277383948\",\"foreignAttributeValue\":\"\",\"id\":\"255939190464874758\",\"options\":\"\",\"price\":0,\"sequence\":2,\"status\":2},{\"attributeId\":\"218526879321226242\",\"attributeValue\":\"不另外加糖\",\"customerCode\":\"105\",\"foreignAttributeValue\":\"\",\"id\":\"255939190464874759\",\"options\":\"\",\"price\":0,\"sequence\":5,\"status\":2},{\"attributeId\":\"218526872413207553\",\"attributeValue\":\"七分糖\",\"customerCode\":\"104\",\"foreignAttributeValue\":\"\",\"id\":\"255939190464874760\",\"options\":\"\",\"price\":0,\"sequence\":8,\"status\":2},{\"attributeId\":\"218526863033695295\",\"attributeValue\":\"五分糖\",\"customerCode\":\"103\",\"foreignAttributeValue\":\"\",\"id\":\"255939190464874761\",\"options\":\"\",\"price\":0,\"sequence\":11,\"status\":2},{\"attributeId\":\"218526853085854782\",\"attributeValue\":\"三分糖\",\"customerCode\":\"102\",\"foreignAttributeValue\":\"\",\"id\":\"255939190464874762\",\"options\":\"\",\"price\":0,\"sequence\":14,\"status\":2},{\"attributeId\":\"218526844581903421\",\"attributeValue\":\"无糖\",\"customerCode\":\"101\",\"foreignAttributeValue\":\"\",\"id\":\"255939190464874763\",\"options\":\"\",\"price\":0,\"sequence\":17,\"status\":2}],\"customerCode\":\"A101\",\"foreignAttributeName\":\"\",\"maxNumber\":1,\"minNumber\":1,\"must\":1,\"options\":\"\",\"sequence\":2},{\"attributeName\":\"辣度\",\"attributeType\":248910,\"attributeValues\":[{\"attributeId\":\"245793437248529157\",\"attributeValue\":\"☆[微笑]🌶️辣\",\"customerCode\":\"245793437248529158\",\"foreignAttributeValue\":\"\",\"id\":\"255939190464874764\",\"options\":\"\",\"price\":0,\"sequence\":32,\"status\":2},{\"attributeId\":\"245793412317586179\",\"attributeValue\":\"变态辣\",\"customerCode\":\"245793412317586180\",\"foreignAttributeValue\":\"\",\"id\":\"255939190464874765\",\"options\":\"\",\"price\":0,\"sequence\":35,\"status\":2},{\"attributeId\":\"245793400144667393\",\"attributeValue\":\"麻辣\",\"customerCode\":\"245793400144667394\",\"foreignAttributeValue\":\"\",\"id\":\"255939190464874766\",\"options\":\"\",\"price\":0,\"sequence\":38,\"status\":2},{\"attributeId\":\"218526972654976010\",\"attributeValue\":\"重辣\",\"customerCode\":\"104\",\"foreignAttributeValue\":\"\",\"id\":\"255939190464874767\",\"options\":\"\",\"price\":0,\"sequence\":41,\"status\":2},{\"attributeId\":\"218526962395708425\",\"attributeValue\":\"中辣\",\"customerCode\":\"103\",\"foreignAttributeValue\":\"\",\"id\":\"255939190464874768\",\"options\":\"\",\"price\":0,\"sequence\":44,\"status\":2},{\"attributeId\":\"218526954094132232\",\"attributeValue\":\"微辣\",\"customerCode\":\"102\",\"foreignAttributeValue\":\"\",\"id\":\"255939190464874769\",\"options\":\"\",\"price\":0,\"sequence\":47,\"status\":2},{\"attributeId\":\"218526947679992839\",\"attributeValue\":\"不辣\",\"customerCode\":\"101\",\"foreignAttributeValue\":\"\",\"id\":\"255939190464874770\",\"options\":\"\",\"price\":0,\"sequence\":50,\"status\":2}],\"customerCode\":\"A103\",\"foreignAttributeName\":\"\",\"maxNumber\":1,\"minNumber\":1,\"must\":1,\"options\":\"\",\"sequence\":32},{\"attributeName\":\"调料\",\"attributeType\":248840,\"attributeValues\":[{\"attributeId\":\"218527006041635865\",\"attributeValue\":\"花生酱\",\"customerCode\":\"105\",\"foreignAttributeValue\":\"\",\"id\":\"255939190464874771\",\"options\":\"\",\"price\":0,\"sequence\":53,\"status\":2},{\"attributeId\":\"218526991815605272\",\"attributeValue\":\"芝麻酱\",\"customerCode\":\"104\",\"foreignAttributeValue\":\"\",\"id\":\"255939190464874772\",\"options\":\"\",\"price\":0,\"sequence\":56,\"status\":2},{\"attributeId\":\"215058820418764845\",\"attributeValue\":\"沙茶酱\",\"customerCode\":\"103\",\"foreignAttributeValue\":\"\",\"id\":\"255939190464874773\",\"options\":\"\",\"price\":0,\"sequence\":59,\"status\":2},{\"attributeId\":\"215058813881942060\",\"attributeValue\":\"芥末酱\",\"customerCode\":\"102\",\"foreignAttributeValue\":\"\",\"id\":\"255939190464874774\",\"options\":\"\",\"price\":0,\"sequence\":62,\"status\":2},{\"attributeId\":\"215058807050469419\",\"attributeValue\":\"番茄酱\",\"customerCode\":\"101\",\"foreignAttributeValue\":\"\",\"id\":\"255939190464874775\",\"options\":\"\",\"price\":0,\"sequence\":65,\"status\":2}],\"customerCode\":\"101\",\"foreignAttributeName\":\"\",\"maxNumber\":1,\"minNumber\":1,\"must\":1,\"options\":\"\",\"sequence\":53}],\"productCode\":\"12\",\"productId\":\"245793855683830582\",\"productName\":\"薯条🌶\",\"productType\":1,\"quantity\":1,\"sequence\":2,\"specification\":\"\",\"status\":2,\"stockLimit\":1,\"tax\":0,\"taxId\":\"\",\"unit\":\"\",\"weight\":0.0,\"weightType\":0}],\"productGroupList\":[],\"productPictureList\":[{\"sequence\":0,\"type\":\"default\",\"url\":\"https://picture.sandload.cn/1652755219677.png\"}],\"productSpecification\":[],\"remark\":\"\",\"riseSell\":1,\"sellTimeList\":[],\"sellTimeMonthList\":[],\"sellTimeRangeList\":[],\"sellTimeValid\":true,\"sequence\":0,\"singleOrder\":0,\"skuList\":[],\"skuSpecValues\":[],\"specProductId\":\"\",\"specification\":\"\",\"specificationGroupList\":[],\"specificationList\":[],\"status\":2,\"stock\":9999,\"stockLimit\":2,\"stockMode\":2,\"storeCode\":\"\",\"trueOriginalPrice\":0,\"type\":7,\"unit\":\"\",\"valid\":true,\"version\":0,\"weight\":0.0,\"weightType\":0},\"skuId\":\"241152650474924095\",\"spuId\":\"241152650474924095\",\"subProductTypeMap\":null,\"uuid\":\"2153465a-b886-4805-ab38-4a23db0a28e6\"}]},\"errcode\":100,\"errmsg\":\"获取门店必选分类商品成功\"}"
,
new
TypeReference
<
ProductBaseResponse
<
ValiadShopProductResponse
>>()
{})
// ProductBaseResponse productBaseResponse = new ProductBaseResponse();
// def successList = JSON.parseArray("[{\"productType\":{\"additionalGroupList\":[],\"appIdList\":[],\"barcode\":\"\",\"brandId\":\"\",\"brandName\":\"\",\"businessNo\":\"\",\"businessType\":\"\",\"category\":\"0102\",\"categoryName\":\"正价单品\",\"comboType\":0,\"companyId\":\"2581\",\"completeFlag\":2,\"customerCode\":\"hn80016\",\"customerName\":\"\",\"detailImages\":[],\"detailText\":\" \",\"finalPrice\":800,\"foreignDetailText\":\"\",\"foreignName\":\"\",\"foreignRawMaterial\":\"\",\"foreignRemark\":\"\",\"foreignUnit\":\"\",\"isDishware\":0,\"isLimitNumProduct\":0,\"isRecommend\":0,\"isSkuProduct\":0,\"isUpdateSetMeal\":1,\"labelNames\":[{\"backgroundColor\":\"\",\"endTime\":\"\",\"fontColor\":\"\",\"foreignName\":\"\",\"foreverShow\":0,\"id\":201728920800923959,\"isVisible\":1,\"labelDetail\":\"\",\"labelForm\":0,\"name\":\"辣味🌶🌶\",\"options\":\"\",\"partnerId\":\"2581\",\"productList\":[],\"startTime\":\"\",\"status\":0,\"storeId\":\"\",\"type\":\"0\"}],\"linkedId\":\"\",\"maxLimitNumber\":0,\"maxNum\":0,\"maxRestrictionQty\":0,\"memberDiscount\":100,\"memberPrice\":0,\"minLimitNumber\":0,\"minNum\":0,\"minRestrictionQty\":0,\"name\":\"鸡米花T\",\"openMemberDiscount\":0,\"options\":\"\",\"originalPrice\":800,\"otherDesc\":\"\",\"packPrice\":0,\"partnerStatus\":2,\"picture\":\"https://picture.sandload.cn/1619081297921.jpg\",\"pid\":\"201889966261817090\",\"pknumber\":1,\"priceOrigin\":\"\",\"priceSource\":2,\"productAttributeGroupList\":[],\"productBindingCouponTypes\":[],\"productCategoryDetailList\":[],\"productCode\":\"010200001\",\"productComboList\":[],\"productGroupList\":[],\"productPictureList\":[{\"sequence\":0,\"type\":\"default\",\"url\":\"https://picture.sandload.cn/1619081297921.jpg\"}],\"productSpecification\":[],\"productionLocation\":\"\",\"rawMaterial\":\"\",\"remark\":\"一口接一口,口口留香。\",\"riseSell\":1,\"saleCount\":0,\"salesChannel\":\"\",\"sellTimeList\":[],\"sellTimeMonthList\":[],\"sellTimeRangeList\":[],\"sellTimeValid\":true,\"sequence\":0,\"shopLongTermSalesVolume\":0,\"shopShortTermSalesVolume\":0,\"singleOrder\":0,\"skuList\":[],\"skuSpecValues\":[],\"sourceChannel\":\"\",\"specProductId\":\"\",\"specification\":\"\",\"specificationGroupList\":[],\"specificationList\":[],\"standardGoodsFlag\":2,\"status\":2,\"stock\":9999,\"stockLimit\":2,\"storeCondition\":\"\",\"storeProductName\":\"\",\"tax\":0.01,\"taxId\":\"\",\"trueOriginalPrice\":0,\"type\":1,\"unit\":\"\",\"valid\":true,\"version\":0,\"weight\":0.0,\"weightType\":0},\"skuId\":\"201889966261817090\",\"spuId\":\"201889966261817090\",\"subProductTypeMap\":null,\"uuid\":\"3bad199e-43a3-44bc-a42b-333415f09a58\"}]"
// , ValiadShopProductResult.class)
// ValiadShopProductResponse valiadShopProductResponse = new ValiadShopProductResponse();
// valiadShopProductResponse.setSuccessList(successList)
// valiadShopProductResponse.setFailureList(new ArrayList<ValiadShopProductResult>())
// productBaseResponse.setData(valiadShopProductResponse)
def
activityQueryResponseDto
=
JSON
.
parseObject
(
"{\"msg\":\"成功\",\"result\":[],\"statusCode\":\"100\",\"ver\":1}"
,
new
TypeReference
<
ActivityQueryResponseDto
>()
{})
def
packAmountByStoreConfig
=
new
PackAmountConfig
()
packAmountByStoreConfig
.
setNewPackAmount
(
0L
)
and:
"调三方反馈参数 为自己的参数对象 "
Mockito
.
when
(
assortmentSdkService
.
getShoppingCart
(
Mockito
.
any
(),
Mockito
.
any
(),
Mockito
.
any
(),
Mockito
.
any
(),
Mockito
.
any
(),
Mockito
.
any
(),
Mockito
.
any
())).
thenReturn
(
goodList
)
// Mockito.when(assortmentSdkService.getShoppingCart(Mockito.any(), Mockito.any(), Mockito.any(), Mockito.any(), Mockito.any(), shoppingCartBaseService, Mockito.any())).thenReturn(goodList)
assortmentSdkService
.
getShoppingCart
(
_
,
_
,
_
,
_
,
_
,
shoppingCartBaseService
,
_
)
>>
goodList
Mockito
.
when
(
shoppingCartBaseService
.
getCartGoodsList
(
Mockito
.
any
(),
Mockito
.
any
())).
thenReturn
(
baseResponseShoppcartGoods
)
Mockito
.
when
(
customerInfoManager
.
getCustomerInfoByObject
(
Mockito
.
any
())).
thenReturn
(
customerInfoVo
)
Mockito
.
when
(
productService
.
hasRequiredProducts
(
Mockito
.
any
(),
Mockito
.
any
(),
Mockito
.
any
(),
Mockito
.
any
())).
thenReturn
(
hasRequiredProducts
)
Mockito
.
when
(
assortmentSdkService
.
checkShoppingCartSdk
(
Mockito
.
any
(),
Mockito
.
any
(),
Mockito
.
any
(),
Mockito
.
any
(),
Mockito
.
any
(),
Mockito
.
any
(),
Mockito
.
any
(),
Mockito
.
any
())).
thenReturn
(
checkCartRequest
)
//
Mockito.when(assortmentSdkService.checkShoppingCartSdk(Mockito.any(), Mockito.any(), Mockito.any(), Mockito.any(), Mockito.any(), Mockito.any(), Mockito.any(), Mockito.any())).thenReturn(checkCartRequest)
Mockito
.
when
(
activityClient
.
calculationDiscount
(
Mockito
.
any
())).
thenReturn
(
activityCalculationDiscountResponseDto
)
Mockito
.
when
(
commonService
.
getOrgIdsAsString
(
Mockito
.
any
(),
Mockito
.
any
())).
thenReturn
(
null
)
Mockito
.
when
(
commonService
.
getOrgIdsForCoupon
(
Mockito
.
any
(),
Mockito
.
any
())).
thenReturn
([
"1e906bab-1800-4b00-8e36-29049d7f4efc"
,
"391cec83-2b60-49a9-af2c-d8d6a813ce72"
,
"16dc665e-8e03-41a8-83ae-95e92666d266"
])
...
...
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