Commit 5ee2d2ae by shuhu.hou@freemud.cn

购物车校验fixbug

parent 2c1b33c4
...@@ -162,16 +162,8 @@ public class ShoppingCartAdapter { ...@@ -162,16 +162,8 @@ public class ShoppingCartAdapter {
cartGoods.setSkuName(productBean.getName()); cartGoods.setSkuName(productBean.getName());
cartGoods.setSpecProductId(attributes.get(ATTRIBUTEID)); cartGoods.setSpecProductId(attributes.get(ATTRIBUTEID));
String skuSpecName = "";
if (CollectionUtils.isNotEmpty(productBean.getSkuSpecValues())) {
List<String> skuSpecValus = productBean.getSkuSpecValues().stream().map(p -> p.getSpecValue()).collect(Collectors.toList());
skuSpecName = StringUtils.join(skuSpecValus, "/");
}
String attributeName = attributes.get(ATTRIBUTENAME) == null ? "" : attributes.get(ATTRIBUTENAME);
cartGoods.setSubName(StringUtils.isNotEmpty(skuSpecName) && StringUtils.isNotEmpty(attributeName) ?
skuSpecName + "/" + attributeName : skuSpecName + attributeName);
String attributeName = attributes.get(ATTRIBUTENAME) == null ? "" : attributes.get(ATTRIBUTENAME);
cartGoods.setPic(StringUtils.isBlank(productBean.getPicture()) ? spuProduct.getPicture() : productBean.getPicture()); cartGoods.setPic(StringUtils.isBlank(productBean.getPicture()) ? spuProduct.getPicture() : productBean.getPicture());
cartGoods.setPackPrice(productBean.getPackPrice()); cartGoods.setPackPrice(productBean.getPackPrice());
cartGoods.setStockLimit(ObjectUtils.equals(1, productBean.getStockLimit())); cartGoods.setStockLimit(ObjectUtils.equals(1, productBean.getStockLimit()));
...@@ -250,23 +242,20 @@ public class ShoppingCartAdapter { ...@@ -250,23 +242,20 @@ public class ShoppingCartAdapter {
* *
* @param cartGoods 当前购物车商品行 * @param cartGoods 当前购物车商品行
* @param productBeans 购物车中所有的productId对应的商品详情 * @param productBeans 购物车中所有的productId对应的商品详情
* @param cartGoodsStates 购物车状态
*/ */
public void updateCartGoodsInfoNew(CartGoods cartGoods, List<ProductBeanDTO> productBeans, CartGoodsStates cartGoodsStates, List<String> invalidGoodsIdList) { public void updateCartGoodsInfoNew(CartGoods cartGoods, List<ProductBeanDTO> productBeans) {
Optional<ProductBeanDTO> firstProduct = productBeans.stream().filter(p -> ObjectUtils.equals(p.getPid(), cartGoods.getSpuId())).findFirst(); Optional<ProductBeanDTO> firstProduct = productBeans.stream().filter(p -> ObjectUtils.equals(p.getPid(), cartGoods.getSpuId())).findFirst();
if (!firstProduct.isPresent()) { if (!firstProduct.isPresent()) {
return; return;
} }
ProductBeanDTO spuProduct = firstProduct.get(); ProductBeanDTO spuProduct = firstProduct.get();
// 如果是sku普通商品,则商品属相取sku对应的spu的属性
List<ProductBeanDTO.ProductAttributeGroupListBean> productAttributeGroupList = spuProduct.getProductAttributeGroupList();
//是否是sku商品 //是否是sku商品
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().get() : null;
Map<String, String> attributes = getAttributes(cartGoods, cartGoods.getExtra(), productAttributeGroupList, invalidGoodsIdList); Map<String, String> attributes = getAttributesNew(cartGoods.getExtra());
cartGoods.setName(spuProduct.getName()); cartGoods.setName(spuProduct.getName());
cartGoods.setSpuName(spuProduct.getName()); cartGoods.setSpuName(spuProduct.getName());
cartGoods.setSkuName(isSkuProduct?skuProduct.getProductName():spuProduct.getName()); cartGoods.setSkuName(isSkuProduct?skuProduct.getProductName():spuProduct.getName());
...@@ -279,49 +268,22 @@ public class ShoppingCartAdapter { ...@@ -279,49 +268,22 @@ public class ShoppingCartAdapter {
if (isSetMealProduct) { if (isSetMealProduct) {
if (CollectionUtils.isNotEmpty(cartGoods.getProductComboList())) { if (CollectionUtils.isNotEmpty(cartGoods.getProductComboList())) {
for (CartGoods.ComboxGoods productCombo : cartGoods.getProductComboList()) { for (CartGoods.ComboxGoods productCombo : cartGoods.getProductComboList()) {
if (!updateComboxGoodsInfo(cartGoods, productCombo, firstProduct.get(), productBeans, cartGoodsStates, invalidGoodsIdList)) { updateComboxGoodsInfoNew(productCombo,spuProduct, true);
return;
}
} }
} }
if (CollectionUtils.isNotEmpty(cartGoods.getProductGroupList())) { if (CollectionUtils.isNotEmpty(cartGoods.getProductGroupList())) {
List<String> productGroupIdList = new ArrayList<>();
spuProduct.getProductGroupList().stream().map(t -> t.getGroupDetail()).forEach(t -> t.stream().forEach(group -> productGroupIdList.add(group.getProductId())));
for (CartGoods.ComboxGoods productGroup : cartGoods.getProductGroupList()) { for (CartGoods.ComboxGoods productGroup : cartGoods.getProductGroupList()) {
//如果套餐内可选商品移除,默认移除当前商品行 updateComboxGoodsInfoNew(productGroup,spuProduct, false);
boolean isExist = productGroupIdList.stream().anyMatch(p -> ObjectUtils.equals(productGroup.getGoodsId(), p));
if (!isExist) {
// 标记非法商品
invalidGoodsIdList.add(cartGoods.getCartGoodsUid());
return;
}
if (!updateComboxGoodsInfo(cartGoods, productGroup, firstProduct.get(), productBeans, cartGoodsStates, invalidGoodsIdList)) {
return;
}
} }
} }
} }
//更新当前商品行价格,check价格是否变更 //更新当前商品行价格
Long newOrigOriginalPrice = 0L; Long newOrigOriginalPrice = 0L;
if (isSetMealProduct) { if (isSetMealProduct) {
//如果是套餐,则当前商品行价格为:固定套餐价格* 数量+可选商品加价 价格 newOrigOriginalPrice+=cartGoods.getProductComboList().stream().mapToLong(t->t.getOriginalAmount()).sum();
Map<String, Integer> productOriginalPrices = new HashMap<>(); newOrigOriginalPrice += cartGoods.getProductGroupList().stream().mapToLong(t -> t.getOriginalAmount()).sum();
Map<String, Integer> productMarkUpPrices = new HashMap<>();
spuProduct.getProductGroupList().stream().map(t -> t.getGroupDetail()).forEach(t -> productMarkUpPrices.putAll(t.stream().collect(Collectors.toMap(ProductBeanDTO.ProductGroupType.GroupDetailType::getProductId, ProductBeanDTO.ProductGroupType.GroupDetailType::getMarkUpPrice))));
spuProduct.getProductGroupList().stream().map(t -> t.getGroupDetail()).forEach(t -> productOriginalPrices.putAll(t.stream().collect(Collectors.toMap(ProductBeanDTO.ProductGroupType.GroupDetailType::getProductId, ProductBeanDTO.ProductGroupType.GroupDetailType::getProductFinalPrice))));
if (CollectionUtils.isNotEmpty(cartGoods.getProductGroupList())) {
for (CartGoods.ComboxGoods groupProduct : cartGoods.getProductGroupList()) {
Integer originalPrice = productOriginalPrices.get(groupProduct.getGoodsId()) == null ? 0 : productOriginalPrices.get(groupProduct.getGoodsId());
newOrigOriginalPrice += originalPrice * groupProduct.getQty();
}
}
newOrigOriginalPrice += spuProduct.getProductComboList().stream().mapToInt(t -> t.getQuantity() * t.getFinalPrice()).sum();
} else { } else {
newOrigOriginalPrice = spuProduct.getFinalPrice(); newOrigOriginalPrice =isSkuProduct?skuProduct.getFinalPrice(): spuProduct.getFinalPrice();
}
Long oldOrigOriginalPrice = cartGoods.getOriginalPrice();
if (null != oldOrigOriginalPrice && !Objects.equals(newOrigOriginalPrice, oldOrigOriginalPrice)) {
cartGoodsStates.setPriceChanged(true);
} }
cartGoods.setOriginalPrice(newOrigOriginalPrice); cartGoods.setOriginalPrice(newOrigOriginalPrice);
cartGoods.setOriginalAmount(newOrigOriginalPrice*cartGoods.getQty()); cartGoods.setOriginalAmount(newOrigOriginalPrice*cartGoods.getQty());
...@@ -378,6 +340,44 @@ public class ShoppingCartAdapter { ...@@ -378,6 +340,44 @@ public class ShoppingCartAdapter {
return true; return true;
} }
/**
* 更新套餐固定商品、可选商品信息
*
* @param comboxGoods 固定商品或可选商品
* @param parentProductBean 套餐服商品
* @param isComboxGoods 是否是固定商品
* @return
*/
private void updateComboxGoodsInfoNew(CartGoods.ComboxGoods comboxGoods, ProductBeanDTO parentProductBean, boolean isComboxGoods) {
ProductBeanDTO.ProductComboType productComboType = new ProductBeanDTO.ProductComboType();
ProductBeanDTO.ProductGroupType.GroupDetailType groupDetailType=new ProductBeanDTO.ProductGroupType.GroupDetailType();
if (isComboxGoods){
productComboType= parentProductBean.getProductComboList().stream().filter(p -> ObjectUtils.equals(comboxGoods.getGoodsId(), p.getProductId())).findFirst().orElse(new ProductBeanDTO.ProductComboType());
}else {
Map<String, ProductBeanDTO.ProductGroupType.GroupDetailType> map=new HashMap<>();
parentProductBean.getProductGroupList().stream().map(t-> t.getGroupDetail()).forEach(group-> group.forEach(detailType -> map.put( detailType.getProductId(),detailType)));
groupDetailType = map.get(comboxGoods.getGoodsId());
}
// 若是固定商品则取商品详情的FinalPrice,若是可选商品则取MarkUpPrice
Long finalPrice =isComboxGoods? productComboType.getFinalPrice().longValue():groupDetailType.getMarkUpPrice().longValue();
// 设置商品详情
Map<String, String> attributes = getAttributesNew(comboxGoods.getExtra());
comboxGoods.setName(isComboxGoods?productComboType.getProductName():groupDetailType.getProductName());
comboxGoods.setSpuName(comboxGoods.getName());
comboxGoods.setSpecProductId(attributes.get(ATTRIBUTEID));
comboxGoods.setSubName(attributes.get(ATTRIBUTENAME));
comboxGoods.setPic(isComboxGoods?productComboType.getPicture():groupDetailType.getPicture());
comboxGoods.setOriginalPrice(isComboxGoods?productComboType.getFinalPrice().longValue():groupDetailType.getProductFinalPrice().longValue());
comboxGoods.setOriginalAmount(comboxGoods.getOriginalPrice()*comboxGoods.getQty());
comboxGoods.setAmount(finalPrice*comboxGoods.getQty());
comboxGoods.setCustomerCode(isComboxGoods?productComboType.getCustomerCode():groupDetailType.getCustomerCode());
comboxGoods.setFinalPrice(finalPrice);
comboxGoods.setWeightType(isComboxGoods? CommonsConstant.WEIGHT_PRODUCT.equals(productComboType.getWeightType()):CommonsConstant.WEIGHT_PRODUCT.equals(groupDetailType.getWeightType()));
comboxGoods.setUnit(isComboxGoods?productComboType.getUnit():groupDetailType.getUnit());
}
private Map<String, String> getAttributes(CartGoods cartGoods, List<CartGoods.CartGoodsExtra> extra, List<ProductBeanDTO.ProductAttributeGroupListBean> attributeGroupListBeanList, List<String> invalidGoodsIdList) { private Map<String, String> getAttributes(CartGoods cartGoods, List<CartGoods.CartGoodsExtra> extra, List<ProductBeanDTO.ProductAttributeGroupListBean> attributeGroupListBeanList, List<String> invalidGoodsIdList) {
if (CollectionUtils.isEmpty(extra) && CollectionUtils.isNotEmpty(attributeGroupListBeanList)) { if (CollectionUtils.isEmpty(extra) && CollectionUtils.isNotEmpty(attributeGroupListBeanList)) {
invalidGoodsIdList.add(cartGoods.getCartGoodsUid()); invalidGoodsIdList.add(cartGoods.getCartGoodsUid());
...@@ -414,6 +414,18 @@ public class ShoppingCartAdapter { ...@@ -414,6 +414,18 @@ public class ShoppingCartAdapter {
return result; return result;
} }
private Map<String, String> getAttributesNew(List<CartGoods.CartGoodsExtra> extra) {
if (CollectionUtils.isEmpty(extra)) {
return new HashMap<>();
}
List<String> attributeIds = extra.stream().map(CartGoods.CartGoodsExtra::getAttributeId).collect(Collectors.toList());
List<String> attributeNames = extra.stream().map(CartGoods.CartGoodsExtra::getAttributeName).collect(Collectors.toList());
Map<String, String> result = new HashMap<>();
result.put(ATTRIBUTEID, StringUtils.join(attributeIds, "/"));
result.put(ATTRIBUTENAME, StringUtils.join(attributeNames, "/"));
return result;
}
private boolean checkComboProductChange(List<CartGoods.ComboxGoods> comboxGoods, ProductBeanDTO productBean, CartGoods cartGoods, List<String> invalidGoodsIdList) { private boolean checkComboProductChange(List<CartGoods.ComboxGoods> comboxGoods, ProductBeanDTO productBean, CartGoods cartGoods, List<String> invalidGoodsIdList) {
for (ProductBeanDTO.ProductComboType product : productBean.getProductComboList()) { for (ProductBeanDTO.ProductComboType product : productBean.getProductComboList()) {
......
...@@ -178,7 +178,9 @@ public interface ShoppingCartBaseService { ...@@ -178,7 +178,9 @@ public interface ShoppingCartBaseService {
ValidateShopProductRequest validateShopProductRequest = shoppingCartAdapter.getValidateShopProductRequest(checkCartRequest); ValidateShopProductRequest validateShopProductRequest = shoppingCartAdapter.getValidateShopProductRequest(checkCartRequest);
com.freemud.application.sdk.api.base.BaseResponse<ValiadShopProductResponse> valiadResponse = productService.validateShopProduct(validateShopProductRequest); com.freemud.application.sdk.api.base.BaseResponse<ValiadShopProductResponse> valiadResponse = productService.validateShopProduct(validateShopProductRequest);
if (valiadResponse == null || !CartResponseConstant.SUCCESS.getCode().equals(valiadResponse.getCode()) || valiadResponse.getData()==null) { if (valiadResponse == null || !CartResponseConstant.SUCCESS.getCode().equals(valiadResponse.getCode()) || valiadResponse.getData()==null) {
return CartResponseUtil.error(valiadResponse.getMessage()); checkCartRequest.getShoppingCartGoodsResponseVo().setChanged(true);
checkCartRequest.getShoppingCartGoodsResponseVo().setToastMsg(ShoppingCartConstant.SHOPPING_CART_INVALIAD_GOODS);
return CartResponseUtil.error(valiadResponse.getMessage(),checkCartRequest);
} }
ValiadShopProductResponse valiadResult = valiadResponse.getData(); ValiadShopProductResponse valiadResult = valiadResponse.getData();
//非法商品(商品是否存在、商品是否处于上架状态)自动移除,返回前端提示 //非法商品(商品是否存在、商品是否处于上架状态)自动移除,返回前端提示
...@@ -198,14 +200,16 @@ public interface ShoppingCartBaseService { ...@@ -198,14 +200,16 @@ public interface ShoppingCartBaseService {
CartGoodsStates cartGoodsStates = new CartGoodsStates(); CartGoodsStates cartGoodsStates = new CartGoodsStates();
//更新购物车详细信息 //更新购物车详细信息
if (CollectionUtils.isEmpty(checkCartRequest.getCartGoodsList()) || CollectionUtils.isEmpty(productList)){ if (CollectionUtils.isEmpty(checkCartRequest.getCartGoodsList()) || CollectionUtils.isEmpty(productList)){
return CartResponseUtil.success(checkCartRequest); checkCartRequest.getShoppingCartGoodsResponseVo().setChanged(true);
checkCartRequest.getShoppingCartGoodsResponseVo().setToastMsg(ShoppingCartConstant.SHOPPING_CART_INVALIAD_GOODS);
return CartResponseUtil.error(valiadResponse.getMessage(),checkCartRequest);
} }
for (CartGoods cartGoods : checkCartRequest.getCartGoodsList()) { for (CartGoods cartGoods : checkCartRequest.getCartGoodsList()) {
// 当goodsId为空或商品是商品券时直接跳过 // 当goodsId为空或商品是商品券时直接跳过
if (StringUtils.isEmpty(cartGoods.getGoodsId()) || Objects.equals(cartGoods.getGoodsType(), GoodsTypeEnum.COUPON_GOODS.getGoodsType())) { if (StringUtils.isEmpty(cartGoods.getGoodsId()) || Objects.equals(cartGoods.getGoodsType(), GoodsTypeEnum.COUPON_GOODS.getGoodsType())) {
continue; continue;
} }
shoppingCartAdapter.updateCartGoodsInfoNew(cartGoods, productList, cartGoodsStates, new ArrayList<>()); shoppingCartAdapter.updateCartGoodsInfoNew(cartGoods, productList);
} }
//校验商品券是否有当前点餐方式 //校验商品券是否有当前点餐方式
cartGoodsStates = updateSpqCartGoodsInfo(checkCartRequest.getCartGoodsList(), checkCartRequest.getOrderWay(), checkCartRequest.getPartnerId(), checkCartRequest.getTrackingNo(), cartGoodsStates); cartGoodsStates = updateSpqCartGoodsInfo(checkCartRequest.getCartGoodsList(), checkCartRequest.getOrderWay(), checkCartRequest.getPartnerId(), checkCartRequest.getTrackingNo(), cartGoodsStates);
...@@ -217,7 +221,9 @@ public interface ShoppingCartBaseService { ...@@ -217,7 +221,9 @@ public interface ShoppingCartBaseService {
return CartResponseUtil.success(checkCartRequest); return CartResponseUtil.success(checkCartRequest);
} catch (Exception e) { } catch (Exception e) {
ErrorLog.printErrorLog("assortment-shoppingcart-sdk", checkCartRequest.getTrackingNo(), e.getMessage(), "checkAllCartGoods", checkCartRequest, e, Level.ERROR); ErrorLog.printErrorLog("assortment-shoppingcart-sdk", checkCartRequest.getTrackingNo(), e.getMessage(), "checkAllCartGoods", checkCartRequest, e, Level.ERROR);
return null; checkCartRequest.getShoppingCartGoodsResponseVo().setChanged(true);
checkCartRequest.getShoppingCartGoodsResponseVo().setToastMsg(ShoppingCartConstant.SHOPPING_CART_INVALIAD_GOODS);
return CartResponseUtil.error(e.getMessage(),checkCartRequest);
} }
} }
...@@ -343,8 +349,7 @@ public interface ShoppingCartBaseService { ...@@ -343,8 +349,7 @@ public interface ShoppingCartBaseService {
} }
ProductBeanDTO productBean; ProductBeanDTO productBean;
// 判断商品是否合法(商品是否存在、商品是否处于上架状态) // 判断商品是否合法(商品是否存在、商品是否处于上架状态)
if (((productBean = productBeanMap.get(cartGoods.getGoodsId())) != null) && (productBean.isValid()) if (((productBean = productBeanMap.get(cartGoods.getGoodsId())) != null) && (StoreItemStatus.PUT_ON_SALE.getCode().equals(productBean.getStatus()))) {
&& (StoreItemStatus.PUT_ON_SALE.getCode().equals(productBean.getStatus()))) {
ShoppingCartAdapter shoppingCartAdapter = SDKCommonBaseContextWare.getBean(ShoppingCartAdapter.class); ShoppingCartAdapter shoppingCartAdapter = SDKCommonBaseContextWare.getBean(ShoppingCartAdapter.class);
shoppingCartAdapter.updateCartGoodsInfo(cartGoods, productBeans, cartGoodsStates, invalidGoodsIdList); shoppingCartAdapter.updateCartGoodsInfo(cartGoods, productBeans, cartGoodsStates, invalidGoodsIdList);
} else { } else {
......
...@@ -29,4 +29,7 @@ public class CartResponseUtil { ...@@ -29,4 +29,7 @@ public class CartResponseUtil {
public static <T> BaseResponse<T> error(String message) { public static <T> BaseResponse<T> error(String message) {
return new BaseResponse<>(Version.VERSION_1, CartResponseConstant.FAIL.getCode(), message); return new BaseResponse<>(Version.VERSION_1, CartResponseConstant.FAIL.getCode(), message);
} }
public static <T> BaseResponse<T> error(String message,T t) {
return new BaseResponse<>(CartResponseConstant.FAIL.getCode(), message, Version.VERSION_1, t);
}
} }
...@@ -37,7 +37,6 @@ public interface CommonService { ...@@ -37,7 +37,6 @@ public interface CommonService {
request.setStoreCode(storeCode); request.setStoreCode(storeCode);
StoreCenterService storeCenterService = SpringBeanUtil.getBean(StoreCenterService.class); StoreCenterService storeCenterService = SpringBeanUtil.getBean(StoreCenterService.class);
BaseResponse<List<String>> orgList = storeCenterService.getOrgList(request, LogThreadLocal.getTrackingNo()); BaseResponse<List<String>> orgList = storeCenterService.getOrgList(request, LogThreadLocal.getTrackingNo());
ApiLog.info("CommonService_getOrgIds",request,orgList);
if (orgList != null && ResponseCodeConstant.RESPONSE_SUCCESS_STR.equals(orgList.getCode())) { if (orgList != null && ResponseCodeConstant.RESPONSE_SUCCESS_STR.equals(orgList.getCode())) {
return orgList.getData(); return orgList.getData();
} }
......
...@@ -156,7 +156,7 @@ public class AssortmentSdkService { ...@@ -156,7 +156,7 @@ public class AssortmentSdkService {
}else { }else {
baseResponse=shoppingCartService.checkAllCartGoods(checkCartRequest); baseResponse=shoppingCartService.checkAllCartGoods(checkCartRequest);
} }
if (baseResponse == null || !ResponseResult.SUCCESS.getCode().equals(baseResponse.getCode())) { if (baseResponse == null) {
return null; return null;
} }
return baseResponse.getResult(); return baseResponse.getResult();
......
...@@ -40,7 +40,7 @@ public class CustomerScoreService implements IPromotionService { ...@@ -40,7 +40,7 @@ public class CustomerScoreService implements IPromotionService {
@Override @Override
public void updateShoppingCartGoodsDiscount(CouponPromotionVO couponPromotionVO, ActivityQueryDto activityQueryDto, ActivityCalculationDiscountResponseDto.CalculationDiscountResult calculationDiscountResult, List<CartGoods> cartGoodsList, ShoppingCartGoodsResponseVo shoppingCartGoodsResponseVo, UserLoginInfoDto userLoginInfoDto, ShoppingCartInfoRequestVo shoppingCartInfoRequestVo) { public void updateShoppingCartGoodsDiscount(CouponPromotionVO couponPromotionVO, ActivityQueryDto activityQueryDto, ActivityCalculationDiscountResponseDto.CalculationDiscountResult calculationDiscountResult, List<CartGoods> cartGoodsList, ShoppingCartGoodsResponseVo shoppingCartGoodsResponseVo, UserLoginInfoDto userLoginInfoDto, ShoppingCartInfoRequestVo shoppingCartInfoRequestVo) {
if (shoppingCartInfoRequestVo == null || shoppingCartInfoRequestVo.getUseCustomerScore() == null || shoppingCartInfoRequestVo.getUseCustomerScore() == null || shoppingCartInfoRequestVo.getUseCustomerScore().equals(CustomerScoreConstant.NO_DISPLAY.getValue())) { if (shoppingCartInfoRequestVo == null || ObjectUtils.notEqual(1, shoppingCartInfoRequestVo.getFlag()) || shoppingCartInfoRequestVo.getUseCustomerScore() == null || shoppingCartInfoRequestVo.getUseCustomerScore() == null || shoppingCartInfoRequestVo.getUseCustomerScore().equals(CustomerScoreConstant.NO_DISPLAY.getValue())) {
return; return;
} }
GetUserScoreUseDetailRequest request = new GetUserScoreUseDetailRequest(); GetUserScoreUseDetailRequest request = new GetUserScoreUseDetailRequest();
......
...@@ -410,19 +410,20 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService { ...@@ -410,19 +410,20 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
String appId = shoppingCartInfoRequestVo.getAppId(); String appId = shoppingCartInfoRequestVo.getAppId();
String couponCode = shoppingCartInfoRequestVo.getCouponCode(); String couponCode = shoppingCartInfoRequestVo.getCouponCode();
String activityCode = shoppingCartInfoRequestVo.getActivityCode(); String activityCode = shoppingCartInfoRequestVo.getActivityCode();
Integer flag = shoppingCartInfoRequestVo.getFlag();
// 获取购物车商品 // 获取购物车商品
List<CartGoods> cartGoodsList = assortmentSdkService.getShoppingCart(partnerId, storeId, userId, null, "", shoppingCartBaseService); List<CartGoods> cartGoodsList = assortmentSdkService.getShoppingCart(partnerId, storeId, userId, null, "", shoppingCartBaseService);
// check购物车中所有商品 // 如果购物车商品不为空, 则check购物车中所有商品
CheckCartRequest checkCartRequest = assortmentSdkService.checkShoppingCartSdk(cartGoodsList, partnerId, storeId, shoppingCartGoodsResponseVo, shoppingCartInfoRequestVo.getOrderType(), "", shoppingCartBaseService); if (CollectionUtils.isNotEmpty(cartGoodsList)){
if (checkCartRequest.getShoppingCartGoodsResponseVo() != null) { CheckCartRequest checkCartRequest = assortmentSdkService.checkShoppingCartSdk(cartGoodsList, partnerId, storeId, shoppingCartGoodsResponseVo, shoppingCartInfoRequestVo.getOrderType(), "", shoppingCartBaseService);
shoppingCartGoodsResponseVo.setToastMsg(checkCartRequest.getShoppingCartGoodsResponseVo().getToastMsg()); if (checkCartRequest.getShoppingCartGoodsResponseVo() != null) {
shoppingCartGoodsResponseVo.setChanged(checkCartRequest.getShoppingCartGoodsResponseVo().getChanged());
shoppingCartGoodsResponseVo.setToastMsg(checkCartRequest.getShoppingCartGoodsResponseVo().getToastMsg());
}
cartGoodsList = JSONArray.parseArray(JSONObject.toJSONString(checkCartRequest.getCartGoodsList()), CartGoods.class);
// 重新存储最新购物车
assortmentSdkService.setShoppingCart(partnerId, storeId, userId, cartGoodsList, assortmentCustomerInfoVo.getSessionId(), "", this.shoppingCartBaseService);
} }
cartGoodsList = JSONArray.parseArray(JSONObject.toJSONString(checkCartRequest.getCartGoodsList()), CartGoods.class);
// 重新存储最新购物车
assortmentSdkService.setShoppingCart(partnerId, storeId, userId, cartGoodsList, assortmentCustomerInfoVo.getSessionId(), "", this.shoppingCartBaseService);
List<ActivityCalculationDiscountRequestDto.CalculationDiscountCoupon> coupons = new ArrayList<>(); List<ActivityCalculationDiscountRequestDto.CalculationDiscountCoupon> coupons = new ArrayList<>();
// 当couponCode不为空时,需参与价格计算 // 当couponCode不为空时,需参与价格计算
if (StringUtils.isNotEmpty(couponCode)) { if (StringUtils.isNotEmpty(couponCode)) {
......
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