Commit a77cc8ac by 孙昱

Merge remote-tracking branch 'origin/feature-yu.sun-checkCartInfoAboutCoupon-20201105'

parents aae2686d 0901ab4b
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<artifactId>assortment-shoppingcart-sdk</artifactId> <artifactId>assortment-shoppingcart-sdk</artifactId>
<version>1.1.5.RELEASE</version> <version>2.0.2-SNAPSHOT</version>
<dependencies> <dependencies>
<dependency> <dependency>
......
...@@ -51,6 +51,11 @@ public class ShoppingCartConstant { ...@@ -51,6 +51,11 @@ public class ShoppingCartConstant {
public static final String CART_PRODUCT_INVALID_STATE = "您选择的【$spuName】商品已失效;"; public static final String CART_PRODUCT_INVALID_STATE = "您选择的【$spuName】商品已失效;";
/** /**
* 优惠券不满足使用条件
*/
public static final String COUPON_IS_DISABLE = "您选择的【$couponName】不满足使用条件";
/**
* 必选商品组无勾选商品 * 必选商品组无勾选商品
*/ */
public static final int PRODUCT_GROUP_EMPTY= 109; public static final int PRODUCT_GROUP_EMPTY= 109;
......
...@@ -51,6 +51,10 @@ public class CartGoods { ...@@ -51,6 +51,10 @@ public class CartGoods {
* 商品券code * 商品券code
*/ */
private String couponCode; private String couponCode;
/**
* 商品券名称
*/
private String couponName;
private String spuId; private String spuId;
private String skuId; private String skuId;
......
...@@ -45,7 +45,8 @@ ...@@ -45,7 +45,8 @@
<dependency> <dependency>
<groupId>cn.freemud</groupId> <groupId>cn.freemud</groupId>
<artifactId>assortment-shoppingcart-sdk</artifactId> <artifactId>assortment-shoppingcart-sdk</artifactId>
<version>1.1.5.RELEASE</version> <!-- <version>1.1.5.RELEASE</version>-->
<version>2.0.2-SNAPSHOT</version>
</dependency> </dependency>
<!-- 再来一单查询订单信息 --> <!-- 再来一单查询订单信息 -->
<dependency> <dependency>
......
...@@ -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;
...@@ -65,7 +63,6 @@ import org.springframework.beans.factory.annotation.Autowired; ...@@ -65,7 +63,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;
...@@ -108,7 +105,6 @@ public class ShoppingCartMCoffeeServiceImpl { ...@@ -108,7 +105,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
...@@ -160,6 +156,7 @@ public class ShoppingCartMCoffeeServiceImpl { ...@@ -160,6 +156,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);
...@@ -179,6 +176,13 @@ public class ShoppingCartMCoffeeServiceImpl { ...@@ -179,6 +176,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));
...@@ -1490,20 +1494,28 @@ public class ShoppingCartMCoffeeServiceImpl { ...@@ -1490,20 +1494,28 @@ public class ShoppingCartMCoffeeServiceImpl {
List<String> invalidSpu = new ArrayList<>(); List<String> invalidSpu = new ArrayList<>();
List<String> notFoundSpu = new ArrayList<>(); List<String> notFoundSpu = new ArrayList<>();
List<String> changePriceSpu = new ArrayList<>(); List<String> changePriceSpu = new ArrayList<>();
List<String> disableCoupon = new ArrayList<>();
for (int i = 0; i < validateResult.getFailureList().size(); i++) { for (int i = 0; i < validateResult.getFailureList().size(); i++) {
checkCartRequest.getShoppingCartGoodsResponseVo().setChanged(true); checkCartRequest.getShoppingCartGoodsResponseVo().setChanged(true);
ValiadShopProductResult validaProduct = validateResult.getFailureList().get(i); ValiadShopProductResult validaProduct = validateResult.getFailureList().get(i);
for (com.freemud.sdk.api.assortment.shoppingcart.domain.CartGoods cartGoods : checkCartRequest.getCartGoodsList()) { for (com.freemud.sdk.api.assortment.shoppingcart.domain.CartGoods cartGoods : checkCartRequest.getCartGoodsList()) {
if (cartGoods.getSkuId().equals(validaProduct.getSkuId())) { if (cartGoods.getSkuId().equals(validaProduct.getSkuId())) {
String spuName = null == validaProduct.getProductType() ? cartGoods.getSpuName() : validaProduct.getProductType().getName(); String spuName = null == validaProduct.getProductType() ? cartGoods.getSpuName() : validaProduct.getProductType().getName();
String couponName = StringUtils.isNotEmpty(cartGoods.getCouponName()) ? cartGoods.getCouponName() : "";
if (PRODUCT_DOWN == validaProduct.getCode()) { if (PRODUCT_DOWN == validaProduct.getCode()) {
invalidSpu.add(spuName); invalidSpu.add(spuName);
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);
if (StringUtils.isNotEmpty(couponName)){
disableCoupon.add(couponName);
}
cartGoodsStates.setHasInvalidGoods(true); cartGoodsStates.setHasInvalidGoods(true);
cartGoods.setCartGoodsUid(null); cartGoods.setCartGoodsUid(null);
break; break;
...@@ -1534,6 +1546,10 @@ public class ShoppingCartMCoffeeServiceImpl { ...@@ -1534,6 +1546,10 @@ public class ShoppingCartMCoffeeServiceImpl {
toastMsg = toastMsg.concat(CART_PRODUCT_PRICE_CHANGE.replace("$spuName",StringUtils.join(changePriceSpu,","))); toastMsg = toastMsg.concat(CART_PRODUCT_PRICE_CHANGE.replace("$spuName",StringUtils.join(changePriceSpu,",")));
} }
if (CollectionUtils.isNotEmpty(disableCoupon)){
toastMsg = toastMsg.concat(COUPON_IS_DISABLE.replace("$couponName",StringUtils.join(disableCoupon,",")));
}
checkCartRequest.getShoppingCartGoodsResponseVo().setToastMsg(toastMsg); checkCartRequest.getShoppingCartGoodsResponseVo().setToastMsg(toastMsg);
setToastMsgIfNotExist(checkCartRequest.getShoppingCartGoodsResponseVo(), com.freemud.sdk.api.assortment.shoppingcart.constant.ShoppingCartConstant.SHOPPING_CART_GOODS_CHANGE); setToastMsgIfNotExist(checkCartRequest.getShoppingCartGoodsResponseVo(), com.freemud.sdk.api.assortment.shoppingcart.constant.ShoppingCartConstant.SHOPPING_CART_GOODS_CHANGE);
...@@ -1706,4 +1722,17 @@ public class ShoppingCartMCoffeeServiceImpl { ...@@ -1706,4 +1722,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