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
d53ae681
Commit
d53ae681
authored
Jun 16, 2020
by
xiaoer.li@freemud.com
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'remotes/origin/feature/1.9.26_加车库存校验'
parents
cd15f5a5
bc48dd81
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
91 additions
and
3 deletions
+91
-3
shopping-cart-application-service/src/main/java/cn/freemud/interceptor/BizExceptionHandler.java
+6
-0
shopping-cart-application-service/src/main/java/cn/freemud/interceptor/BizServiceException.java
+49
-0
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/ShoppingCartNewServiceImpl.java
+36
-3
No files found.
shopping-cart-application-service/src/main/java/cn/freemud/interceptor/BizExceptionHandler.java
View file @
d53ae681
...
@@ -47,6 +47,12 @@ public class BizExceptionHandler {
...
@@ -47,6 +47,12 @@ public class BizExceptionHandler {
return
ResponseUtil
.
error
(
e
.
getResult
());
return
ResponseUtil
.
error
(
e
.
getResult
());
}
}
@ExceptionHandler
(
BizServiceException
.
class
)
@ResponseStatus
(
HttpStatus
.
OK
)
public
BaseResponse
bindException
(
BizServiceException
e
)
{
return
ResponseUtil
.
error
(
e
.
getResult
().
getCode
(),
e
.
getMessage
());
}
@ExceptionHandler
(
ParameterException
.
class
)
@ExceptionHandler
(
ParameterException
.
class
)
@ResponseStatus
(
HttpStatus
.
OK
)
@ResponseStatus
(
HttpStatus
.
OK
)
public
BaseResponse
bindException
(
ParameterException
e
)
{
public
BaseResponse
bindException
(
ParameterException
e
)
{
...
...
shopping-cart-application-service/src/main/java/cn/freemud/interceptor/BizServiceException.java
0 → 100644
View file @
d53ae681
package
cn
.
freemud
.
interceptor
;
import
cn.freemud.enums.ResponseResult
;
import
com.freemud.application.sdk.api.exception.IgnoreErrorAnnotation
;
/**
* All rights Reserved, Designed By www.freemud.cn
*
* @Title: cn.freemud.interceptor BizServiceException
* @Description: TDO 描述....
* @author: family
* @date: 2020/6/11
* @Copyright: www.freemud.cn Inc. All rights reserved.
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
*/
@SuppressWarnings
(
"serial"
)
@IgnoreErrorAnnotation
public
class
BizServiceException
extends
RuntimeException
{
private
ResponseResult
result
;
private
String
message
;
public
BizServiceException
(
ResponseResult
result
)
{
this
.
result
=
result
;
this
.
message
=
result
.
getMessage
();
}
public
BizServiceException
(
ResponseResult
result
,
String
message
)
{
this
.
result
=
result
;
this
.
message
=
message
;
}
public
ResponseResult
getResult
()
{
return
result
;
}
public
void
setResult
(
ResponseResult
result
)
{
this
.
result
=
result
;
}
@Override
public
String
getMessage
()
{
return
message
;
}
public
void
setMessage
(
String
message
)
{
this
.
message
=
message
;
}
}
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/ShoppingCartNewServiceImpl.java
View file @
d53ae681
...
@@ -30,6 +30,7 @@ import cn.freemud.entities.dto.user.GetSessionUserInfoDto;
...
@@ -30,6 +30,7 @@ import cn.freemud.entities.dto.user.GetSessionUserInfoDto;
import
cn.freemud.entities.vo.*
;
import
cn.freemud.entities.vo.*
;
import
cn.freemud.enums.*
;
import
cn.freemud.enums.*
;
import
cn.freemud.interceptor.ServiceException
;
import
cn.freemud.interceptor.ServiceException
;
import
cn.freemud.interceptor.BizServiceException
;
import
cn.freemud.service.*
;
import
cn.freemud.service.*
;
import
cn.freemud.service.thirdparty.*
;
import
cn.freemud.service.thirdparty.*
;
import
cn.freemud.utils.PromotionFactory
;
import
cn.freemud.utils.PromotionFactory
;
...
@@ -247,8 +248,11 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
...
@@ -247,8 +248,11 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
if
(
CollectionUtils
.
isEmpty
(
allCartGoodsList
))
{
if
(
CollectionUtils
.
isEmpty
(
allCartGoodsList
))
{
allCartGoodsList
=
new
ArrayList
<>();
allCartGoodsList
=
new
ArrayList
<>();
}
}
Integer
checkQty
=
allCartGoodsList
.
indexOf
(
cartGoods
)
!=
-
1
?
/**
allCartGoodsList
.
get
(
allCartGoodsList
.
indexOf
(
cartGoods
)).
getQty
()
+
cartGoods
.
getQty
()
:
cartGoods
.
getQty
();
Integer checkQty = allCartGoodsList.indexOf(cartGoods) != -1 ?
allCartGoodsList.get(allCartGoodsList.indexOf(cartGoods)).getQty() + cartGoods.getQty() : cartGoods.getQty();
*/
Integer
checkQty
=
this
.
checkSkuQty
(
allCartGoodsList
,
cartGoods
);
//查询多个商品库存信息
//查询多个商品库存信息
queryManyGoodsStocks
(
addShoppingCartGoodsRequestVo
,
productIds
,
productBeanListSpuClass
,
skuId
,
checkQty
);
queryManyGoodsStocks
(
addShoppingCartGoodsRequestVo
,
productIds
,
productBeanListSpuClass
,
skuId
,
checkQty
);
...
@@ -257,7 +261,7 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
...
@@ -257,7 +261,7 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
// 当添加的商品不是商品券时
// 当添加的商品不是商品券时
if
(!
spuId
.
startsWith
(
CommonsConstant
.
COUPON_PREFIX
))
{
if
(!
spuId
.
startsWith
(
CommonsConstant
.
COUPON_PREFIX
))
{
//添加非商品券商品
//添加非商品券商品
addNotProductGoods
(
addShoppingCartGoodsRequestVo
,
cartGoods
,
goodsId
,
userId
,
shoppingCartGoodsResponseVo
,
allCartGoodsList
);
addNotProductGoods
(
addShoppingCartGoodsRequestVo
,
cartGoods
,
goodsId
,
userId
,
shoppingCartGoodsResponseVo
,
allCartGoodsList
);
}
else
{
}
else
{
// 当商品是商品券,里面会判断如果购物车中已有商品券,会将cartGoods的CartGoodsUid设为null
// 当商品是商品券,里面会判断如果购物车中已有商品券,会将cartGoods的CartGoodsUid设为null
this
.
addProductGoods
(
addShoppingCartGoodsRequestVo
,
cartGoods
,
spuId2
,
userId
,
shoppingCartGoodsResponseVo
,
this
.
addProductGoods
(
addShoppingCartGoodsRequestVo
,
cartGoods
,
spuId2
,
userId
,
shoppingCartGoodsResponseVo
,
...
@@ -409,6 +413,10 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
...
@@ -409,6 +413,10 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
GetProductStockResponseDto
availableStocks
=
stockClient
.
getAvailableStocks
(
requestDto
);
GetProductStockResponseDto
availableStocks
=
stockClient
.
getAvailableStocks
(
requestDto
);
if
((
availableStocks
!=
null
)
&&
(
ResponseCodeConstant
.
RESPONSE_SUCCESS_STR
.
equals
(
availableStocks
.
getCode
())))
{
if
((
availableStocks
!=
null
)
&&
(
ResponseCodeConstant
.
RESPONSE_SUCCESS_STR
.
equals
(
availableStocks
.
getCode
())))
{
if
((
CollectionUtils
.
isEmpty
(
availableStocks
.
getResult
()))
||
(
qty
>
availableStocks
.
getResult
().
get
(
0
).
getQty
()))
{
if
((
CollectionUtils
.
isEmpty
(
availableStocks
.
getResult
()))
||
(
qty
>
availableStocks
.
getResult
().
get
(
0
).
getQty
()))
{
Integer
stock
=
0
;
if
((
stock
=
availableStocks
.
getResult
().
get
(
0
).
getQty
())
>
0
)
{
throw
new
BizServiceException
(
ResponseResult
.
SHOPPING_CART_STOCK_NOT_HAVE
,
"仅剩"
+
stock
+
"件库存了"
);
}
throw
new
ServiceException
(
ResponseResult
.
SHOPPING_CART_STOCK_NOT_HAVE
);
throw
new
ServiceException
(
ResponseResult
.
SHOPPING_CART_STOCK_NOT_HAVE
);
}
}
}
}
...
@@ -1207,6 +1215,10 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
...
@@ -1207,6 +1215,10 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
if
(
availableStocks
!=
null
&&
ResponseCodeConstant
.
RESPONSE_SUCCESS_STR
.
equals
(
availableStocks
.
getCode
())
&&
if
(
availableStocks
!=
null
&&
ResponseCodeConstant
.
RESPONSE_SUCCESS_STR
.
equals
(
availableStocks
.
getCode
())
&&
(
CollectionUtils
.
isEmpty
(
availableStocks
.
getResult
())
||
availableStocks
.
getResult
().
get
(
0
).
getQty
()
==
null
(
CollectionUtils
.
isEmpty
(
availableStocks
.
getResult
())
||
availableStocks
.
getResult
().
get
(
0
).
getQty
()
==
null
||
availableStocks
.
getResult
().
get
(
0
).
getQty
()
<
qty
))
{
||
availableStocks
.
getResult
().
get
(
0
).
getQty
()
<
qty
))
{
Integer
stock
=
0
;
if
((
stock
=
availableStocks
.
getResult
().
get
(
0
).
getQty
())
>
0
)
{
throw
new
BizServiceException
(
ResponseResult
.
SHOPPING_CART_STOCK_NOT_HAVE
,
"仅剩"
+
stock
+
"件库存了"
);
}
throw
new
ServiceException
(
ResponseResult
.
SHOPPING_CART_STOCK_NOT_HAVE
);
throw
new
ServiceException
(
ResponseResult
.
SHOPPING_CART_STOCK_NOT_HAVE
);
}
}
}
}
...
@@ -1510,4 +1522,25 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
...
@@ -1510,4 +1522,25 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
return
sessionUserInfo
.
getResult
();
return
sessionUserInfo
.
getResult
();
}
}
/**
* 检查sku数量
*
* @param allCartGoodsList
* @param cartGoods
* @return
*/
private
Integer
checkSkuQty
(
List
<
CartGoods
>
allCartGoodsList
,
CartGoods
cartGoods
)
{
Integer
qty
=
0
;
if
(
CollectionUtils
.
isEmpty
(
allCartGoodsList
))
{
qty
=
cartGoods
.
getQty
();
}
else
{
qty
=
cartGoods
.
getQty
();
for
(
CartGoods
goods
:
allCartGoodsList
)
{
if
(
goods
.
getSkuId
().
equals
(
cartGoods
.
getSkuId
())
&&
goods
.
getSpuId
().
equals
(
cartGoods
.
getSpuId
()))
{
qty
+=
goods
.
getQty
();
}
}
}
return
qty
;
}
}
}
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