Commit 53e19e61 by 徐康

Merge remote-tracking branch 'origin/qa' into qa

parents 4bf12afb fd38e190
...@@ -43,7 +43,6 @@ import com.freemud.application.sdk.api.ordercenter.response.orderInfo.OrderItemR ...@@ -43,7 +43,6 @@ import com.freemud.application.sdk.api.ordercenter.response.orderInfo.OrderItemR
import com.freemud.application.sdk.api.ordercenter.response.orderInfo.QueryByCodeResponse; import com.freemud.application.sdk.api.ordercenter.response.orderInfo.QueryByCodeResponse;
import com.freemud.application.sdk.api.ordercenter.service.OrderSdkService; import com.freemud.application.sdk.api.ordercenter.service.OrderSdkService;
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.service.ProductService;
import com.freemud.sdk.api.assortment.shoppingcart.constant.CartResponseConstant; import com.freemud.sdk.api.assortment.shoppingcart.constant.CartResponseConstant;
import com.freemud.application.sdk.api.storecenter.request.StoreInfoRequest; import com.freemud.application.sdk.api.storecenter.request.StoreInfoRequest;
import com.freemud.application.sdk.api.storecenter.response.StoreResponse; import com.freemud.application.sdk.api.storecenter.response.StoreResponse;
...@@ -56,7 +55,6 @@ import com.freemud.sdk.api.assortment.shoppingcart.request.CheckCartRequest; ...@@ -56,7 +55,6 @@ import com.freemud.sdk.api.assortment.shoppingcart.request.CheckCartRequest;
import com.freemud.sdk.api.assortment.shoppingcart.service.ShoppingCartBaseService; import com.freemud.sdk.api.assortment.shoppingcart.service.ShoppingCartBaseService;
import com.freemud.sdk.api.assortment.shoppingcart.service.impl.ShoppingCartBaseServiceImpl; import com.freemud.sdk.api.assortment.shoppingcart.service.impl.ShoppingCartBaseServiceImpl;
import com.freemud.sdk.api.assortment.shoppingcart.util.CartResponseUtil; import com.freemud.sdk.api.assortment.shoppingcart.util.CartResponseUtil;
import com.google.common.collect.Lists;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang.ObjectUtils; import org.apache.commons.lang.ObjectUtils;
...@@ -66,7 +64,6 @@ import org.springframework.beans.factory.annotation.Autowired; ...@@ -66,7 +64,6 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.util.*; import java.util.*;
import java.util.stream.Collectors; import java.util.stream.Collectors;
...@@ -109,7 +106,6 @@ public class ShoppingCartMCoffeeServiceImpl { ...@@ -109,7 +106,6 @@ public class ShoppingCartMCoffeeServiceImpl {
private OrderSdkService orderSdkService; private OrderSdkService orderSdkService;
@Autowired @Autowired
private StoreCenterService storeCenterService; private StoreCenterService storeCenterService;
@Autowired @Autowired
private ProductClient productClient; private ProductClient productClient;
@Autowired @Autowired
...@@ -161,6 +157,7 @@ public class ShoppingCartMCoffeeServiceImpl { ...@@ -161,6 +157,7 @@ public class ShoppingCartMCoffeeServiceImpl {
spuId2 = vo.getSkuId(); spuId2 = vo.getSkuId();
goodsId = vo.getSkuId(); goodsId = vo.getSkuId();
} }
productIds.add(Long.parseLong(goodsId)); productIds.add(Long.parseLong(goodsId));
// 获取添加商品的详细信息 // 获取添加商品的详细信息
List<ProductBeanDTO> productBeanListSpuClass = assortmentSdkService.getProductsInfoSdk(partnerId, storeId, Collections.singletonList(spuId2), menuType, this.shoppingCartBaseService); List<ProductBeanDTO> productBeanListSpuClass = assortmentSdkService.getProductsInfoSdk(partnerId, storeId, Collections.singletonList(spuId2), menuType, this.shoppingCartBaseService);
...@@ -172,7 +169,7 @@ public class ShoppingCartMCoffeeServiceImpl { ...@@ -172,7 +169,7 @@ public class ShoppingCartMCoffeeServiceImpl {
} }
//商品券已添加情况校验 //商品券已添加情况校验
List<ActivityCalculationDiscountRequestDto.CalculationDiscountCoupon> coupons = checkGoodsCoupon(oldCartGoodsList, operationType, couponCode,goodsId); List<ActivityCalculationDiscountRequestDto.CalculationDiscountCoupon> coupons = checkGoodsCoupon(oldCartGoodsList, operationType, couponCode,goodsId, addShoppingCartGoodsRequestVo);
CartGoods addCartGoods = convent2CartGoods(addShoppingCartGoodsRequestVo, goodsId ,vo); CartGoods addCartGoods = convent2CartGoods(addShoppingCartGoodsRequestVo, goodsId ,vo);
setClassificationAndPrice(addCartGoods, productBeanListSpuClass); setClassificationAndPrice(addCartGoods, productBeanListSpuClass);
if(StringUtils.isNotEmpty(addShoppingCartGoodsRequestVo.getGroupName())) { if(StringUtils.isNotEmpty(addShoppingCartGoodsRequestVo.getGroupName())) {
...@@ -180,6 +177,13 @@ public class ShoppingCartMCoffeeServiceImpl { ...@@ -180,6 +177,13 @@ public class ShoppingCartMCoffeeServiceImpl {
addCartGoods.setSpuName(addShoppingCartGoodsRequestVo.getGroupName()); addCartGoods.setSpuName(addShoppingCartGoodsRequestVo.getGroupName());
addCartGoods.setName(addShoppingCartGoodsRequestVo.getGroupName()); addCartGoods.setName(addShoppingCartGoodsRequestVo.getGroupName());
} }
//根据券号获取券名称
String couponName = "";
if (StringUtils.isNotEmpty(couponCode)){
CustomerInfoVo userLoginInfoDto = getCustomerInfoVo(sessionId);
couponName = getCouponNameByCode(couponCode,userLoginInfoDto,BusinessTypeEnum.getByType(addShoppingCartGoodsRequestVo.getMenuType()).getCode());
addCartGoods.setCouponName(couponName);
}
// 如果购物车中有商品券,则当前添加的商品是特价商品时,需要提示“已选商品券,与其他优惠商品不同享,商品将恢复原价” // 如果购物车中有商品券,则当前添加的商品是特价商品时,需要提示“已选商品券,与其他优惠商品不同享,商品将恢复原价”
boolean haveCouponProduct = oldCartGoodsList.parallelStream().anyMatch(k -> k.getCartGoodsUid().startsWith(CommonsConstant.COUPON_PREFIX)); boolean haveCouponProduct = oldCartGoodsList.parallelStream().anyMatch(k -> k.getCartGoodsUid().startsWith(CommonsConstant.COUPON_PREFIX));
...@@ -218,7 +222,7 @@ public class ShoppingCartMCoffeeServiceImpl { ...@@ -218,7 +222,7 @@ public class ShoppingCartMCoffeeServiceImpl {
} }
private List<ActivityCalculationDiscountRequestDto.CalculationDiscountCoupon> checkGoodsCoupon(List<CartGoods> oldCartGoodsList, Integer operationType, String couponCode,String goodsId) { private List<ActivityCalculationDiscountRequestDto.CalculationDiscountCoupon> checkGoodsCoupon(List<CartGoods> oldCartGoodsList, Integer operationType, String couponCode, String goodsId, MCoffeeAddGoodsRequestVo addShoppingCartGoodsRequestVo) {
if (operationType != null && operationType == 1 && StringUtils.isBlank(couponCode)) { if (operationType != null && operationType == 1 && StringUtils.isBlank(couponCode)) {
throw new ServiceException(ResponseResult.PARAMETER_MISSING, "商品券券号为空"); throw new ServiceException(ResponseResult.PARAMETER_MISSING, "商品券券号为空");
} }
...@@ -227,6 +231,7 @@ public class ShoppingCartMCoffeeServiceImpl { ...@@ -227,6 +231,7 @@ public class ShoppingCartMCoffeeServiceImpl {
} }
List<ActivityCalculationDiscountRequestDto.CalculationDiscountCoupon> coupons = new ArrayList<>(); List<ActivityCalculationDiscountRequestDto.CalculationDiscountCoupon> coupons = new ArrayList<>();
if (CollectionUtils.isNotEmpty(oldCartGoodsList)) { if (CollectionUtils.isNotEmpty(oldCartGoodsList)) {
Boolean isContinue =true;
for (CartGoods cartGoods : oldCartGoodsList) { for (CartGoods cartGoods : oldCartGoodsList) {
//购物车已存在商品券 //购物车已存在商品券
if (StringUtils.isNotBlank(cartGoods.getCouponCode())) { if (StringUtils.isNotBlank(cartGoods.getCouponCode())) {
...@@ -238,13 +243,18 @@ public class ShoppingCartMCoffeeServiceImpl { ...@@ -238,13 +243,18 @@ public class ShoppingCartMCoffeeServiceImpl {
//使用券的是,如果购物车已经存在这个券,先清除,再添加 //使用券的是,如果购物车已经存在这个券,先清除,再添加
cartGoods.setQty(0); cartGoods.setQty(0);
} }
if (StringUtils.isNotEmpty(goodsId) && StringUtils.isNotEmpty(couponCode) && goodsId.equals(cartGoods.getSkuId()) && StringUtils.isBlank(cartGoods.getCouponCode())) { if (StringUtils.isNotEmpty(goodsId) && StringUtils.isNotEmpty(couponCode) && goodsId.equals(cartGoods.getSkuId()) && StringUtils.isBlank(cartGoods.getCouponCode()) && isContinue) {
// 如果购物车商品存在商品规格,替换时复制规格信息
if (CollectionUtils.isNotEmpty(cartGoods.getSpecialExtra())) {
addShoppingCartGoodsRequestVo.setSpecialExtra(cartGoods.getSpecialExtra());
}
if (cartGoods.getQty() > 1 ){ if (cartGoods.getQty() > 1 ){
cartGoods.setQty(cartGoods.getQty() - 1); cartGoods.setQty(cartGoods.getQty() - 1);
}else { }else {
//如果购物车存在相同的商品,则先删除购物车商品,在新增商品券购物车行 //如果购物车存在相同的商品,则先删除购物车商品,在新增商品券购物车行
cartGoods.setQty(0); cartGoods.setQty(0);
} }
isContinue= false;
} }
//同样商品券不能使用 //同样商品券不能使用
/* if (StringUtils.isNotEmpty(couponCode)&& StringUtils.isNotEmpty(cartGoods.getCouponCode()) && goodsId.equals(cartGoods.getGoodsId())) { /* if (StringUtils.isNotEmpty(couponCode)&& StringUtils.isNotEmpty(cartGoods.getCouponCode()) && goodsId.equals(cartGoods.getGoodsId())) {
...@@ -1496,14 +1506,18 @@ public class ShoppingCartMCoffeeServiceImpl { ...@@ -1496,14 +1506,18 @@ public class ShoppingCartMCoffeeServiceImpl {
String couponName = StringUtils.isNotEmpty(cartGoods.getCouponName()) ? cartGoods.getCouponName() : ""; String couponName = StringUtils.isNotEmpty(cartGoods.getCouponName()) ? cartGoods.getCouponName() : "";
if (PRODUCT_DOWN == validaProduct.getCode()) { if (PRODUCT_DOWN == validaProduct.getCode()) {
invalidSpu.add(spuName); invalidSpu.add(spuName);
disableCoupon.add(couponName); if (StringUtils.isNotEmpty(couponName)){
disableCoupon.add(couponName);
}
cartGoodsStates.setHasInvalidGoods(true); cartGoodsStates.setHasInvalidGoods(true);
cartGoods.setCartGoodsUid(null); cartGoods.setCartGoodsUid(null);
break; break;
} }
if (PRODUCT_NOTFOUND == validaProduct.getCode()) { if (PRODUCT_NOTFOUND == validaProduct.getCode()) {
notFoundSpu.add(spuName); notFoundSpu.add(spuName);
disableCoupon.add(couponName); if (StringUtils.isNotEmpty(couponName)){
disableCoupon.add(couponName);
}
cartGoodsStates.setHasInvalidGoods(true); cartGoodsStates.setHasInvalidGoods(true);
cartGoods.setCartGoodsUid(null); cartGoods.setCartGoodsUid(null);
break; break;
...@@ -1710,4 +1724,17 @@ public class ShoppingCartMCoffeeServiceImpl { ...@@ -1710,4 +1724,17 @@ public class ShoppingCartMCoffeeServiceImpl {
} }
return requestVo; return requestVo;
} }
private String getCouponNameByCode(String couponCode,CustomerInfoVo userInfo,String menuType){
String couponName = "";
//加购的时候根据券号查询券名称,存入cartGood
CheckSpqInfoRequestDto checkSpqInfoRequestDto = new CheckSpqInfoRequestDto(userInfo.getPartnerId(),
userInfo.getStoreId(),couponCode , menuType);
CouponService couponService = SDKCommonBaseContextWare.getBean(CouponService.class);
CheckSpqInfoResponseDto checkSpqInfoResponseDto = couponService.checkSpqInfo(checkSpqInfoRequestDto);
if (null != checkSpqInfoRequestDto && StringUtils.isNotEmpty(checkSpqInfoResponseDto.getActivityName())){
couponName = checkSpqInfoResponseDto.getActivityName();
}
return couponName;
}
} }
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