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
4f2dea80
Commit
4f2dea80
authored
Sep 26, 2020
by
ping.wu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
赠送商品限制数量
parent
78c83097
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
28 additions
and
16 deletions
+28
-16
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/ShoppingCartNewServiceImpl.java
+28
-16
No files found.
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/ShoppingCartNewServiceImpl.java
View file @
4f2dea80
...
@@ -265,7 +265,7 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
...
@@ -265,7 +265,7 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
*/
*/
Integer
checkQty
=
this
.
checkSkuQty
(
allCartGoodsList
,
cartGoods
);
Integer
checkQty
=
this
.
checkSkuQty
(
allCartGoodsList
,
cartGoods
);
//购物车添加数量限制
//购物车添加数量限制
limitGoodsQty
(
checkQty
,
appId
);
Integer
productsCount
=
limitGoodsQty
(
allCartGoodsList
,
cartGoods
,
appId
);
//查询多个商品库存信息
//查询多个商品库存信息
queryManyGoodsStocks
(
addShoppingCartGoodsRequestVo
,
productIds
,
productBeanListSpuClass
,
skuId
,
checkQty
);
queryManyGoodsStocks
(
addShoppingCartGoodsRequestVo
,
productIds
,
productBeanListSpuClass
,
skuId
,
checkQty
);
String
productName
=
null
;
String
productName
=
null
;
...
@@ -284,7 +284,7 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
...
@@ -284,7 +284,7 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
calculationDiscountResult
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
calculationDiscountResult
=
getCalculationDiscountResult
(
menuType
,
partnerId
,
storeId
,
userId
,
appId
,
userLoginInfoDto
.
getWxAppid
(),
orderType
,
assortmentCustomerInfoVo
.
isMemberPaid
(),
allCartGoodsList
,
new
ArrayList
(),
new
ArrayList
<>(),
null
,
deliveryAmount
);
=
getCalculationDiscountResult
(
menuType
,
partnerId
,
storeId
,
userId
,
appId
,
userLoginInfoDto
.
getWxAppid
(),
orderType
,
assortmentCustomerInfoVo
.
isMemberPaid
(),
allCartGoodsList
,
new
ArrayList
(),
new
ArrayList
<>(),
null
,
deliveryAmount
);
sendGoodsQtyCheck
(
checkQty
,
appId
,
partnerId
,
userId
,
storeId
,
tableNumber
,
oldCartGoodsList
,
shoppingCartBaseService
,
calculationDiscountResult
.
getSendGoods
());
sendGoodsQtyCheck
(
productsCount
,
appId
,
partnerId
,
userId
,
storeId
,
tableNumber
,
oldCartGoodsList
,
shoppingCartBaseService
,
calculationDiscountResult
.
getSendGoods
());
// 当商品数量被设为0时
// 当商品数量被设为0时
if
(
Objects
.
equals
(
cartGoods
.
getQty
(),
0
))
{
if
(
Objects
.
equals
(
cartGoods
.
getQty
(),
0
))
{
assortmentSdkService
.
updateGoodsQtyBySdk
(
partnerId
,
userId
,
storeId
,
cartGoods
.
getCartGoodsUid
(),
0
,
""
,
shoppingCartBaseService
);
assortmentSdkService
.
updateGoodsQtyBySdk
(
partnerId
,
userId
,
storeId
,
cartGoods
.
getCartGoodsUid
(),
0
,
""
,
shoppingCartBaseService
);
...
@@ -357,8 +357,6 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
...
@@ -357,8 +357,6 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
if
(
cartGoods
==
null
)
{
if
(
cartGoods
==
null
)
{
throw
new
ServiceException
(
ResponseResult
.
SHOPPING_CART_UPDATE_ERROR
);
throw
new
ServiceException
(
ResponseResult
.
SHOPPING_CART_UPDATE_ERROR
);
}
}
//购物车添加数量限制
limitGoodsQty
(
qty
,
appId
);
// 检查购物车商品库存数量
// 检查购物车商品库存数量
checkUpdateStock
(
updateShoppingCartGoodsQtyRequestVo
,
cartGoods
);
checkUpdateStock
(
updateShoppingCartGoodsQtyRequestVo
,
cartGoods
);
...
@@ -385,7 +383,7 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
...
@@ -385,7 +383,7 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
shoppingCartGoodsResponseVo
.
setProducts
(
cartGoodsList
);
shoppingCartGoodsResponseVo
.
setProducts
(
cartGoodsList
);
// return shoppingCartGoodsResponseVo;
// return shoppingCartGoodsResponseVo;
}
}
sendGoodsQtyCheckForUpdate
(
qty
,
cartGoods
.
getQty
(),
appId
,
partnerId
,
userId
,
storeId
,
null
,
cartGoodsUid
,
shoppingCartBaseService
,
calculationDiscountResult
.
getSendGoods
());
sendGoodsQtyCheckForUpdate
(
cartGoodsList
,
cartGoods
.
getQty
(),
appId
,
partnerId
,
userId
,
storeId
,
null
,
cartGoodsUid
,
shoppingCartBaseService
,
calculationDiscountResult
.
getSendGoods
());
ActivityQueryDto
activityQueryDto
=
activityAdapter
.
getActivityQueryDto
(
partnerId
,
storeId
,
userId
,
appId
,
updateShoppingCartGoodsQtyRequestVo
.
getOrderType
());
ActivityQueryDto
activityQueryDto
=
activityAdapter
.
getActivityQueryDto
(
partnerId
,
storeId
,
userId
,
appId
,
updateShoppingCartGoodsQtyRequestVo
.
getOrderType
());
...
@@ -1647,12 +1645,19 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
...
@@ -1647,12 +1645,19 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
/**
/**
* 查询生态配置限制加购开关与限制数量
* 查询生态配置限制加购开关与限制数量
*/
*/
public
void
limitGoodsQty
(
Integer
qty
,
String
appid
){
public
Integer
limitGoodsQty
(
List
<
CartGoods
>
oldCartGoodsList
,
CartGoods
cartGoods
,
String
appid
){
Integer
qty
=
0
;
if
(
CollectionUtils
.
isNotEmpty
(
oldCartGoodsList
)){
for
(
CartGoods
goods
:
oldCartGoodsList
)
{
qty
+=
goods
.
getQty
();
}
}
qty
+=
cartGoods
.
getQty
();
String
redisKey
=
limitCartKey
+
appid
;
String
redisKey
=
limitCartKey
+
appid
;
Object
value
=
redisCache
.
hashGet
(
redisKey
,
"2"
);
Object
value
=
redisCache
.
hashGet
(
redisKey
,
"2"
);
if
(
value
==
null
)
{
if
(
value
==
null
)
{
return
;
return
qty
;
}
else
{
}
else
{
JSONArray
jsonArray
=
(
JSONArray
)
value
;
JSONArray
jsonArray
=
(
JSONArray
)
value
;
int
cartLimitFlag
=
0
;
int
cartLimitFlag
=
0
;
...
@@ -1671,7 +1676,7 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
...
@@ -1671,7 +1676,7 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
throw
new
ServiceException
(
ResponseResult
.
SHOPPING_CART_LIMIT_ADD
);
throw
new
ServiceException
(
ResponseResult
.
SHOPPING_CART_LIMIT_ADD
);
}
}
}
}
return
qty
;
}
}
...
@@ -1718,16 +1723,14 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
...
@@ -1718,16 +1723,14 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
/**
/**
* 购物车添加完成后促销返回赠送商品总数量校验
* 购物车添加完成后促销返回赠送商品总数量校验
*/
*/
public
void
sendGoodsQtyCheckForUpdate
(
Integer
updateQty
,
Integer
goodsQty
,
String
appid
,
String
partnerId
,
String
userId
,
String
storeId
,
String
cartGoodsUid
,
String
tableNumber
,
ShoppingCartBaseService
shoppingCartService
,
List
<
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
.
SendActivity
>
sendActivitys
){
public
void
sendGoodsQtyCheckForUpdate
(
List
<
CartGoods
>
cartGoodsList
,
Integer
goodsQty
,
String
appid
,
String
partnerId
,
String
userId
,
String
storeId
,
String
cartGoodsUid
,
String
tableNumber
,
ShoppingCartBaseService
shoppingCartService
,
List
<
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
.
SendActivity
>
sendActivitys
){
if
(
CollectionUtils
.
isEmpty
(
sendActivitys
)){
Integer
updateQty
=
0
;
return
;
if
(
CollectionUtils
.
isNotEmpty
(
cartGoodsList
)){
}
for
(
CartGoods
goods
:
cartGoodsList
)
{
int
sendQty
=
0
;
updateQty
+=
goods
.
getQty
();
for
(
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
.
SendActivity
sendActivity
:
sendActivitys
){
for
(
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
.
SendActivity
.
SendGoods
sendGoods
:
sendActivity
.
getSendGoods
()){
sendQty
+=
sendGoods
.
getSendNumber
();
}
}
}
}
String
redisKey
=
limitCartKey
+
appid
;
String
redisKey
=
limitCartKey
+
appid
;
Object
value
=
redisCache
.
hashGet
(
redisKey
,
"2"
);
Object
value
=
redisCache
.
hashGet
(
redisKey
,
"2"
);
...
@@ -1747,6 +1750,15 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
...
@@ -1747,6 +1750,15 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
cartLimitCount
=
Integer
.
parseInt
((
String
)
hashMap
.
get
(
"appValue"
));
cartLimitCount
=
Integer
.
parseInt
((
String
)
hashMap
.
get
(
"appValue"
));
}
}
}
}
int
sendQty
=
0
;
if
(
CollectionUtils
.
isNotEmpty
(
sendActivitys
)){
for
(
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
.
SendActivity
sendActivity
:
sendActivitys
){
for
(
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
.
SendActivity
.
SendGoods
sendGoods
:
sendActivity
.
getSendGoods
()){
sendQty
+=
sendGoods
.
getSendNumber
();
}
}
}
if
(
cartLimitFlag
==
1
&&
cartLimitCount
!=
0
&&
updateQty
+
sendQty
>
cartLimitCount
){
if
(
cartLimitFlag
==
1
&&
cartLimitCount
!=
0
&&
updateQty
+
sendQty
>
cartLimitCount
){
assortmentSdkService
.
updateGoodsQtyBySdk
(
partnerId
,
userId
,
storeId
,
cartGoodsUid
,
goodsQty
,
""
,
shoppingCartBaseService
);
assortmentSdkService
.
updateGoodsQtyBySdk
(
partnerId
,
userId
,
storeId
,
cartGoodsUid
,
goodsQty
,
""
,
shoppingCartBaseService
);
throw
new
ServiceException
(
ResponseResult
.
SHOPPING_CART_LIMIT_ADD
);
throw
new
ServiceException
(
ResponseResult
.
SHOPPING_CART_LIMIT_ADD
);
...
...
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