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
46c409f9
Commit
46c409f9
authored
Dec 31, 2019
by
shuhu.hou@freemud.cn
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'feature/1.9.9_购物车校验' into develop
parents
2eab9376
5ee2d2ae
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
14 changed files
with
114 additions
and
37 deletions
+114
-37
assortment-shoppingcart-sdk/pom.xml
+1
-1
assortment-shoppingcart-sdk/src/main/java/com/freemud/sdk/api/assortment/shoppingcart/adapter/ShoppingCartAdapter.java
+0
-0
assortment-shoppingcart-sdk/src/main/java/com/freemud/sdk/api/assortment/shoppingcart/constant/ShoppingCartConstant.java
+6
-0
assortment-shoppingcart-sdk/src/main/java/com/freemud/sdk/api/assortment/shoppingcart/domain/ShoppingCartGoodsResponseVo.java
+1
-1
assortment-shoppingcart-sdk/src/main/java/com/freemud/sdk/api/assortment/shoppingcart/service/ShoppingCartBaseService.java
+65
-2
assortment-shoppingcart-sdk/src/main/java/com/freemud/sdk/api/assortment/shoppingcart/service/impl/ShoppingCartBaseServiceImpl.java
+1
-1
assortment-shoppingcart-sdk/src/main/java/com/freemud/sdk/api/assortment/shoppingcart/util/CartResponseUtil.java
+3
-0
shopping-cart-application-service/pom.xml
+1
-1
shopping-cart-application-service/src/main/java/cn/freemud/constant/ShoppingCartConstant.java
+3
-0
shopping-cart-application-service/src/main/java/cn/freemud/entities/vo/ShoppingCartInfoRequestVo.java
+3
-1
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
+14
-6
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
+15
-22
No files found.
assortment-shoppingcart-sdk/pom.xml
View file @
46c409f9
...
...
@@ -42,7 +42,7 @@
<dependency>
<groupId>
com.freemud.application.service.sdk
</groupId>
<artifactId>
productcenter-sdk
</artifactId>
<version>
2.
4.1
-SNAPSHOT
</version>
<version>
2.
7.2
-SNAPSHOT
</version>
<scope>
provided
</scope>
</dependency>
<dependency>
...
...
assortment-shoppingcart-sdk/src/main/java/com/freemud/sdk/api/assortment/shoppingcart/adapter/ShoppingCartAdapter.java
View file @
46c409f9
This diff is collapsed.
Click to expand it.
assortment-shoppingcart-sdk/src/main/java/com/freemud/sdk/api/assortment/shoppingcart/constant/ShoppingCartConstant.java
View file @
46c409f9
...
...
@@ -14,11 +14,17 @@
package
com
.
freemud
.
sdk
.
api
.
assortment
.
shoppingcart
.
constant
;
public
class
ShoppingCartConstant
{
public
final
static
String
SHOPPING_CART_INVALIAD_GOODS
=
"因商家变更了商品,导致选购失败,请刷新门店后重新尝试选购商品"
;
public
final
static
String
SHOPPING_CART_EMPTY_GOODS_LIST
=
"因商品变更或其他原因,导致加购失效,无法结算,请重新尝试选购商品"
;
public
final
static
String
SHOPPING_CART_INVALID_GOODS_EXIST
=
"有商品不在售卖状态,请重新提交结算"
;
public
final
static
String
SHOPPING_CART_ACTIVITY_CHANGE
=
"商品价格有变动,将按照最新价格计算哦"
;
public
final
static
String
SHOPPING_CART_GOODS_CHANGE
=
"因商家变更了商品,导致选购失效,请刷新门店后重新尝试选购商品"
;
public
final
static
String
SHOPPING_CART_GOODS_INVALID
=
"因商品变更或其他原因,导致架构失效,无法结算,请重新尝试选购商品"
;
public
final
static
String
HAS_OTHER_ACTIVITY_WHEN_ADD_GOODS_COUPON
=
"该商品券与其他活动不同享,购物车中已优惠的商品将恢复原价"
;
public
final
static
String
HAS_GOODS_COUPON_WHEN_ADD_SPECIAL_GOODS
=
"已选商品券,与其他优惠商品不同享,商品将恢复原价"
;
...
...
assortment-shoppingcart-sdk/src/main/java/com/freemud/sdk/api/assortment/shoppingcart/domain/ShoppingCartGoodsResponseVo.java
View file @
46c409f9
...
...
@@ -66,7 +66,7 @@ public class ShoppingCartGoodsResponseVo {
/**
* 购物车中商品价格或有效性是否发生变化
*/
private
Boolean
changed
;
private
Boolean
changed
=
false
;
/**
* 可用优惠券列表
...
...
assortment-shoppingcart-sdk/src/main/java/com/freemud/sdk/api/assortment/shoppingcart/service/ShoppingCartBaseService.java
View file @
46c409f9
...
...
@@ -18,7 +18,13 @@ import com.freemud.application.sdk.api.productcenter.domain.ProductBeanDTO;
import
com.freemud.application.sdk.api.productcenter.domain.ProductInfosDTO
;
import
com.freemud.application.sdk.api.productcenter.request.menu.GetMenuCategoryByIdsRequest
;
import
com.freemud.application.sdk.api.productcenter.request.product.GetProductRequest
;
import
com.freemud.application.sdk.api.productcenter.request.product.valid.ProductAttributeValueType
;
import
com.freemud.application.sdk.api.productcenter.request.product.valid.ValidateShopProductRequest
;
import
com.freemud.application.sdk.api.productcenter.request.product.valid.ValidateShopProductType
;
import
com.freemud.application.sdk.api.productcenter.request.product.valid.ValidateSkuProductType
;
import
com.freemud.application.sdk.api.productcenter.response.menu.GetMenuCategoryByIdsResponse
;
import
com.freemud.application.sdk.api.productcenter.response.valid.ValiadShopProductResponse
;
import
com.freemud.application.sdk.api.productcenter.response.valid.ValiadShopProductResult
;
import
com.freemud.application.sdk.api.productcenter.service.MenuService
;
import
com.freemud.application.sdk.api.productcenter.service.ProductService
;
import
com.freemud.sdk.api.assortment.shoppingcart.adapter.ShoppingCartAdapter
;
...
...
@@ -165,6 +171,64 @@ public interface ShoppingCartBaseService {
}
}
default
BaseResponse
<
CheckCartRequest
>
checkAllCartGoodsNew
(
CheckCartRequest
checkCartRequest
)
{
ShoppingCartAdapter
shoppingCartAdapter
=
SDKCommonBaseContextWare
.
getBean
(
ShoppingCartAdapter
.
class
);
ProductService
productService
=
SDKCommonBaseContextWare
.
getBean
(
ProductService
.
class
);
try
{
ValidateShopProductRequest
validateShopProductRequest
=
shoppingCartAdapter
.
getValidateShopProductRequest
(
checkCartRequest
);
com
.
freemud
.
application
.
sdk
.
api
.
base
.
BaseResponse
<
ValiadShopProductResponse
>
valiadResponse
=
productService
.
validateShopProduct
(
validateShopProductRequest
);
if
(
valiadResponse
==
null
||
!
CartResponseConstant
.
SUCCESS
.
getCode
().
equals
(
valiadResponse
.
getCode
())
||
valiadResponse
.
getData
()==
null
)
{
checkCartRequest
.
getShoppingCartGoodsResponseVo
().
setChanged
(
true
);
checkCartRequest
.
getShoppingCartGoodsResponseVo
().
setToastMsg
(
ShoppingCartConstant
.
SHOPPING_CART_INVALIAD_GOODS
);
return
CartResponseUtil
.
error
(
valiadResponse
.
getMessage
(),
checkCartRequest
);
}
ValiadShopProductResponse
valiadResult
=
valiadResponse
.
getData
();
//非法商品(商品是否存在、商品是否处于上架状态)自动移除,返回前端提示
if
(
CollectionUtils
.
isNotEmpty
(
valiadResult
.
getFailureList
())){
setToastMsgIfNotExist
(
checkCartRequest
.
getShoppingCartGoodsResponseVo
(),
ShoppingCartConstant
.
SHOPPING_CART_GOODS_CHANGE
);
for
(
CartGoods
cartGoods
:
checkCartRequest
.
getCartGoodsList
())
{
if
(
valiadResult
.
getFailureList
().
stream
().
anyMatch
(
f
->
cartGoods
.
getGoodsId
().
equals
(
f
.
getSkuId
()))){
cartGoods
.
setCartGoodsUid
(
null
);
checkCartRequest
.
getShoppingCartGoodsResponseVo
().
setChanged
(
true
);
checkCartRequest
.
getShoppingCartGoodsResponseVo
().
setToastMsg
(
ShoppingCartConstant
.
SHOPPING_CART_INVALIAD_GOODS
);
}
}
checkCartRequest
.
getCartGoodsList
().
removeIf
(
k
->
StringUtils
.
isEmpty
(
k
.
getCartGoodsUid
()));
}
List
<
ProductBeanDTO
>
productList
=
valiadResult
.
getSuccessList
().
stream
().
map
(
ValiadShopProductResult:
:
getProductType
).
collect
(
Collectors
.
toList
());
CartGoodsStates
cartGoodsStates
=
new
CartGoodsStates
();
//更新购物车详细信息
if
(
CollectionUtils
.
isEmpty
(
checkCartRequest
.
getCartGoodsList
())
||
CollectionUtils
.
isEmpty
(
productList
)){
checkCartRequest
.
getShoppingCartGoodsResponseVo
().
setChanged
(
true
);
checkCartRequest
.
getShoppingCartGoodsResponseVo
().
setToastMsg
(
ShoppingCartConstant
.
SHOPPING_CART_INVALIAD_GOODS
);
return
CartResponseUtil
.
error
(
valiadResponse
.
getMessage
(),
checkCartRequest
);
}
for
(
CartGoods
cartGoods
:
checkCartRequest
.
getCartGoodsList
())
{
// 当goodsId为空或商品是商品券时直接跳过
if
(
StringUtils
.
isEmpty
(
cartGoods
.
getGoodsId
())
||
Objects
.
equals
(
cartGoods
.
getGoodsType
(),
GoodsTypeEnum
.
COUPON_GOODS
.
getGoodsType
()))
{
continue
;
}
shoppingCartAdapter
.
updateCartGoodsInfoNew
(
cartGoods
,
productList
);
}
//校验商品券是否有当前点餐方式
cartGoodsStates
=
updateSpqCartGoodsInfo
(
checkCartRequest
.
getCartGoodsList
(),
checkCartRequest
.
getOrderWay
(),
checkCartRequest
.
getPartnerId
(),
checkCartRequest
.
getTrackingNo
(),
cartGoodsStates
);
// 点餐方式改变商品券发生变动
if
(
cartGoodsStates
!=
null
&&
cartGoodsStates
.
isOrderWayFlag
())
{
setToastMsgIfNotExist
(
checkCartRequest
.
getShoppingCartGoodsResponseVo
(),
ShoppingCartConstant
.
ORDER_WAY_CHANGE
);
}
return
CartResponseUtil
.
success
(
checkCartRequest
);
}
catch
(
Exception
e
)
{
ErrorLog
.
printErrorLog
(
"assortment-shoppingcart-sdk"
,
checkCartRequest
.
getTrackingNo
(),
e
.
getMessage
(),
"checkAllCartGoods"
,
checkCartRequest
,
e
,
Level
.
ERROR
);
checkCartRequest
.
getShoppingCartGoodsResponseVo
().
setChanged
(
true
);
checkCartRequest
.
getShoppingCartGoodsResponseVo
().
setToastMsg
(
ShoppingCartConstant
.
SHOPPING_CART_INVALIAD_GOODS
);
return
CartResponseUtil
.
error
(
e
.
getMessage
(),
checkCartRequest
);
}
}
/**
* 更新购物车详细信息
* 并check购物车中商品是否价格变更、是否非法(例如商品下架)
...
...
@@ -285,8 +349,7 @@ public interface ShoppingCartBaseService {
}
ProductBeanDTO
productBean
;
// 判断商品是否合法(商品是否存在、商品是否处于上架状态)
if
(((
productBean
=
productBeanMap
.
get
(
cartGoods
.
getGoodsId
()))
!=
null
)
&&
(
productBean
.
isValid
())
&&
(
StoreItemStatus
.
PUT_ON_SALE
.
getCode
().
equals
(
productBean
.
getStatus
())))
{
if
(((
productBean
=
productBeanMap
.
get
(
cartGoods
.
getGoodsId
()))
!=
null
)
&&
(
StoreItemStatus
.
PUT_ON_SALE
.
getCode
().
equals
(
productBean
.
getStatus
())))
{
ShoppingCartAdapter
shoppingCartAdapter
=
SDKCommonBaseContextWare
.
getBean
(
ShoppingCartAdapter
.
class
);
shoppingCartAdapter
.
updateCartGoodsInfo
(
cartGoods
,
productBeans
,
cartGoodsStates
,
invalidGoodsIdList
);
}
else
{
...
...
assortment-shoppingcart-sdk/src/main/java/com/freemud/sdk/api/assortment/shoppingcart/service/impl/ShoppingCartBaseServiceImpl.java
View file @
46c409f9
...
...
@@ -116,7 +116,7 @@ public class ShoppingCartBaseServiceImpl implements ShoppingCartBaseService {
.
filter
(
k
->
StringUtils
.
isNotEmpty
(
k
.
getCartGoodsUid
()))
.
collect
(
Collectors
.
toMap
(
CartGoods:
:
getCartGoodsUid
,
Function
.
identity
(),
(
k1
,
k2
)
->
k1
));
operations
.
putAll
(
cartGoodsMap
);
return
this
.
getCartGoodsList
(
cartParamDto
,
trackingNo
);
return
CartResponseUtil
.
success
(
);
}
catch
(
Exception
e
)
{
ErrorLog
.
printErrorLog
(
"assortment-shoppingcart-sdk"
,
trackingNo
,
e
.
getMessage
(),
"setCartGoodsList"
,
cartParamDto
,
e
,
Level
.
ERROR
);
return
null
;
...
...
assortment-shoppingcart-sdk/src/main/java/com/freemud/sdk/api/assortment/shoppingcart/util/CartResponseUtil.java
View file @
46c409f9
...
...
@@ -29,4 +29,7 @@ public class CartResponseUtil {
public
static
<
T
>
BaseResponse
<
T
>
error
(
String
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/pom.xml
View file @
46c409f9
...
...
@@ -35,7 +35,7 @@
<dependency>
<groupId>
com.freemud.application.service.sdk
</groupId>
<artifactId>
productcenter-sdk
</artifactId>
<version>
2.
6.RELEASE
</version>
<version>
2.
7.2-SNAPSHOT
</version>
</dependency>
<dependency>
<groupId>
com.freemud.application.service.sdk
</groupId>
...
...
shopping-cart-application-service/src/main/java/cn/freemud/constant/ShoppingCartConstant.java
View file @
46c409f9
...
...
@@ -15,6 +15,9 @@ package cn.freemud.constant;
public
class
ShoppingCartConstant
{
public
final
static
String
SHOPPING_CART_INVALIAD_GOODS
=
"因商家变更了商品,导致选购失败,请刷新门店后重新尝试选购商品"
;
public
final
static
String
SHOPPING_CART_EMPTY_GOODS_LIST
=
"因商品变更或其他原因,导致加购失效,无法结算,请重新尝试选购商品"
;
public
final
static
String
SHOPPING_CART_INVALID_GOODS_EXIST
=
"有商品不在售卖状态,请重新提交结算"
;
public
final
static
String
SHOPPING_CART_ACTIVITY_CHANGE
=
"商品价格有变动,将按照最新活动价格计算哦"
;
...
...
shopping-cart-application-service/src/main/java/cn/freemud/entities/vo/ShoppingCartInfoRequestVo.java
View file @
46c409f9
...
...
@@ -39,7 +39,9 @@ public class ShoppingCartInfoRequestVo extends BaseRequestVo {
@NotEmpty
(
message
=
"appId不能为空"
)
private
String
appId
;
/**
* 是否查询用户优惠券 1-查询用户优惠券 flag=1 用户去结算
* 是否为结算页
* 1:结算页 0:点餐页
* 结算页会查询用户优惠券,点餐页不会查询用户优惠券
*/
private
Integer
flag
;
/**
...
...
shopping-cart-application-service/src/main/java/cn/freemud/service/CommonService.java
View file @
46c409f9
...
...
@@ -37,7 +37,6 @@ public interface CommonService {
request
.
setStoreCode
(
storeCode
);
StoreCenterService
storeCenterService
=
SpringBeanUtil
.
getBean
(
StoreCenterService
.
class
);
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
()))
{
return
orgList
.
getData
();
}
...
...
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/AssortmentSdkService.java
View file @
46c409f9
...
...
@@ -19,9 +19,11 @@ import com.freemud.sdk.api.assortment.shoppingcart.request.CheckCartRequest;
import
com.freemud.sdk.api.assortment.shoppingcart.request.GetProductInfoRequest
;
import
com.freemud.sdk.api.assortment.shoppingcart.service.ShoppingCartBaseService
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.stereotype.Service
;
import
javax.naming.Name
;
import
java.util.ArrayList
;
import
java.util.List
;
/**
...
...
@@ -100,7 +102,7 @@ public class AssortmentSdkService {
// 根据不同点餐类型获取不同购物车实例
BaseResponse
<
List
<
com
.
freemud
.
sdk
.
api
.
assortment
.
shoppingcart
.
domain
.
CartGoods
>>
baseResponse
=
shoppingCartService
.
getCartGoodsList
(
cartParamDto
,
LogThreadLocal
.
getTrackingNo
());
if
(
baseResponse
==
null
||
!
ResponseResult
.
SUCCESS
.
getCode
().
equals
(
baseResponse
.
getCode
())
||
CollectionUtils
.
isEmpty
(
baseResponse
.
getResult
()))
{
return
n
ull
;
return
n
ew
ArrayList
<>()
;
}
return
JSONArray
.
parseArray
(
JSONObject
.
toJSONString
(
baseResponse
.
getResult
()),
CartGoods
.
class
);
...
...
@@ -120,13 +122,16 @@ public class AssortmentSdkService {
cartParamDto
.
setTableNumber
(
tableNumber
);
cartParamDto
.
setCartGoodsList
(
JSONArray
.
parseArray
(
JSONObject
.
toJSONString
(
cartGoodsList
),
com
.
freemud
.
sdk
.
api
.
assortment
.
shoppingcart
.
domain
.
CartGoods
.
class
));
BaseResponse
<
List
<
com
.
freemud
.
sdk
.
api
.
assortment
.
shoppingcart
.
domain
.
CartGoods
>>
baseResponse
=
shoppingCartService
.
setCartGoodsList
(
cartParamDto
,
LogThreadLocal
.
getTrackingNo
());
if
(
baseResponse
==
null
||
!
ResponseResult
.
SUCCESS
.
getCode
().
equals
(
baseResponse
.
getCode
())
||
CollectionUtils
.
isEmpty
(
baseResponse
.
getResult
())
)
{
if
(
baseResponse
==
null
||
!
ResponseResult
.
SUCCESS
.
getCode
().
equals
(
baseResponse
.
getCode
()))
{
return
null
;
}
return
JSONArray
.
parseArray
(
JSONObject
.
toJSONString
(
baseResponse
.
getResult
()),
CartGoods
.
class
);
}
@Value
(
"${shopping.cart.check.action}"
)
private
String
shoppingCartCheckAction
;
/**
* 调用SDK校验购物车
*
...
...
@@ -146,10 +151,13 @@ public class AssortmentSdkService {
checkCartRequest
.
setStoreId
(
storeId
);
checkCartRequest
.
setTableNumber
(
tableNumber
);
checkCartRequest
.
setTrackingNo
(
LogThreadLocal
.
getTrackingNo
());
long
checkStartTime
=
System
.
currentTimeMillis
();
BaseResponse
<
CheckCartRequest
>
baseResponse
=
shoppingCartService
.
checkAllCartGoods
(
checkCartRequest
);
//LogUtil.info("shoppingCartBaseService checkAllCartGoods ", checkStartTime, JSON.toJSONString(checkCartRequest), JSON.toJSONString(baseResponse));
if
(
baseResponse
==
null
||
!
ResponseResult
.
SUCCESS
.
getCode
().
equals
(
baseResponse
.
getCode
()))
{
BaseResponse
<
CheckCartRequest
>
baseResponse
;
if
(
"checkAllCartGoodsNew"
.
equals
(
shoppingCartCheckAction
)){
baseResponse
=
shoppingCartService
.
checkAllCartGoodsNew
(
checkCartRequest
);
}
else
{
baseResponse
=
shoppingCartService
.
checkAllCartGoods
(
checkCartRequest
);
}
if
(
baseResponse
==
null
)
{
return
null
;
}
return
baseResponse
.
getResult
();
...
...
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/CustomerScoreService.java
View file @
46c409f9
...
...
@@ -40,7 +40,7 @@ public class CustomerScoreService implements IPromotionService {
@Override
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
;
}
GetUserScoreUseDetailRequest
request
=
new
GetUserScoreUseDetailRequest
();
...
...
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/ShoppingCartNewServiceImpl.java
View file @
46c409f9
...
...
@@ -71,6 +71,8 @@ import java.util.*;
import
java.util.function.Function
;
import
java.util.stream.Collectors
;
import
static
cn
.
freemud
.
constant
.
ShoppingCartConstant
.
SHOPPING_CART_EMPTY_GOODS_LIST
;
import
static
cn
.
freemud
.
constant
.
ShoppingCartConstant
.
SHOPPING_CART_INVALIAD_GOODS
;
import
static
java
.
util
.
stream
.
Collectors
.
toList
;
@Slf4j
...
...
@@ -409,26 +411,20 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
String
appId
=
shoppingCartInfoRequestVo
.
getAppId
();
String
couponCode
=
shoppingCartInfoRequestVo
.
getCouponCode
();
String
activityCode
=
shoppingCartInfoRequestVo
.
getActivityCode
();
// Integer flag = shoppingCartInfoRequestVo.getFlag();
// List<ShoppingCartInfoRequestVo.SendGoods> sendGoodsList = shoppingCartInfoRequestVo.getSendGoods();
// 获取购物车商品
List
<
CartGoods
>
cartGoodsList
=
assortmentSdkService
.
getShoppingCart
(
partnerId
,
storeId
,
userId
,
null
,
""
,
shoppingCartBaseService
);
if
(
cartGoodsList
==
null
)
{
cartGoodsList
=
new
ArrayList
<>();
}
// check购物车中所有商品
CheckCartRequest
checkCartRequest
=
assortmentSdkService
.
checkShoppingCartSdk
(
cartGoodsList
,
partnerId
,
storeId
,
shoppingCartGoodsResponseVo
,
shoppingCartInfoRequestVo
.
getOrderType
(),
""
,
shoppingCartBaseService
);
if
(
checkCartRequest
.
getShoppingCartGoodsResponseVo
()
!=
null
)
{
shoppingCartGoodsResponseVo
.
setToastMsg
(
checkCartRequest
.
getShoppingCartGoodsResponseVo
().
getToastMsg
());
// 如果购物车商品不为空, 则check购物车中所有商品
if
(
CollectionUtils
.
isNotEmpty
(
cartGoodsList
)){
CheckCartRequest
checkCartRequest
=
assortmentSdkService
.
checkShoppingCartSdk
(
cartGoodsList
,
partnerId
,
storeId
,
shoppingCartGoodsResponseVo
,
shoppingCartInfoRequestVo
.
getOrderType
(),
""
,
shoppingCartBaseService
);
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
);
//1.5.4 多规格的sku商品计算包装费
//checkSkuOnVersion(cartGoodsList, partnerId, storeId, shoppingCartGoodsResponseVo);
// 重新存储最新购物车
assortmentSdkService
.
setShoppingCart
(
partnerId
,
storeId
,
userId
,
cartGoodsList
,
assortmentCustomerInfoVo
.
getSessionId
(),
""
,
this
.
shoppingCartBaseService
);
List
<
ActivityCalculationDiscountRequestDto
.
CalculationDiscountCoupon
>
coupons
=
new
ArrayList
<>();
// 当couponCode不为空时,需参与价格计算
if
(
StringUtils
.
isNotEmpty
(
couponCode
))
{
...
...
@@ -437,14 +433,10 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
coupon
.
setActivityCode
(
activityCode
);
coupons
.
add
(
coupon
);
}
/*if (CollectionUtils.isNotEmpty(sendGoodsList)) {
processSendGoods(sendGoodsList, partnerId, storeId);
}*/
// 获取优惠信息
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
calculationDiscountResult
=
this
.
getActivityCalculationDiscountResponse
(
partnerId
,
storeId
,
userId
,
appId
,
shoppingCartInfoRequestVo
.
getOrderType
(),
cartGoodsList
,
coupons
,
null
);
if
(
calculationDiscountResult
==
null
)
{
shoppingCartGoodsResponseVo
.
setProducts
(
cartGoodsList
);
// return shoppingCartGoodsResponseVo;
}
ActivityQueryDto
activityQueryDto
=
activityAdapter
.
getActivityQueryDto
(
partnerId
,
storeId
,
userId
,
appId
,
shoppingCartInfoRequestVo
.
getOrderType
());
...
...
@@ -1020,6 +1012,7 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
addShoppingCartGoodsRequestVo
.
getShopId
(),
shoppingCartGoodsResponseVo
,
addShoppingCartGoodsRequestVo
.
getOrderType
(),
""
,
shoppingCartBaseService
);
if
(
checkCartRequest
.
getShoppingCartGoodsResponseVo
()
!=
null
)
{
shoppingCartGoodsResponseVo
.
setToastMsg
(
checkCartRequest
.
getShoppingCartGoodsResponseVo
().
getToastMsg
());
shoppingCartGoodsResponseVo
.
setChanged
(
checkCartRequest
.
getShoppingCartGoodsResponseVo
().
getChanged
());
}
List
<
CartGoods
>
allCartGoodsList
=
JSONArray
.
parseArray
(
JSONObject
.
toJSONString
(
checkCartRequest
.
getCartGoodsList
()),
CartGoods
.
class
);
...
...
@@ -1166,10 +1159,10 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
*/
private
void
setAddAndUpdateResponse
(
ShoppingCartGoodsResponseVo
shoppingCartGoodsResponseVo
,
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
calculationDiscountResult
,
List
<
CartGoods
>
cartGoodsList
,
String
toastMsg
,
String
partnerId
,
String
storeId
,
String
userId
,
String
opt
,
ShoppingCartInfoRequestVo
shoppingCartInfoRequestVo
)
{
//updateCartGoodsResponse(shoppingCartGoodsResponseVo, calculationDiscountResult);
shoppingCartGoodsResponseVo
.
setProducts
(
cartGoodsList
);
shoppingCartGoodsResponseVo
.
setProductsCount
(
cartGoodsList
.
size
());
if
(
StringUtils
.
isNotEmpty
(
toastMsg
))
{
toastMsg
=
shoppingCartInfoRequestVo
!=
null
&&
ObjectUtils
.
equals
(
1
,
shoppingCartInfoRequestVo
.
getFlag
())?
SHOPPING_CART_EMPTY_GOODS_LIST:
SHOPPING_CART_INVALIAD_GOODS
;
setToastMsgIfNotExist
(
shoppingCartGoodsResponseVo
,
toastMsg
);
}
// 给前端展示
...
...
@@ -1197,7 +1190,7 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
shoppingCartGoodsResponseVo
.
setOriginalTotalAmount
(
originalTotalAmount
);
shoppingCartGoodsResponseVo
.
setTotalAmount
(
totalAmount
);
}
shoppingCartGoodsResponseVo
.
setChanged
(
false
);
}
/**
...
...
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