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
jenkins
order-group
Commits
5ee2d2ae
Commit
5ee2d2ae
authored
Dec 31, 2019
by
shuhu.hou@freemud.cn
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
购物车校验fixbug
parent
2c1b33c4
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
85 additions
and
65 deletions
+85
-65
assortment-shoppingcart-sdk/src/main/java/com/freemud/sdk/api/assortment/shoppingcart/adapter/ShoppingCartAdapter.java
+59
-47
assortment-shoppingcart-sdk/src/main/java/com/freemud/sdk/api/assortment/shoppingcart/service/ShoppingCartBaseService.java
+11
-6
assortment-shoppingcart-sdk/src/main/java/com/freemud/sdk/api/assortment/shoppingcart/util/CartResponseUtil.java
+3
-0
shopping-cart-application-service/src/main/java/cn/freemud/service/CommonService.java
+0
-1
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/AssortmentSdkService.java
+1
-1
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/CustomerScoreService.java
+1
-1
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/ShoppingCartNewServiceImpl.java
+10
-9
No files found.
assortment-shoppingcart-sdk/src/main/java/com/freemud/sdk/api/assortment/shoppingcart/adapter/ShoppingCartAdapter.java
View file @
5ee2d2ae
...
@@ -162,16 +162,8 @@ public class ShoppingCartAdapter {
...
@@ -162,16 +162,8 @@ public class ShoppingCartAdapter {
cartGoods
.
setSkuName
(
productBean
.
getName
());
cartGoods
.
setSkuName
(
productBean
.
getName
());
cartGoods
.
setSpecProductId
(
attributes
.
get
(
ATTRIBUTEID
));
cartGoods
.
setSpecProductId
(
attributes
.
get
(
ATTRIBUTEID
));
String
skuSpecName
=
""
;
if
(
CollectionUtils
.
isNotEmpty
(
productBean
.
getSkuSpecValues
()))
{
List
<
String
>
skuSpecValus
=
productBean
.
getSkuSpecValues
().
stream
().
map
(
p
->
p
.
getSpecValue
()).
collect
(
Collectors
.
toList
());
skuSpecName
=
StringUtils
.
join
(
skuSpecValus
,
"/"
);
}
String
attributeName
=
attributes
.
get
(
ATTRIBUTENAME
)
==
null
?
""
:
attributes
.
get
(
ATTRIBUTENAME
);
cartGoods
.
setSubName
(
StringUtils
.
isNotEmpty
(
skuSpecName
)
&&
StringUtils
.
isNotEmpty
(
attributeName
)
?
skuSpecName
+
"/"
+
attributeName
:
skuSpecName
+
attributeName
);
String
attributeName
=
attributes
.
get
(
ATTRIBUTENAME
)
==
null
?
""
:
attributes
.
get
(
ATTRIBUTENAME
);
cartGoods
.
setPic
(
StringUtils
.
isBlank
(
productBean
.
getPicture
())
?
spuProduct
.
getPicture
()
:
productBean
.
getPicture
());
cartGoods
.
setPic
(
StringUtils
.
isBlank
(
productBean
.
getPicture
())
?
spuProduct
.
getPicture
()
:
productBean
.
getPicture
());
cartGoods
.
setPackPrice
(
productBean
.
getPackPrice
());
cartGoods
.
setPackPrice
(
productBean
.
getPackPrice
());
cartGoods
.
setStockLimit
(
ObjectUtils
.
equals
(
1
,
productBean
.
getStockLimit
()));
cartGoods
.
setStockLimit
(
ObjectUtils
.
equals
(
1
,
productBean
.
getStockLimit
()));
...
@@ -250,23 +242,20 @@ public class ShoppingCartAdapter {
...
@@ -250,23 +242,20 @@ public class ShoppingCartAdapter {
*
*
* @param cartGoods 当前购物车商品行
* @param cartGoods 当前购物车商品行
* @param productBeans 购物车中所有的productId对应的商品详情
* @param productBeans 购物车中所有的productId对应的商品详情
* @param cartGoodsStates 购物车状态
*/
*/
public
void
updateCartGoodsInfoNew
(
CartGoods
cartGoods
,
List
<
ProductBeanDTO
>
productBeans
,
CartGoodsStates
cartGoodsStates
,
List
<
String
>
invalidGoodsIdList
)
{
public
void
updateCartGoodsInfoNew
(
CartGoods
cartGoods
,
List
<
ProductBeanDTO
>
productBeans
)
{
Optional
<
ProductBeanDTO
>
firstProduct
=
productBeans
.
stream
().
filter
(
p
->
ObjectUtils
.
equals
(
p
.
getPid
(),
cartGoods
.
getSpuId
())).
findFirst
();
Optional
<
ProductBeanDTO
>
firstProduct
=
productBeans
.
stream
().
filter
(
p
->
ObjectUtils
.
equals
(
p
.
getPid
(),
cartGoods
.
getSpuId
())).
findFirst
();
if
(!
firstProduct
.
isPresent
())
{
if
(!
firstProduct
.
isPresent
())
{
return
;
return
;
}
}
ProductBeanDTO
spuProduct
=
firstProduct
.
get
();
ProductBeanDTO
spuProduct
=
firstProduct
.
get
();
// 如果是sku普通商品,则商品属相取sku对应的spu的属性
List
<
ProductBeanDTO
.
ProductAttributeGroupListBean
>
productAttributeGroupList
=
spuProduct
.
getProductAttributeGroupList
();
//是否是sku商品
//是否是sku商品
boolean
isSkuProduct
=
ObjectUtils
.
equals
(
GoodsTypeEnum
.
SKU_GOODS
.
getGoodsType
(),
cartGoods
.
getGoodsType
());
boolean
isSkuProduct
=
ObjectUtils
.
equals
(
GoodsTypeEnum
.
SKU_GOODS
.
getGoodsType
(),
cartGoods
.
getGoodsType
());
// 如果是套餐商品,更新套餐内固定商品&可选商品的详细信息
// 如果是套餐商品,更新套餐内固定商品&可选商品的详细信息
boolean
isSetMealProduct
=
ObjectUtils
.
equals
(
ProductType
.
SetMeal
.
getCode
(),
spuProduct
.
getType
())
||
ObjectUtils
.
equals
(
ProductType
.
IncreasedPackage
.
getCode
(),
spuProduct
.
getType
());
boolean
isSetMealProduct
=
ObjectUtils
.
equals
(
ProductType
.
SetMeal
.
getCode
(),
spuProduct
.
getType
())
||
ObjectUtils
.
equals
(
ProductType
.
IncreasedPackage
.
getCode
(),
spuProduct
.
getType
());
ProductBeanDTO
.
SkuProductBean
skuProduct
=
isSkuProduct
?
spuProduct
.
getSkuList
().
stream
().
filter
(
p
->
ObjectUtils
.
equals
(
cartGoods
.
getSkuId
(),
p
.
getSkuId
())).
findFirst
().
get
()
:
null
;
ProductBeanDTO
.
SkuProductBean
skuProduct
=
isSkuProduct
?
spuProduct
.
getSkuList
().
stream
().
filter
(
p
->
ObjectUtils
.
equals
(
cartGoods
.
getSkuId
(),
p
.
getSkuId
())).
findFirst
().
get
()
:
null
;
Map
<
String
,
String
>
attributes
=
getAttributes
(
cartGoods
,
cartGoods
.
getExtra
(),
productAttributeGroupList
,
invalidGoodsIdList
);
Map
<
String
,
String
>
attributes
=
getAttributes
New
(
cartGoods
.
getExtra
()
);
cartGoods
.
setName
(
spuProduct
.
getName
());
cartGoods
.
setName
(
spuProduct
.
getName
());
cartGoods
.
setSpuName
(
spuProduct
.
getName
());
cartGoods
.
setSpuName
(
spuProduct
.
getName
());
cartGoods
.
setSkuName
(
isSkuProduct
?
skuProduct
.
getProductName
():
spuProduct
.
getName
());
cartGoods
.
setSkuName
(
isSkuProduct
?
skuProduct
.
getProductName
():
spuProduct
.
getName
());
...
@@ -279,49 +268,22 @@ public class ShoppingCartAdapter {
...
@@ -279,49 +268,22 @@ public class ShoppingCartAdapter {
if
(
isSetMealProduct
)
{
if
(
isSetMealProduct
)
{
if
(
CollectionUtils
.
isNotEmpty
(
cartGoods
.
getProductComboList
()))
{
if
(
CollectionUtils
.
isNotEmpty
(
cartGoods
.
getProductComboList
()))
{
for
(
CartGoods
.
ComboxGoods
productCombo
:
cartGoods
.
getProductComboList
())
{
for
(
CartGoods
.
ComboxGoods
productCombo
:
cartGoods
.
getProductComboList
())
{
if
(!
updateComboxGoodsInfo
(
cartGoods
,
productCombo
,
firstProduct
.
get
(),
productBeans
,
cartGoodsStates
,
invalidGoodsIdList
))
{
updateComboxGoodsInfoNew
(
productCombo
,
spuProduct
,
true
);
return
;
}
}
}
}
}
if
(
CollectionUtils
.
isNotEmpty
(
cartGoods
.
getProductGroupList
()))
{
if
(
CollectionUtils
.
isNotEmpty
(
cartGoods
.
getProductGroupList
()))
{
List
<
String
>
productGroupIdList
=
new
ArrayList
<>();
spuProduct
.
getProductGroupList
().
stream
().
map
(
t
->
t
.
getGroupDetail
()).
forEach
(
t
->
t
.
stream
().
forEach
(
group
->
productGroupIdList
.
add
(
group
.
getProductId
())));
for
(
CartGoods
.
ComboxGoods
productGroup
:
cartGoods
.
getProductGroupList
())
{
for
(
CartGoods
.
ComboxGoods
productGroup
:
cartGoods
.
getProductGroupList
())
{
//如果套餐内可选商品移除,默认移除当前商品行
updateComboxGoodsInfoNew
(
productGroup
,
spuProduct
,
false
);
boolean
isExist
=
productGroupIdList
.
stream
().
anyMatch
(
p
->
ObjectUtils
.
equals
(
productGroup
.
getGoodsId
(),
p
));
if
(!
isExist
)
{
// 标记非法商品
invalidGoodsIdList
.
add
(
cartGoods
.
getCartGoodsUid
());
return
;
}
if
(!
updateComboxGoodsInfo
(
cartGoods
,
productGroup
,
firstProduct
.
get
(),
productBeans
,
cartGoodsStates
,
invalidGoodsIdList
))
{
return
;
}
}
}
}
}
}
}
//更新当前商品行价格
,check价格是否变更
//更新当前商品行价格
Long
newOrigOriginalPrice
=
0L
;
Long
newOrigOriginalPrice
=
0L
;
if
(
isSetMealProduct
)
{
if
(
isSetMealProduct
)
{
//如果是套餐,则当前商品行价格为:固定套餐价格* 数量+可选商品加价 价格
newOrigOriginalPrice
+=
cartGoods
.
getProductComboList
().
stream
().
mapToLong
(
t
->
t
.
getOriginalAmount
()).
sum
();
Map
<
String
,
Integer
>
productOriginalPrices
=
new
HashMap
<>();
newOrigOriginalPrice
+=
cartGoods
.
getProductGroupList
().
stream
().
mapToLong
(
t
->
t
.
getOriginalAmount
()).
sum
();
Map
<
String
,
Integer
>
productMarkUpPrices
=
new
HashMap
<>();
spuProduct
.
getProductGroupList
().
stream
().
map
(
t
->
t
.
getGroupDetail
()).
forEach
(
t
->
productMarkUpPrices
.
putAll
(
t
.
stream
().
collect
(
Collectors
.
toMap
(
ProductBeanDTO
.
ProductGroupType
.
GroupDetailType
::
getProductId
,
ProductBeanDTO
.
ProductGroupType
.
GroupDetailType
::
getMarkUpPrice
))));
spuProduct
.
getProductGroupList
().
stream
().
map
(
t
->
t
.
getGroupDetail
()).
forEach
(
t
->
productOriginalPrices
.
putAll
(
t
.
stream
().
collect
(
Collectors
.
toMap
(
ProductBeanDTO
.
ProductGroupType
.
GroupDetailType
::
getProductId
,
ProductBeanDTO
.
ProductGroupType
.
GroupDetailType
::
getProductFinalPrice
))));
if
(
CollectionUtils
.
isNotEmpty
(
cartGoods
.
getProductGroupList
()))
{
for
(
CartGoods
.
ComboxGoods
groupProduct
:
cartGoods
.
getProductGroupList
())
{
Integer
originalPrice
=
productOriginalPrices
.
get
(
groupProduct
.
getGoodsId
())
==
null
?
0
:
productOriginalPrices
.
get
(
groupProduct
.
getGoodsId
());
newOrigOriginalPrice
+=
originalPrice
*
groupProduct
.
getQty
();
}
}
newOrigOriginalPrice
+=
spuProduct
.
getProductComboList
().
stream
().
mapToInt
(
t
->
t
.
getQuantity
()
*
t
.
getFinalPrice
()).
sum
();
}
else
{
}
else
{
newOrigOriginalPrice
=
spuProduct
.
getFinalPrice
();
newOrigOriginalPrice
=
isSkuProduct
?
skuProduct
.
getFinalPrice
():
spuProduct
.
getFinalPrice
();
}
Long
oldOrigOriginalPrice
=
cartGoods
.
getOriginalPrice
();
if
(
null
!=
oldOrigOriginalPrice
&&
!
Objects
.
equals
(
newOrigOriginalPrice
,
oldOrigOriginalPrice
))
{
cartGoodsStates
.
setPriceChanged
(
true
);
}
}
cartGoods
.
setOriginalPrice
(
newOrigOriginalPrice
);
cartGoods
.
setOriginalPrice
(
newOrigOriginalPrice
);
cartGoods
.
setOriginalAmount
(
newOrigOriginalPrice
*
cartGoods
.
getQty
());
cartGoods
.
setOriginalAmount
(
newOrigOriginalPrice
*
cartGoods
.
getQty
());
...
@@ -378,6 +340,44 @@ public class ShoppingCartAdapter {
...
@@ -378,6 +340,44 @@ public class ShoppingCartAdapter {
return
true
;
return
true
;
}
}
/**
* 更新套餐固定商品、可选商品信息
*
* @param comboxGoods 固定商品或可选商品
* @param parentProductBean 套餐服商品
* @param isComboxGoods 是否是固定商品
* @return
*/
private
void
updateComboxGoodsInfoNew
(
CartGoods
.
ComboxGoods
comboxGoods
,
ProductBeanDTO
parentProductBean
,
boolean
isComboxGoods
)
{
ProductBeanDTO
.
ProductComboType
productComboType
=
new
ProductBeanDTO
.
ProductComboType
();
ProductBeanDTO
.
ProductGroupType
.
GroupDetailType
groupDetailType
=
new
ProductBeanDTO
.
ProductGroupType
.
GroupDetailType
();
if
(
isComboxGoods
){
productComboType
=
parentProductBean
.
getProductComboList
().
stream
().
filter
(
p
->
ObjectUtils
.
equals
(
comboxGoods
.
getGoodsId
(),
p
.
getProductId
())).
findFirst
().
orElse
(
new
ProductBeanDTO
.
ProductComboType
());
}
else
{
Map
<
String
,
ProductBeanDTO
.
ProductGroupType
.
GroupDetailType
>
map
=
new
HashMap
<>();
parentProductBean
.
getProductGroupList
().
stream
().
map
(
t
->
t
.
getGroupDetail
()).
forEach
(
group
->
group
.
forEach
(
detailType
->
map
.
put
(
detailType
.
getProductId
(),
detailType
)));
groupDetailType
=
map
.
get
(
comboxGoods
.
getGoodsId
());
}
// 若是固定商品则取商品详情的FinalPrice,若是可选商品则取MarkUpPrice
Long
finalPrice
=
isComboxGoods
?
productComboType
.
getFinalPrice
().
longValue
():
groupDetailType
.
getMarkUpPrice
().
longValue
();
// 设置商品详情
Map
<
String
,
String
>
attributes
=
getAttributesNew
(
comboxGoods
.
getExtra
());
comboxGoods
.
setName
(
isComboxGoods
?
productComboType
.
getProductName
():
groupDetailType
.
getProductName
());
comboxGoods
.
setSpuName
(
comboxGoods
.
getName
());
comboxGoods
.
setSpecProductId
(
attributes
.
get
(
ATTRIBUTEID
));
comboxGoods
.
setSubName
(
attributes
.
get
(
ATTRIBUTENAME
));
comboxGoods
.
setPic
(
isComboxGoods
?
productComboType
.
getPicture
():
groupDetailType
.
getPicture
());
comboxGoods
.
setOriginalPrice
(
isComboxGoods
?
productComboType
.
getFinalPrice
().
longValue
():
groupDetailType
.
getProductFinalPrice
().
longValue
());
comboxGoods
.
setOriginalAmount
(
comboxGoods
.
getOriginalPrice
()*
comboxGoods
.
getQty
());
comboxGoods
.
setAmount
(
finalPrice
*
comboxGoods
.
getQty
());
comboxGoods
.
setCustomerCode
(
isComboxGoods
?
productComboType
.
getCustomerCode
():
groupDetailType
.
getCustomerCode
());
comboxGoods
.
setFinalPrice
(
finalPrice
);
comboxGoods
.
setWeightType
(
isComboxGoods
?
CommonsConstant
.
WEIGHT_PRODUCT
.
equals
(
productComboType
.
getWeightType
()):
CommonsConstant
.
WEIGHT_PRODUCT
.
equals
(
groupDetailType
.
getWeightType
()));
comboxGoods
.
setUnit
(
isComboxGoods
?
productComboType
.
getUnit
():
groupDetailType
.
getUnit
());
}
private
Map
<
String
,
String
>
getAttributes
(
CartGoods
cartGoods
,
List
<
CartGoods
.
CartGoodsExtra
>
extra
,
List
<
ProductBeanDTO
.
ProductAttributeGroupListBean
>
attributeGroupListBeanList
,
List
<
String
>
invalidGoodsIdList
)
{
private
Map
<
String
,
String
>
getAttributes
(
CartGoods
cartGoods
,
List
<
CartGoods
.
CartGoodsExtra
>
extra
,
List
<
ProductBeanDTO
.
ProductAttributeGroupListBean
>
attributeGroupListBeanList
,
List
<
String
>
invalidGoodsIdList
)
{
if
(
CollectionUtils
.
isEmpty
(
extra
)
&&
CollectionUtils
.
isNotEmpty
(
attributeGroupListBeanList
))
{
if
(
CollectionUtils
.
isEmpty
(
extra
)
&&
CollectionUtils
.
isNotEmpty
(
attributeGroupListBeanList
))
{
invalidGoodsIdList
.
add
(
cartGoods
.
getCartGoodsUid
());
invalidGoodsIdList
.
add
(
cartGoods
.
getCartGoodsUid
());
...
@@ -414,6 +414,18 @@ public class ShoppingCartAdapter {
...
@@ -414,6 +414,18 @@ public class ShoppingCartAdapter {
return
result
;
return
result
;
}
}
private
Map
<
String
,
String
>
getAttributesNew
(
List
<
CartGoods
.
CartGoodsExtra
>
extra
)
{
if
(
CollectionUtils
.
isEmpty
(
extra
))
{
return
new
HashMap
<>();
}
List
<
String
>
attributeIds
=
extra
.
stream
().
map
(
CartGoods
.
CartGoodsExtra
::
getAttributeId
).
collect
(
Collectors
.
toList
());
List
<
String
>
attributeNames
=
extra
.
stream
().
map
(
CartGoods
.
CartGoodsExtra
::
getAttributeName
).
collect
(
Collectors
.
toList
());
Map
<
String
,
String
>
result
=
new
HashMap
<>();
result
.
put
(
ATTRIBUTEID
,
StringUtils
.
join
(
attributeIds
,
"/"
));
result
.
put
(
ATTRIBUTENAME
,
StringUtils
.
join
(
attributeNames
,
"/"
));
return
result
;
}
private
boolean
checkComboProductChange
(
List
<
CartGoods
.
ComboxGoods
>
comboxGoods
,
ProductBeanDTO
productBean
,
CartGoods
cartGoods
,
List
<
String
>
invalidGoodsIdList
)
{
private
boolean
checkComboProductChange
(
List
<
CartGoods
.
ComboxGoods
>
comboxGoods
,
ProductBeanDTO
productBean
,
CartGoods
cartGoods
,
List
<
String
>
invalidGoodsIdList
)
{
for
(
ProductBeanDTO
.
ProductComboType
product
:
productBean
.
getProductComboList
())
{
for
(
ProductBeanDTO
.
ProductComboType
product
:
productBean
.
getProductComboList
())
{
...
...
assortment-shoppingcart-sdk/src/main/java/com/freemud/sdk/api/assortment/shoppingcart/service/ShoppingCartBaseService.java
View file @
5ee2d2ae
...
@@ -178,7 +178,9 @@ public interface ShoppingCartBaseService {
...
@@ -178,7 +178,9 @@ public interface ShoppingCartBaseService {
ValidateShopProductRequest
validateShopProductRequest
=
shoppingCartAdapter
.
getValidateShopProductRequest
(
checkCartRequest
);
ValidateShopProductRequest
validateShopProductRequest
=
shoppingCartAdapter
.
getValidateShopProductRequest
(
checkCartRequest
);
com
.
freemud
.
application
.
sdk
.
api
.
base
.
BaseResponse
<
ValiadShopProductResponse
>
valiadResponse
=
productService
.
validateShopProduct
(
validateShopProductRequest
);
com
.
freemud
.
application
.
sdk
.
api
.
base
.
BaseResponse
<
ValiadShopProductResponse
>
valiadResponse
=
productService
.
validateShopProduct
(
validateShopProductRequest
);
if
(
valiadResponse
==
null
||
!
CartResponseConstant
.
SUCCESS
.
getCode
().
equals
(
valiadResponse
.
getCode
())
||
valiadResponse
.
getData
()==
null
)
{
if
(
valiadResponse
==
null
||
!
CartResponseConstant
.
SUCCESS
.
getCode
().
equals
(
valiadResponse
.
getCode
())
||
valiadResponse
.
getData
()==
null
)
{
return
CartResponseUtil
.
error
(
valiadResponse
.
getMessage
());
checkCartRequest
.
getShoppingCartGoodsResponseVo
().
setChanged
(
true
);
checkCartRequest
.
getShoppingCartGoodsResponseVo
().
setToastMsg
(
ShoppingCartConstant
.
SHOPPING_CART_INVALIAD_GOODS
);
return
CartResponseUtil
.
error
(
valiadResponse
.
getMessage
(),
checkCartRequest
);
}
}
ValiadShopProductResponse
valiadResult
=
valiadResponse
.
getData
();
ValiadShopProductResponse
valiadResult
=
valiadResponse
.
getData
();
//非法商品(商品是否存在、商品是否处于上架状态)自动移除,返回前端提示
//非法商品(商品是否存在、商品是否处于上架状态)自动移除,返回前端提示
...
@@ -198,14 +200,16 @@ public interface ShoppingCartBaseService {
...
@@ -198,14 +200,16 @@ public interface ShoppingCartBaseService {
CartGoodsStates
cartGoodsStates
=
new
CartGoodsStates
();
CartGoodsStates
cartGoodsStates
=
new
CartGoodsStates
();
//更新购物车详细信息
//更新购物车详细信息
if
(
CollectionUtils
.
isEmpty
(
checkCartRequest
.
getCartGoodsList
())
||
CollectionUtils
.
isEmpty
(
productList
)){
if
(
CollectionUtils
.
isEmpty
(
checkCartRequest
.
getCartGoodsList
())
||
CollectionUtils
.
isEmpty
(
productList
)){
return
CartResponseUtil
.
success
(
checkCartRequest
);
checkCartRequest
.
getShoppingCartGoodsResponseVo
().
setChanged
(
true
);
checkCartRequest
.
getShoppingCartGoodsResponseVo
().
setToastMsg
(
ShoppingCartConstant
.
SHOPPING_CART_INVALIAD_GOODS
);
return
CartResponseUtil
.
error
(
valiadResponse
.
getMessage
(),
checkCartRequest
);
}
}
for
(
CartGoods
cartGoods
:
checkCartRequest
.
getCartGoodsList
())
{
for
(
CartGoods
cartGoods
:
checkCartRequest
.
getCartGoodsList
())
{
// 当goodsId为空或商品是商品券时直接跳过
// 当goodsId为空或商品是商品券时直接跳过
if
(
StringUtils
.
isEmpty
(
cartGoods
.
getGoodsId
())
||
Objects
.
equals
(
cartGoods
.
getGoodsType
(),
GoodsTypeEnum
.
COUPON_GOODS
.
getGoodsType
()))
{
if
(
StringUtils
.
isEmpty
(
cartGoods
.
getGoodsId
())
||
Objects
.
equals
(
cartGoods
.
getGoodsType
(),
GoodsTypeEnum
.
COUPON_GOODS
.
getGoodsType
()))
{
continue
;
continue
;
}
}
shoppingCartAdapter
.
updateCartGoodsInfoNew
(
cartGoods
,
productList
,
cartGoodsStates
,
new
ArrayList
<>()
);
shoppingCartAdapter
.
updateCartGoodsInfoNew
(
cartGoods
,
productList
);
}
}
//校验商品券是否有当前点餐方式
//校验商品券是否有当前点餐方式
cartGoodsStates
=
updateSpqCartGoodsInfo
(
checkCartRequest
.
getCartGoodsList
(),
checkCartRequest
.
getOrderWay
(),
checkCartRequest
.
getPartnerId
(),
checkCartRequest
.
getTrackingNo
(),
cartGoodsStates
);
cartGoodsStates
=
updateSpqCartGoodsInfo
(
checkCartRequest
.
getCartGoodsList
(),
checkCartRequest
.
getOrderWay
(),
checkCartRequest
.
getPartnerId
(),
checkCartRequest
.
getTrackingNo
(),
cartGoodsStates
);
...
@@ -217,7 +221,9 @@ public interface ShoppingCartBaseService {
...
@@ -217,7 +221,9 @@ public interface ShoppingCartBaseService {
return
CartResponseUtil
.
success
(
checkCartRequest
);
return
CartResponseUtil
.
success
(
checkCartRequest
);
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
ErrorLog
.
printErrorLog
(
"assortment-shoppingcart-sdk"
,
checkCartRequest
.
getTrackingNo
(),
e
.
getMessage
(),
"checkAllCartGoods"
,
checkCartRequest
,
e
,
Level
.
ERROR
);
ErrorLog
.
printErrorLog
(
"assortment-shoppingcart-sdk"
,
checkCartRequest
.
getTrackingNo
(),
e
.
getMessage
(),
"checkAllCartGoods"
,
checkCartRequest
,
e
,
Level
.
ERROR
);
return
null
;
checkCartRequest
.
getShoppingCartGoodsResponseVo
().
setChanged
(
true
);
checkCartRequest
.
getShoppingCartGoodsResponseVo
().
setToastMsg
(
ShoppingCartConstant
.
SHOPPING_CART_INVALIAD_GOODS
);
return
CartResponseUtil
.
error
(
e
.
getMessage
(),
checkCartRequest
);
}
}
}
}
...
@@ -343,8 +349,7 @@ public interface ShoppingCartBaseService {
...
@@ -343,8 +349,7 @@ public interface ShoppingCartBaseService {
}
}
ProductBeanDTO
productBean
;
ProductBeanDTO
productBean
;
// 判断商品是否合法(商品是否存在、商品是否处于上架状态)
// 判断商品是否合法(商品是否存在、商品是否处于上架状态)
if
(((
productBean
=
productBeanMap
.
get
(
cartGoods
.
getGoodsId
()))
!=
null
)
&&
(
productBean
.
isValid
())
if
(((
productBean
=
productBeanMap
.
get
(
cartGoods
.
getGoodsId
()))
!=
null
)
&&
(
StoreItemStatus
.
PUT_ON_SALE
.
getCode
().
equals
(
productBean
.
getStatus
())))
{
&&
(
StoreItemStatus
.
PUT_ON_SALE
.
getCode
().
equals
(
productBean
.
getStatus
())))
{
ShoppingCartAdapter
shoppingCartAdapter
=
SDKCommonBaseContextWare
.
getBean
(
ShoppingCartAdapter
.
class
);
ShoppingCartAdapter
shoppingCartAdapter
=
SDKCommonBaseContextWare
.
getBean
(
ShoppingCartAdapter
.
class
);
shoppingCartAdapter
.
updateCartGoodsInfo
(
cartGoods
,
productBeans
,
cartGoodsStates
,
invalidGoodsIdList
);
shoppingCartAdapter
.
updateCartGoodsInfo
(
cartGoods
,
productBeans
,
cartGoodsStates
,
invalidGoodsIdList
);
}
else
{
}
else
{
...
...
assortment-shoppingcart-sdk/src/main/java/com/freemud/sdk/api/assortment/shoppingcart/util/CartResponseUtil.java
View file @
5ee2d2ae
...
@@ -29,4 +29,7 @@ public class CartResponseUtil {
...
@@ -29,4 +29,7 @@ public class CartResponseUtil {
public
static
<
T
>
BaseResponse
<
T
>
error
(
String
message
)
{
public
static
<
T
>
BaseResponse
<
T
>
error
(
String
message
)
{
return
new
BaseResponse
<>(
Version
.
VERSION_1
,
CartResponseConstant
.
FAIL
.
getCode
(),
message
);
return
new
BaseResponse
<>(
Version
.
VERSION_1
,
CartResponseConstant
.
FAIL
.
getCode
(),
message
);
}
}
public
static
<
T
>
BaseResponse
<
T
>
error
(
String
message
,
T
t
)
{
return
new
BaseResponse
<>(
CartResponseConstant
.
FAIL
.
getCode
(),
message
,
Version
.
VERSION_1
,
t
);
}
}
}
shopping-cart-application-service/src/main/java/cn/freemud/service/CommonService.java
View file @
5ee2d2ae
...
@@ -37,7 +37,6 @@ public interface CommonService {
...
@@ -37,7 +37,6 @@ public interface CommonService {
request
.
setStoreCode
(
storeCode
);
request
.
setStoreCode
(
storeCode
);
StoreCenterService
storeCenterService
=
SpringBeanUtil
.
getBean
(
StoreCenterService
.
class
);
StoreCenterService
storeCenterService
=
SpringBeanUtil
.
getBean
(
StoreCenterService
.
class
);
BaseResponse
<
List
<
String
>>
orgList
=
storeCenterService
.
getOrgList
(
request
,
LogThreadLocal
.
getTrackingNo
());
BaseResponse
<
List
<
String
>>
orgList
=
storeCenterService
.
getOrgList
(
request
,
LogThreadLocal
.
getTrackingNo
());
ApiLog
.
info
(
"CommonService_getOrgIds"
,
request
,
orgList
);
if
(
orgList
!=
null
&&
ResponseCodeConstant
.
RESPONSE_SUCCESS_STR
.
equals
(
orgList
.
getCode
()))
{
if
(
orgList
!=
null
&&
ResponseCodeConstant
.
RESPONSE_SUCCESS_STR
.
equals
(
orgList
.
getCode
()))
{
return
orgList
.
getData
();
return
orgList
.
getData
();
}
}
...
...
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/AssortmentSdkService.java
View file @
5ee2d2ae
...
@@ -156,7 +156,7 @@ public class AssortmentSdkService {
...
@@ -156,7 +156,7 @@ public class AssortmentSdkService {
}
else
{
}
else
{
baseResponse
=
shoppingCartService
.
checkAllCartGoods
(
checkCartRequest
);
baseResponse
=
shoppingCartService
.
checkAllCartGoods
(
checkCartRequest
);
}
}
if
(
baseResponse
==
null
||
!
ResponseResult
.
SUCCESS
.
getCode
().
equals
(
baseResponse
.
getCode
())
)
{
if
(
baseResponse
==
null
)
{
return
null
;
return
null
;
}
}
return
baseResponse
.
getResult
();
return
baseResponse
.
getResult
();
...
...
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/CustomerScoreService.java
View file @
5ee2d2ae
...
@@ -40,7 +40,7 @@ public class CustomerScoreService implements IPromotionService {
...
@@ -40,7 +40,7 @@ public class CustomerScoreService implements IPromotionService {
@Override
@Override
public
void
updateShoppingCartGoodsDiscount
(
CouponPromotionVO
couponPromotionVO
,
ActivityQueryDto
activityQueryDto
,
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
calculationDiscountResult
,
List
<
CartGoods
>
cartGoodsList
,
ShoppingCartGoodsResponseVo
shoppingCartGoodsResponseVo
,
UserLoginInfoDto
userLoginInfoDto
,
ShoppingCartInfoRequestVo
shoppingCartInfoRequestVo
)
{
public
void
updateShoppingCartGoodsDiscount
(
CouponPromotionVO
couponPromotionVO
,
ActivityQueryDto
activityQueryDto
,
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
calculationDiscountResult
,
List
<
CartGoods
>
cartGoodsList
,
ShoppingCartGoodsResponseVo
shoppingCartGoodsResponseVo
,
UserLoginInfoDto
userLoginInfoDto
,
ShoppingCartInfoRequestVo
shoppingCartInfoRequestVo
)
{
if
(
shoppingCartInfoRequestVo
==
null
||
shoppingCartInfoRequestVo
.
getUseCustomerScore
()
==
null
||
shoppingCartInfoRequestVo
.
getUseCustomerScore
()
==
null
||
shoppingCartInfoRequestVo
.
getUseCustomerScore
().
equals
(
CustomerScoreConstant
.
NO_DISPLAY
.
getValue
()))
{
if
(
shoppingCartInfoRequestVo
==
null
||
ObjectUtils
.
notEqual
(
1
,
shoppingCartInfoRequestVo
.
getFlag
())
||
shoppingCartInfoRequestVo
.
getUseCustomerScore
()
==
null
||
shoppingCartInfoRequestVo
.
getUseCustomerScore
()
==
null
||
shoppingCartInfoRequestVo
.
getUseCustomerScore
().
equals
(
CustomerScoreConstant
.
NO_DISPLAY
.
getValue
()))
{
return
;
return
;
}
}
GetUserScoreUseDetailRequest
request
=
new
GetUserScoreUseDetailRequest
();
GetUserScoreUseDetailRequest
request
=
new
GetUserScoreUseDetailRequest
();
...
...
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/ShoppingCartNewServiceImpl.java
View file @
5ee2d2ae
...
@@ -410,19 +410,20 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
...
@@ -410,19 +410,20 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
String
appId
=
shoppingCartInfoRequestVo
.
getAppId
();
String
appId
=
shoppingCartInfoRequestVo
.
getAppId
();
String
couponCode
=
shoppingCartInfoRequestVo
.
getCouponCode
();
String
couponCode
=
shoppingCartInfoRequestVo
.
getCouponCode
();
String
activityCode
=
shoppingCartInfoRequestVo
.
getActivityCode
();
String
activityCode
=
shoppingCartInfoRequestVo
.
getActivityCode
();
Integer
flag
=
shoppingCartInfoRequestVo
.
getFlag
();
// 获取购物车商品
// 获取购物车商品
List
<
CartGoods
>
cartGoodsList
=
assortmentSdkService
.
getShoppingCart
(
partnerId
,
storeId
,
userId
,
null
,
""
,
shoppingCartBaseService
);
List
<
CartGoods
>
cartGoodsList
=
assortmentSdkService
.
getShoppingCart
(
partnerId
,
storeId
,
userId
,
null
,
""
,
shoppingCartBaseService
);
// check购物车中所有商品
// 如果购物车商品不为空, 则check购物车中所有商品
CheckCartRequest
checkCartRequest
=
assortmentSdkService
.
checkShoppingCartSdk
(
cartGoodsList
,
partnerId
,
storeId
,
shoppingCartGoodsResponseVo
,
shoppingCartInfoRequestVo
.
getOrderType
(),
""
,
shoppingCartBaseService
);
if
(
CollectionUtils
.
isNotEmpty
(
cartGoodsList
)){
if
(
checkCartRequest
.
getShoppingCartGoodsResponseVo
()
!=
null
)
{
CheckCartRequest
checkCartRequest
=
assortmentSdkService
.
checkShoppingCartSdk
(
cartGoodsList
,
partnerId
,
storeId
,
shoppingCartGoodsResponseVo
,
shoppingCartInfoRequestVo
.
getOrderType
(),
""
,
shoppingCartBaseService
);
shoppingCartGoodsResponseVo
.
setToastMsg
(
checkCartRequest
.
getShoppingCartGoodsResponseVo
().
getToastMsg
());
if
(
checkCartRequest
.
getShoppingCartGoodsResponseVo
()
!=
null
)
{
shoppingCartGoodsResponseVo
.
setChanged
(
checkCartRequest
.
getShoppingCartGoodsResponseVo
().
getChanged
());
shoppingCartGoodsResponseVo
.
setToastMsg
(
checkCartRequest
.
getShoppingCartGoodsResponseVo
().
getToastMsg
());
}
cartGoodsList
=
JSONArray
.
parseArray
(
JSONObject
.
toJSONString
(
checkCartRequest
.
getCartGoodsList
()),
CartGoods
.
class
);
// 重新存储最新购物车
assortmentSdkService
.
setShoppingCart
(
partnerId
,
storeId
,
userId
,
cartGoodsList
,
assortmentCustomerInfoVo
.
getSessionId
(),
""
,
this
.
shoppingCartBaseService
);
}
}
cartGoodsList
=
JSONArray
.
parseArray
(
JSONObject
.
toJSONString
(
checkCartRequest
.
getCartGoodsList
()),
CartGoods
.
class
);
// 重新存储最新购物车
assortmentSdkService
.
setShoppingCart
(
partnerId
,
storeId
,
userId
,
cartGoodsList
,
assortmentCustomerInfoVo
.
getSessionId
(),
""
,
this
.
shoppingCartBaseService
);
List
<
ActivityCalculationDiscountRequestDto
.
CalculationDiscountCoupon
>
coupons
=
new
ArrayList
<>();
List
<
ActivityCalculationDiscountRequestDto
.
CalculationDiscountCoupon
>
coupons
=
new
ArrayList
<>();
// 当couponCode不为空时,需参与价格计算
// 当couponCode不为空时,需参与价格计算
if
(
StringUtils
.
isNotEmpty
(
couponCode
))
{
if
(
StringUtils
.
isNotEmpty
(
couponCode
))
{
...
...
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