Commit 50020790 by ping.wu

Merge branches 'develop' and 'feature/20200721_麦咖啡购物车_wuping' of…

Merge branches 'develop' and 'feature/20200721_麦咖啡购物车_wuping' of http://gitlab.freemud.com/order-group-application/order-group into develop
parents d2556051 b670c7f8
......@@ -322,6 +322,7 @@ public class CartGoods {
// 原始字符串
StringBuilder originalString = new StringBuilder();
originalString.append(goodsId);
originalString.append(couponCode);
if (CollectionUtils.isNotEmpty(extra)) {
extra.stream().sorted(Comparator.comparing(CartGoodsExtra::getAttributeId)).forEach(e -> originalString.append(e.getAttributeId()));
}
......@@ -343,6 +344,7 @@ public class CartGoods {
StringBuilder currentString = new StringBuilder();
currentString.append(cartGoods.getGoodsId());
currentString.append(cartGoods.getCouponCode());
if (CollectionUtils.isNotEmpty(cartGoods.getExtra())) {
cartGoods.getExtra().stream().sorted(Comparator.comparing(CartGoodsExtra::getAttributeId)).forEach(e -> currentString.append(e.getAttributeId()));
}
......
......@@ -133,7 +133,7 @@ public class ShoppingCartMCoffeeServiceImpl {
//商品券已添加情况校验
List<ActivityCalculationDiscountRequestDto.CalculationDiscountCoupon> coupons = checkGoodsCoupon(oldCartGoodsList, operationType, couponCode);
CartGoods addCartGoods = convent2CartGoods(addShoppingCartGoodsRequestVo);
CartGoods addCartGoods = convent2CartGoods(addShoppingCartGoodsRequestVo,goodsId);
setClassificationAndPrice(addCartGoods, productBeanListSpuClass);
//查询多个商品库存信息
// Integer checkQty = this.checkSkuQty(oldCartGoodsList, addCartGoods);
......@@ -186,7 +186,7 @@ public class ShoppingCartMCoffeeServiceImpl {
//购物车已存在商品券
if (StringUtils.isNotBlank(cartGoods.getCouponCode())) {
ActivityCalculationDiscountRequestDto.CalculationDiscountCoupon calculationDiscountCoupon = new ActivityCalculationDiscountRequestDto.CalculationDiscountCoupon();
calculationDiscountCoupon.setCode(couponCode);
calculationDiscountCoupon.setCode(cartGoods.getCouponCode());
coupons.add(calculationDiscountCoupon);
}
if (couponCode != null && couponCode.equals(cartGoods.getCouponCode())) {
......@@ -659,15 +659,15 @@ public class ShoppingCartMCoffeeServiceImpl {
List<CartGoods> allCartGoodsList = checkCartGoods(partnerId, storeId, orderType, menuType, shoppingCartGoodsResponseVo, newCartGoods);
//添加商品为商品券时,商品校验接口券号未设置,设置商品券号
if (StringUtils.isNotBlank(addCartGoods.getCouponCode())) {
for (CartGoods cartGoods : allCartGoodsList) {
if (cartGoods.getGoodsId().equals(addCartGoods.getGoodsId())) {
cartGoods.setCouponCode(addCartGoods.getCouponCode());
cartGoods.setGoodsType(2);
break;
}
}
}
// if (StringUtils.isNotBlank(addCartGoods.getCouponCode())) {
// for (CartGoods cartGoods : allCartGoodsList) {
// if (cartGoods.getGoodsId().equals(addCartGoods.getGoodsId()) && cartGoods.getCouponCode() == null) {
// cartGoods.setCouponCode(addCartGoods.getCouponCode());
// cartGoods.setGoodsType(2);
// break;
// }
// }
// }
List<CartGoods> nowCartGoodsList = new ArrayList<>();
......@@ -843,7 +843,8 @@ public class ShoppingCartMCoffeeServiceImpl {
}
//超值加购商品赋值
if (ObjectUtils.equals(GoodsTypeEnum.REDUCE_PRICE_GOODS.getGoodsType(), cartGoods.getGoodsType())) {
if (ObjectUtils.equals(GoodsTypeEnum.REDUCE_PRICE_GOODS.getGoodsType(), cartGoods.getGoodsType())
|| ObjectUtils.equals(GoodsTypeEnum.COUPON_GOODS.getGoodsType(), cartGoods.getGoodsType())) {
cartGoods.setOriginalPrice(productBeanListSpuClass.get(0).getOriginalPrice());
cartGoods.setFinalPrice(productBeanListSpuClass.get(0).getFinalPrice());
cartGoods.setPackPrice(productBeanListSpuClass.get(0).getPackPrice());
......@@ -861,10 +862,10 @@ public class ShoppingCartMCoffeeServiceImpl {
}
public static CartGoods convent2CartGoods(MCoffeeAddGoodsRequestVo addShoppingCartGoodsRequestVo) {
public static CartGoods convent2CartGoods(MCoffeeAddGoodsRequestVo addShoppingCartGoodsRequestVo,String goodsId) {
String spuId = addShoppingCartGoodsRequestVo.getSpuId();
String skuId = addShoppingCartGoodsRequestVo.getSkuId();
String goodsId = StringUtils.isEmpty(skuId) ? spuId : skuId;
// String goodsId = StringUtils.isEmpty(skuId) ? spuId : skuId;
Integer qty = addShoppingCartGoodsRequestVo.getQty() == null ? 1 : addShoppingCartGoodsRequestVo.getQty();
CartGoods cartGoods = new CartGoods();
cartGoods.setGoodsId(goodsId);
......@@ -875,6 +876,10 @@ public class ShoppingCartMCoffeeServiceImpl {
Integer goodsType = StringUtils.isEmpty(skuId) || ObjectUtils.equals(spuId, skuId) ? GoodsTypeEnum.SPU_GOODS.getGoodsType() : GoodsTypeEnum.SKU_GOODS.getGoodsType();
if (spuId.startsWith(CommonsConstant.COUPON_PREFIX)) {
goodsType = GoodsTypeEnum.COUPON_GOODS.getGoodsType();
cartGoods.setSpuId(goodsId);
cartGoods.setSkuId(goodsId);
cartGoods.setCouponCode(spuId.substring(CommonsConstant.COUPON_PREFIX.length()));
// cartGoods.setCartGoodsUid(spuId);
} else if (CollectionUtils.isNotEmpty(addShoppingCartGoodsRequestVo.getProductComboList()) || CollectionUtils.isNotEmpty(addShoppingCartGoodsRequestVo.getProductGroupList())) {
goodsType = GoodsTypeEnum.SET_MEAL_GOODS.getGoodsType();
}
......
......@@ -11,6 +11,7 @@ import cn.freemud.entities.dto.shoppingCart.ShoppingCartGoodsDto;
import cn.freemud.entities.vo.*;
import cn.freemud.enums.ActivityChannelEnum;
import cn.freemud.enums.ActivityTypeEnum;
import cn.freemud.enums.GoodsTypeEnum;
import cn.freemud.enums.ResponseResult;
import cn.freemud.interceptor.ServiceException;
import cn.freemud.service.CommonService;
......@@ -383,7 +384,7 @@ public class CalculationServiceImpl {
//累加需加入计算的商品
int index;
// 当商品已存在时,需累加数量
if ((index = calculationDiscountGoodsList.indexOf(calculationDiscountGoods)) >= 0) {
if ((index = calculationDiscountGoodsList.indexOf(calculationDiscountGoods)) >= 0 && !GoodsTypeEnum.COUPON_GOODS.getGoodsType().equals(cartGoods.getGoodsType())) {
ActivityCalculationDiscountRequestDto.CalculationDiscountGoods oldCalculationDiscountGoods = calculationDiscountGoodsList.get(index);
oldCalculationDiscountGoods.setGoodsQuantity(oldCalculationDiscountGoods.getGoodsQuantity() + calculationDiscountGoods.getGoodsQuantity());
} else {
......
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