Commit 269298ae by 孙昱

sunyu::update::fix bug about addGoods

parent 01ef9e72
......@@ -85,7 +85,7 @@ public class CartGoods {
/**
* 是否为种子券商品 1:是;0:否
*/
private int isSeedCouponGoods;
private int isMonthCardGoods;
/**
* 是否是太阳蛋商品
*/
......
......@@ -31,6 +31,7 @@ import cn.freemud.service.thirdparty.CustomerApplicationClient;
import cn.freemud.utils.BeanUtil;
import cn.freemud.service.thirdparty.ProductClient;
import cn.freemud.utils.ResponseUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.freemud.application.sdk.api.base.SDKCommonBaseContextWare;
......@@ -506,6 +507,24 @@ public class ShoppingCartMCoffeeServiceImpl {
String skuId = "";
Integer finalQty = qty;
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 (StringUtils.equals(cartGoods_.getSkuId(),"9999") && StringUtils.equals(cartGoods_.getSpuId(),"9999") && qty == 0){
clearMonthCouponInfo(cartGoodsList,cartGoods_.getCouponCode());
......@@ -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);
}
......@@ -2274,7 +2293,7 @@ public class ShoppingCartMCoffeeServiceImpl {
*/
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);
}
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