Commit f07cd9f5 by yu.sun

sunyu::fixbug::fix bug about material

parent 45acdbb8
......@@ -944,19 +944,20 @@ public class ShoppingCartConvertAdapter {
*/
private void checkSkuMaterialProductForMccafe(com.freemud.sdk.api.assortment.shoppingcart.domain.CartGoods cartGoods,ProductTypeBeanDTO spuProduct) {
if (CollectionUtils.isNotEmpty(spuProduct.getSkuList())) {
for (ProductTypeBeanDTO.SkuProductBean skuProductBean : spuProduct.getSkuList()) {
if (CollectionUtils.isNotEmpty(skuProductBean.getAdditionalGroupList())) {
for (ProductTypeBeanDTO.ProductGroupType productGroupType : skuProductBean.getAdditionalGroupList()) {
if (skuProductBean.getSkuId().equals(cartGoods.getGoodsId()) && null != productGroupType){
//提取加料信息
spuProduct.getSkuList().stream().filter(sku-> sku.getSkuId().equals(cartGoods.getGoodsId())).collect(Collectors.toList()).forEach(
skuProductBean -> {
if (CollectionUtils.isNotEmpty(skuProductBean.getAdditionalGroupList())){
List<String> materialSpu = new ArrayList<>();
List<ProductTypeBeanDTO.ProductGroupType.GroupDetailType> groupDetail = new ArrayList<>();
groupDetail.addAll(productGroupType.getGroupDetail());
HashMap<String, ProductTypeBeanDTO.ProductGroupType.GroupDetailType> materialHash = new HashMap<>();
for (ProductTypeBeanDTO.ProductGroupType.GroupDetailType groupDetailType : groupDetail) {
materialHash.put(groupDetailType.getProductId(), groupDetailType);
materialSpu.add(groupDetailType.getProductId());
for (ProductTypeBeanDTO.ProductGroupType productGroupType : skuProductBean.getAdditionalGroupList()) {
//提取加料信息
List<ProductTypeBeanDTO.ProductGroupType.GroupDetailType> groupDetail = new ArrayList<>();
groupDetail.addAll(productGroupType.getGroupDetail());
for (ProductTypeBeanDTO.ProductGroupType.GroupDetailType groupDetailType : groupDetail) {
materialHash.put(groupDetailType.getProductId(), groupDetailType);
materialSpu.add(groupDetailType.getProductId());
}
}
//加车小料和商品小料没有交集则提示商品信息有异常
......@@ -994,14 +995,14 @@ public class ShoppingCartConvertAdapter {
cartGoods.setMaterialAmount(materialAmount);
//加料行记录原价总价
cartGoods.setOriginalMaterialAmount(originalMaterAmount);
}else{
cartGoods.setGoodsType(com.freemud.sdk.api.assortment.shoppingcart.constant.GoodsTypeEnum.EXCEPTION_GOODS.getGoodsType());
cartGoods.setProductMaterialList(new ArrayList<>());
return;
}
}
}
}
);
}
}
......
......@@ -34,6 +34,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;
......@@ -170,7 +171,6 @@ public class ShoppingCartMCoffeeServiceImpl {
if (CollectionUtils.isEmpty(oldCartGoodsList)) {
oldCartGoodsList = new ArrayList<>();
}
//商品券已添加情况校验
List<ActivityCalculationDiscountRequestDto.CalculationDiscountCoupon> coupons = checkGoodsCoupon(oldCartGoodsList, operationType, couponCode,goodsId, addShoppingCartGoodsRequestVo);
CartGoods addCartGoods = convent2CartGoods(addShoppingCartGoodsRequestVo, goodsId ,vo);
......@@ -1483,7 +1483,6 @@ public class ShoppingCartMCoffeeServiceImpl {
try {
ValidateShopProductRequest validateShopProductRequest = shoppingCartConvertAdapter.getValidateShopProductRequest(checkCartRequest);
ProductBaseResponse<ValiadShopProductResponse> valiadResponse = productClient.validateShopProductAboutReason(validateShopProductRequest);
if (valiadResponse == null || !CartResponseConstant.SUCCESS.getCode().equals(valiadResponse.getErrcode().toString()) || valiadResponse.getData()==null) {
checkCartRequest.getCartGoodsList().clear();
checkCartRequest.getShoppingCartGoodsResponseVo().setChanged(true);
......
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