Commit d0bcde3f by ping.wu

偶发现象,前端传一个skuid非spuid下多规格商品

parent a4cdaccd
package com.freemud.sdk.api.assortment.shoppingcart.adapter; package com.freemud.sdk.api.assortment.shoppingcart.adapter;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.freemud.application.sdk.api.productcenter.domain.ProductBeanDTO; import com.freemud.application.sdk.api.productcenter.domain.ProductBeanDTO;
import com.freemud.application.sdk.api.productcenter.request.product.valid.ProductAttributeValueType; import com.freemud.application.sdk.api.productcenter.request.product.valid.ProductAttributeValueType;
import com.freemud.application.sdk.api.productcenter.request.product.valid.ValidateShopProductRequest; import com.freemud.application.sdk.api.productcenter.request.product.valid.ValidateShopProductRequest;
import com.freemud.application.sdk.api.productcenter.request.product.valid.ValidateShopProductType; import com.freemud.application.sdk.api.productcenter.request.product.valid.ValidateShopProductType;
import com.freemud.application.sdk.api.productcenter.request.product.valid.ValidateSkuProductType; import com.freemud.application.sdk.api.productcenter.request.product.valid.ValidateSkuProductType;
import com.freemud.sdk.api.assortment.shoppingcart.constant.CommonsConstant; import com.freemud.sdk.api.assortment.shoppingcart.constant.*;
import com.freemud.sdk.api.assortment.shoppingcart.constant.GoodsTypeEnum;
import com.freemud.sdk.api.assortment.shoppingcart.constant.ProductStatus;
import com.freemud.sdk.api.assortment.shoppingcart.constant.ProductType;
import com.freemud.sdk.api.assortment.shoppingcart.domain.CartGoods; import com.freemud.sdk.api.assortment.shoppingcart.domain.CartGoods;
import com.freemud.sdk.api.assortment.shoppingcart.domain.CartGoodsStates; import com.freemud.sdk.api.assortment.shoppingcart.domain.CartGoodsStates;
import com.freemud.sdk.api.assortment.shoppingcart.exception.ServiceException;
import com.freemud.sdk.api.assortment.shoppingcart.request.CheckCartRequest; import com.freemud.sdk.api.assortment.shoppingcart.request.CheckCartRequest;
import com.freemud.sdk.api.assortment.shoppingcart.request.GetProductInfoRequest; import com.freemud.sdk.api.assortment.shoppingcart.request.GetProductInfoRequest;
import com.freemud.sdk.api.assortment.shoppingcart.util.ShoppingSdkLogUtil; import com.freemud.sdk.api.assortment.shoppingcart.util.ShoppingSdkLogUtil;
...@@ -275,8 +274,10 @@ public class ShoppingCartAdapter { ...@@ -275,8 +274,10 @@ public class ShoppingCartAdapter {
boolean isSkuProduct = ObjectUtils.equals(GoodsTypeEnum.SKU_GOODS.getGoodsType(), cartGoods.getGoodsType()); boolean isSkuProduct = ObjectUtils.equals(GoodsTypeEnum.SKU_GOODS.getGoodsType(), cartGoods.getGoodsType());
// 如果是套餐商品,更新套餐内固定商品&可选商品的详细信息 // 如果是套餐商品,更新套餐内固定商品&可选商品的详细信息
boolean isSetMealProduct = ObjectUtils.equals(ProductType.SetMeal.getCode(), spuProduct.getType()) || ObjectUtils.equals(ProductType.IncreasedPackage.getCode(), spuProduct.getType()); boolean isSetMealProduct = ObjectUtils.equals(ProductType.SetMeal.getCode(), spuProduct.getType()) || ObjectUtils.equals(ProductType.IncreasedPackage.getCode(), spuProduct.getType());
ProductBeanDTO.SkuProductBean skuProduct = isSkuProduct ? spuProduct.getSkuList().stream().filter(p -> ObjectUtils.equals(cartGoods.getSkuId(), p.getSkuId())).findFirst().get() : null; ProductBeanDTO.SkuProductBean skuProduct = isSkuProduct ? spuProduct.getSkuList().stream().filter(p -> ObjectUtils.equals(cartGoods.getSkuId(), p.getSkuId())).findFirst().orElse(null): null;
if(isSkuProduct && skuProduct == null){//特殊场景前端传一个skuid非spuid下多规格商品
throw new ServiceException(CartResponseConstant.FAIL);
}
Map<String, String> attributes = getAttributesNew(cartGoods.getExtra()); Map<String, String> attributes = getAttributesNew(cartGoods.getExtra());
if(!"早餐啡常搭".equals(cartGoods.getName()) && !"早餐啡常搭".equals(cartGoods.getSkuName()) && !"早餐啡常搭".equals(cartGoods.getSpuName()) if(!"早餐啡常搭".equals(cartGoods.getName()) && !"早餐啡常搭".equals(cartGoods.getSkuName()) && !"早餐啡常搭".equals(cartGoods.getSpuName())
&& !"啡常搭".equals(cartGoods.getName()) && !"啡常搭".equals(cartGoods.getSkuName()) && !"啡常搭".equals(cartGoods.getSpuName())) { && !"啡常搭".equals(cartGoods.getName()) && !"啡常搭".equals(cartGoods.getSkuName()) && !"啡常搭".equals(cartGoods.getSpuName())) {
...@@ -356,7 +357,7 @@ public class ShoppingCartAdapter { ...@@ -356,7 +357,7 @@ public class ShoppingCartAdapter {
this.checkMaterialProduct(cartGoods, spuProduct); this.checkMaterialProduct(cartGoods, spuProduct);
} catch (Exception ex) { } catch (Exception ex) {
ShoppingSdkLogUtil.errorLog( "updateCartGoodsInfoNew_Error cartGoods:{}", ex,cartGoods); ShoppingSdkLogUtil.errorLog( "updateCartGoodsInfoNew_Error cartGoods:{},productBeans:{}", ex, JSONObject.toJSONString(cartGoods),JSONObject.toJSONString(productBeans));
cartGoods.setCartGoodsUid(null); cartGoods.setCartGoodsUid(null);
} }
} }
......
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