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
43944a8b
Commit
43944a8b
authored
Sep 15, 2020
by
yu.sun
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
sunyu::update::update about new api checkout productInfo for shoppingCart
parent
a2a4bc16
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
101 additions
and
8 deletions
+101
-8
assortment-shoppingcart-sdk/pom.xml
+2
-3
assortment-shoppingcart-sdk/src/main/java/com/freemud/sdk/api/assortment/shoppingcart/constant/ShoppingCartConstant.java
+14
-1
assortment-shoppingcart-sdk/src/main/java/com/freemud/sdk/api/assortment/shoppingcart/service/ShoppingCartBaseService.java
+82
-0
shopping-cart-application-service/pom.xml
+2
-3
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/AssortmentSdkService.java
+1
-1
No files found.
assortment-shoppingcart-sdk/pom.xml
View file @
43944a8b
...
...
@@ -42,7 +42,7 @@
<dependency>
<groupId>
com.freemud.application.service.sdk
</groupId>
<artifactId>
productcenter-sdk
</artifactId>
<version>
3.
8.0.RELEASE
</version>
<version>
3.
7.6-SNAPSHOT
</version>
<scope>
provided
</scope>
</dependency>
<dependency>
...
...
@@ -66,4 +66,4 @@
</dependencies>
</project>
\ No newline at end of file
</project>
assortment-shoppingcart-sdk/src/main/java/com/freemud/sdk/api/assortment/shoppingcart/constant/ShoppingCartConstant.java
View file @
43944a8b
...
...
@@ -33,6 +33,19 @@ public class ShoppingCartConstant {
public
final
static
String
ONE_TRADE_CAN_ONLY_USE_ONE_GOODS_COUPON
=
"一笔交易仅允许同时使用一张商品券"
;
public
final
static
String
ORDER_WAY_CHANGE
=
"切换点餐方式,商品库存和价格等可能会发生变化。"
;
/**
* 商品价格校验失败
*/
public
static
final
int
PRODUCT_PRICE_CHANGE
=
102
;
/**
* 商品不存在
*/
public
static
final
int
PRODUCT_NOTFOUND
=
103
;
/**
* 商品状态校验失败
*/
public
static
final
int
PRODUCT_DOWN
=
104
;
}
assortment-shoppingcart-sdk/src/main/java/com/freemud/sdk/api/assortment/shoppingcart/service/ShoppingCartBaseService.java
View file @
43944a8b
...
...
@@ -48,6 +48,8 @@ import java.util.*;
import
java.util.function.Function
;
import
java.util.stream.Collectors
;
import
static
com
.
freemud
.
sdk
.
api
.
assortment
.
shoppingcart
.
constant
.
ShoppingCartConstant
.*;
/**
* All rights Reserved, Designed By www.freemud.cn
*
...
...
@@ -194,7 +196,87 @@ public interface ShoppingCartBaseService {
}
}
default
BaseResponse
<
CheckCartRequest
>
checkAllCartGoodsForMCoffee
(
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
.
validateShopProductAboutReason
(
validateShopProductRequest
);
//TODO 疑问
if
(
valiadResponse
==
null
||
!
CartResponseConstant
.
SUCCESS
.
getCode
().
equals
(
valiadResponse
.
getCode
())
||
valiadResponse
.
getData
()==
null
)
{
checkCartRequest
.
getCartGoodsList
().
clear
();
checkCartRequest
.
getShoppingCartGoodsResponseVo
().
setChanged
(
true
);
checkCartRequest
.
getShoppingCartGoodsResponseVo
().
setToastMsg
(
ShoppingCartConstant
.
SHOPPING_CART_INVALIAD_GOODS
);
return
CartResponseUtil
.
error
(
valiadResponse
.
getMessage
(),
checkCartRequest
);
}
ValiadShopProductResponse
validateResult
=
valiadResponse
.
getData
();
//非法商品(商品是否存在、商品是否处于上架状态)自动移除,返回前端提示
if
(
CollectionUtils
.
isNotEmpty
(
validateResult
.
getFailureList
())){
for
(
int
i
=
0
;
i
<
validateResult
.
getFailureList
().
size
();
i
++)
{
checkCartRequest
.
getShoppingCartGoodsResponseVo
().
setChanged
(
true
);
switch
(
validateResult
.
getFailureList
().
get
(
i
).
getCode
()){
case
PRODUCT_PRICE_CHANGE
:
checkCartRequest
.
getShoppingCartGoodsResponseVo
().
setToastMsg
(
ShoppingCartConstant
.
SHOPPING_CART_ACTIVITY_CHANGE
);
break
;
case
PRODUCT_NOTFOUND:
checkCartRequest
.
getShoppingCartGoodsResponseVo
().
setToastMsg
(
ShoppingCartConstant
.
SHOPPING_CART_EMPTY_GOODS_LIST
);
break
;
case
PRODUCT_DOWN:
checkCartRequest
.
getShoppingCartGoodsResponseVo
().
setToastMsg
(
ShoppingCartConstant
.
SHOPPING_CART_INVALID_GOODS_EXIST
);
break
;
default
:
break
;
}
// return CartResponseUtil.error(valiadResponse.getMessage(),checkCartRequest);
}
setToastMsgIfNotExist
(
checkCartRequest
.
getShoppingCartGoodsResponseVo
(),
ShoppingCartConstant
.
SHOPPING_CART_GOODS_CHANGE
);
for
(
CartGoods
cartGoods
:
checkCartRequest
.
getCartGoodsList
())
{
if
(
validateResult
.
getFailureList
().
stream
().
anyMatch
(
f
->
cartGoods
.
getCartGoodsUid
().
equals
(
f
.
getUuid
()))){
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
=
validateResult
.
getSuccessList
().
stream
().
map
(
ValiadShopProductResult:
:
getProductType
).
collect
(
Collectors
.
toList
());
CartGoodsStates
cartGoodsStates
=
new
CartGoodsStates
();
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
,
checkCartRequest
.
getStoreId
());
// 点餐方式改变商品券发生变动
if
(
cartGoodsStates
!=
null
&&
cartGoodsStates
.
isOrderWayFlag
())
{
setToastMsgIfNotExist
(
checkCartRequest
.
getShoppingCartGoodsResponseVo
(),
ShoppingCartConstant
.
ORDER_WAY_CHANGE
);
}
//若商品详情赋值有异常,直接移除购物车
if
(
checkCartRequest
.
getCartGoodsList
().
stream
().
anyMatch
(
cart
->
StringUtils
.
isEmpty
(
cart
.
getCartGoodsUid
())))
{
checkCartRequest
.
getCartGoodsList
().
removeIf
(
k
->
StringUtils
.
isEmpty
(
k
.
getCartGoodsUid
()));
checkCartRequest
.
getShoppingCartGoodsResponseVo
().
setChanged
(
true
);
checkCartRequest
.
getShoppingCartGoodsResponseVo
().
setToastMsg
(
ShoppingCartConstant
.
SHOPPING_CART_INVALIAD_GOODS
);
}
//todo 小料
if
(
checkCartRequest
.
getCartGoodsList
().
stream
().
anyMatch
(
cart
->
cart
.
getGoodsType
().
equals
(
GoodsTypeEnum
.
EXCEPTION_GOODS
.
getGoodsType
())))
{
checkCartRequest
.
getCartGoodsList
().
removeIf
(
k
->
k
.
getGoodsType
().
equals
(
GoodsTypeEnum
.
EXCEPTION_GOODS
.
getGoodsType
()));
checkCartRequest
.
getShoppingCartGoodsResponseVo
().
setChanged
(
true
);
checkCartRequest
.
getShoppingCartGoodsResponseVo
().
setToastMsg
(
ShoppingCartConstant
.
SHOPPING_CART_MATERIAL_ERROR
);
}
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
);
}
}
/**
* 更新购物车详细信息
...
...
shopping-cart-application-service/pom.xml
View file @
43944a8b
...
...
@@ -35,7 +35,7 @@
<dependency>
<groupId>
com.freemud.application.service.sdk
</groupId>
<artifactId>
productcenter-sdk
</artifactId>
<version>
3.
8.0.RELEASE
</version>
<version>
3.
7.6-SNAPSHOT
</version>
</dependency>
<dependency>
<groupId>
com.freemud.application.service.sdk
</groupId>
...
...
@@ -373,4 +373,4 @@
</plugins>
</build>
</project>
\ No newline at end of file
</project>
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/AssortmentSdkService.java
View file @
43944a8b
...
...
@@ -151,7 +151,7 @@ public class AssortmentSdkService {
checkCartRequest
.
setTrackingNo
(
LogThreadLocal
.
getTrackingNo
());
checkCartRequest
.
setMenuType
(
BusinessTypeEnum
.
getByType
(
menuType
).
getCode
());
BaseResponse
<
CheckCartRequest
>
baseResponse
;
baseResponse
=
shoppingCartService
.
checkAllCartGoods
New
(
checkCartRequest
);
baseResponse
=
shoppingCartService
.
checkAllCartGoods
ForMCoffee
(
checkCartRequest
);
if
(
baseResponse
==
null
)
{
return
null
;
}
...
...
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