Commit 649f9f51 by 孙昱

sunyu::update::update about monthCard validate

parent ea25f8a9
...@@ -172,7 +172,9 @@ public class ShoppingCartMCoffeeServiceImpl { ...@@ -172,7 +172,9 @@ public class ShoppingCartMCoffeeServiceImpl {
} }
//种子券商品信息校验 //种子券商品信息校验
seedCouponGoodsValidate(addShoppingCartGoodsRequestVo,oldCartGoodsList); if (addShoppingCartGoodsRequestVo.getIsMonthCard()< 1 && addShoppingCartGoodsRequestVo.getIsSeedCouponGoods() > 0) {
seedCouponGoodsValidate(addShoppingCartGoodsRequestVo, oldCartGoodsList);
}
//加锁,防止重复请求导致的加购数量错误 //加锁,防止重复请求导致的加购数量错误
synchronized (oldCartGoodsList) { synchronized (oldCartGoodsList) {
...@@ -2236,34 +2238,33 @@ public class ShoppingCartMCoffeeServiceImpl { ...@@ -2236,34 +2238,33 @@ public class ShoppingCartMCoffeeServiceImpl {
* @param oldCartGoodsList * @param oldCartGoodsList
*/ */
private void seedCouponGoodsValidate(MCoffeeAddGoodsRequestVo addShoppingCartGoodsRequestVo,List<CartGoods> oldCartGoodsList){ private void seedCouponGoodsValidate(MCoffeeAddGoodsRequestVo addShoppingCartGoodsRequestVo,List<CartGoods> oldCartGoodsList){
if (addShoppingCartGoodsRequestVo.getIsMonthCard()< 1 && addShoppingCartGoodsRequestVo.getIsSeedCouponGoods() > 0) { //若加购种子券商品,则券号不可为空
if (StringUtils.isEmpty(addShoppingCartGoodsRequestVo.getCouponCode())){ if (StringUtils.isEmpty(addShoppingCartGoodsRequestVo.getCouponCode())){
throw new ServiceException(ResponseResult.SHOPPING_CART_ADD_ERROR); throw new ServiceException(ResponseResult.SHOPPING_CART_ADD_ERROR);
} }
if (CollectionUtils.isEmpty(oldCartGoodsList)) { //加购种子券商品,购物车中必须已有月卡不可为空
throw new ServiceException(ResponseResult.SHOPPING_CART_SEED_COUPON_VALID); if (CollectionUtils.isEmpty(oldCartGoodsList)) {
} throw new ServiceException(ResponseResult.SHOPPING_CART_SEED_COUPON_VALID);
}
int seedCouponCount = 0; int seedCouponCount = 0;
int seedCouponGoodsCount = 0; int seedCouponGoodsCount = 0;
for (CartGoods cartGoods : oldCartGoodsList) { for (CartGoods cartGoods : oldCartGoodsList) {
//1.种子券商品券信息与月卡信息一致 //1.种子券商品券信息与月卡信息一致
if (null != cartGoods.getMonthCardInfo() && !addShoppingCartGoodsRequestVo.getCouponCode().equals(cartGoods.getMonthCardInfo().getCardCode())){ if (null != cartGoods.getMonthCardInfo() && !addShoppingCartGoodsRequestVo.getCouponCode().equals(cartGoods.getMonthCardInfo().getCardCode())){
throw new ServiceException(ResponseResult.SHOPPING_CART_COUPON_NOT_EXIST); throw new ServiceException(ResponseResult.SHOPPING_CART_COUPON_NOT_EXIST);
}
if (cartGoods.getIsMonthCard()>0){
seedCouponCount = seedCouponCount + cartGoods.getQty();
}
if (cartGoods.getIsSeedCouponGoods()>0 && cartGoods.getIsMonthCard()<1){
seedCouponGoodsCount = seedCouponGoodsCount + cartGoods.getQty();
}
} }
if (cartGoods.getIsMonthCard()>0){
//2.种子券商品数量不可大于种子券数量 seedCouponCount = seedCouponCount + cartGoods.getQty();
if ((seedCouponGoodsCount+addShoppingCartGoodsRequestVo.getQty()) > seedCouponCount){ }
throw new ServiceException(ResponseResult.SHOPPING_CART_SEED_COUPON_VALID); if (cartGoods.getIsSeedCouponGoods()>0 && cartGoods.getIsMonthCard()<1){
seedCouponGoodsCount = seedCouponGoodsCount + cartGoods.getQty();
} }
}
//2.种子券商品数量不可大于种子券数量
if ((seedCouponGoodsCount+addShoppingCartGoodsRequestVo.getQty()) > seedCouponCount){
throw new ServiceException(ResponseResult.SHOPPING_CART_SEED_COUPON_VALID);
} }
} }
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment