Commit 269298ae by 孙昱

sunyu::update::fix bug about addGoods

parent 01ef9e72
...@@ -85,7 +85,7 @@ public class CartGoods { ...@@ -85,7 +85,7 @@ public class CartGoods {
/** /**
* 是否为种子券商品 1:是;0:否 * 是否为种子券商品 1:是;0:否
*/ */
private int isSeedCouponGoods; private int isMonthCardGoods;
/** /**
* 是否是太阳蛋商品 * 是否是太阳蛋商品
*/ */
......
...@@ -31,6 +31,7 @@ import cn.freemud.service.thirdparty.CustomerApplicationClient; ...@@ -31,6 +31,7 @@ import cn.freemud.service.thirdparty.CustomerApplicationClient;
import cn.freemud.utils.BeanUtil; import cn.freemud.utils.BeanUtil;
import cn.freemud.service.thirdparty.ProductClient; import cn.freemud.service.thirdparty.ProductClient;
import cn.freemud.utils.ResponseUtil; import cn.freemud.utils.ResponseUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.freemud.application.sdk.api.base.SDKCommonBaseContextWare; import com.freemud.application.sdk.api.base.SDKCommonBaseContextWare;
...@@ -506,6 +507,24 @@ public class ShoppingCartMCoffeeServiceImpl { ...@@ -506,6 +507,24 @@ public class ShoppingCartMCoffeeServiceImpl {
String skuId = ""; String skuId = "";
Integer finalQty = qty; Integer finalQty = qty;
for (CartGoods cartGoods_ : cartGoodsList) { for (CartGoods cartGoods_ : cartGoodsList) {
//如果菜单购月卡数量大于10,则不作数量修改,直接算价并返回之前购物车信息
if (Objects.equals(1,cartGoods_.getIsMonthCard())
&& cartGoods_.getCartGoodsUid().equals(updateShoppingCartGoodsQtyRequestVo.getCartGoodsUid())
&& updateShoppingCartGoodsQtyRequestVo.getQty()>10) {
shoppingCartGoodsResponseVo.setChanged(true);
shoppingCartGoodsResponseVo.setToastMsg(ResponseResult.SHOPPING_CART_QTY_LIMIT_ERR.getMessage());
setAddAndUpdateResponse(shoppingCartGoodsResponseVo,cartGoodsList,
ResponseResult.SHOPPING_CART_QTY_LIMIT_ERR.getMessage(),
ShoppingCartConstant.ADD_AND_UPDATE,null);
String freightCouponCode = assortmentSdkService.getShoppingCartCoupon(partnerId, storeId, userId, shoppingCartBaseService, SaveCouponType.FREIGHT_COUPON.getCode());
String couponCode = assortmentSdkService.getShoppingCartCoupon(partnerId, storeId, userId, shoppingCartBaseService, SaveCouponType.COUPON.getCode());
// 当couponCode不为空时,需参与价格计算
List<ActivityCalculationDiscountRequestDto.CalculationDiscountCoupon> coupons = getCoupon(couponCode, null, cartGoodsList,freightCouponCode,null);
// 促销活动的优惠金额计算
calculationService.updateShoppingCartGoodsDiscount(partnerId, storeId, userId, appId, orderType, assortmentCustomerInfoVo.isMemberPaid(), menuType, receiveId, couponCode,
cartGoodsList, coupons, new ArrayList<>(), shoppingCartGoodsResponseVo,null);
return ResponseUtil.success(shoppingCartGoodsResponseVo);
}
if (cartGoodsUid.equals(cartGoods_.getCartGoodsUid())) { if (cartGoodsUid.equals(cartGoods_.getCartGoodsUid())) {
if (StringUtils.equals(cartGoods_.getSkuId(),"9999") && StringUtils.equals(cartGoods_.getSpuId(),"9999") && qty == 0){ if (StringUtils.equals(cartGoods_.getSkuId(),"9999") && StringUtils.equals(cartGoods_.getSpuId(),"9999") && qty == 0){
clearMonthCouponInfo(cartGoodsList,cartGoods_.getCouponCode()); clearMonthCouponInfo(cartGoodsList,cartGoods_.getCouponCode());
...@@ -531,7 +550,7 @@ public class ShoppingCartMCoffeeServiceImpl { ...@@ -531,7 +550,7 @@ public class ShoppingCartMCoffeeServiceImpl {
} }
//商品券行商品数量不可增加 //商品券行商品数量不可增加
if (StringUtils.isNotEmpty(cartGoods.getCouponCode()) && qty > 1 && cartGoods.getIsMonthCardGoods() < 1 && cartGoods.getIsMonthCard() < 1) { if (StringUtils.isNotEmpty(cartGoods.getCouponCode()) && qty > 1 && (cartGoods.getIsMonthCardGoods() < 1 || cartGoods.getIsMonthCard() < 1)) {
throw new ServiceException(ResponseResult.NOT_SUPPORTED); throw new ServiceException(ResponseResult.NOT_SUPPORTED);
} }
...@@ -2274,7 +2293,7 @@ public class ShoppingCartMCoffeeServiceImpl { ...@@ -2274,7 +2293,7 @@ public class ShoppingCartMCoffeeServiceImpl {
*/ */
private void seedCouponGoodsValidate(MCoffeeAddGoodsRequestVo addShoppingCartGoodsRequestVo,List<CartGoods> oldCartGoodsList){ private void seedCouponGoodsValidate(MCoffeeAddGoodsRequestVo addShoppingCartGoodsRequestVo,List<CartGoods> oldCartGoodsList){
//若加购种子券商品,则券号不可为空 //若加购种子券商品,则券号不可为空
if (StringUtils.isEmpty(addShoppingCartGoodsRequestVo.getCouponCode())){ if (null == addShoppingCartGoodsRequestVo.getMonthCardInfo()){
throw new ServiceException(ResponseResult.SHOPPING_CART_ADD_ERROR); throw new ServiceException(ResponseResult.SHOPPING_CART_ADD_ERROR);
} }
for (CartGoods cartGoods : oldCartGoodsList) { for (CartGoods cartGoods : oldCartGoodsList) {
......
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