Commit 0a48287c by yu.sun

Merge branch 'feature-yu.sun-getCartInfoByUser-20200925'

parents 09a73252 9066c677
...@@ -401,9 +401,22 @@ public class ShoppingCartMCoffeeServiceImpl { ...@@ -401,9 +401,22 @@ public class ShoppingCartMCoffeeServiceImpl {
shoppingCartGoodsResponseVo.setCouponCode(moneyCoupon); shoppingCartGoodsResponseVo.setCouponCode(moneyCoupon);
} }
//如果用户购物车中已有券,则将券放进购物车中
String moneyCoupon = assortmentSdkService.getShoppingCartCoupon(partnerId,
storeId, userId, shoppingCartBaseService,SaveCouponType.COUPON.getCode());
String deliveryFeeCoupon = assortmentSdkService.getShoppingCartCoupon(partnerId,storeId,
userId,shoppingCartBaseService,SaveCouponType.FREIGHT_COUPON.getCode());
if (StringUtils.isNotEmpty(deliveryFeeCoupon)){
shoppingCartGoodsResponseVo.setFreightCouponCode(deliveryFeeCoupon);
}
if (StringUtils.isNotEmpty(moneyCoupon)){
shoppingCartGoodsResponseVo.setCouponCode(moneyCoupon);
}
// 促销活动的优惠金额计算 // 促销活动的优惠金额计算
calculationService.updateShoppingCartGoodsDiscount(partnerId, storeId, userId, appId, orderType, assortmentCustomerInfoVo.isMemberPaid(), menuType, receiveId, null, calculationService.updateShoppingCartGoodsDiscount(partnerId, storeId, userId, appId, orderType, assortmentCustomerInfoVo.isMemberPaid(), menuType, receiveId, null,
cartGoodsList, coupons, new ArrayList<>(), shoppingCartGoodsResponseVo); cartGoodsList, coupons, new ArrayList<>(), shoppingCartGoodsResponseVo);
//设置更新响应信息 //设置更新响应信息
setAddAndUpdateResponse(shoppingCartGoodsResponseVo, cartGoodsList, shoppingCartGoodsResponseVo.getToastMsg(), ShoppingCartConstant.QUERY_INFO, shoppingCartInfoRequestVo); setAddAndUpdateResponse(shoppingCartGoodsResponseVo, cartGoodsList, shoppingCartGoodsResponseVo.getToastMsg(), ShoppingCartConstant.QUERY_INFO, shoppingCartInfoRequestVo);
...@@ -429,8 +442,13 @@ public class ShoppingCartMCoffeeServiceImpl { ...@@ -429,8 +442,13 @@ public class ShoppingCartMCoffeeServiceImpl {
// 促销活动的优惠金额计算 // 促销活动的优惠金额计算
calculationService.updateShoppingCartGoodsDiscount(requestVo.getPartnerId(), requestVo.getStoreId(), requestVo.getUserId(), requestVo.getAppId(), requestVo.getOrderType(), assortmentCustomerInfoVo.isMemberPaid(), requestVo.getMenuType(), requestVo.getReceiveId(), null, calculationService.updateShoppingCartGoodsDiscount(requestVo.getPartnerId(), requestVo.getStoreId(), requestVo.getUserId(), requestVo.getAppId(), requestVo.getOrderType(), assortmentCustomerInfoVo.isMemberPaid(), requestVo.getMenuType(), requestVo.getReceiveId(), null,
cartGoodsList, coupons, new ArrayList<>(), shoppingCartGoodsResponseVo); cartGoodsList, coupons, new ArrayList<>(), shoppingCartGoodsResponseVo);
String moneyCoupon = assortmentSdkService.getShoppingCartCoupon(requestVo.getPartnerId(), requestVo.getStoreId(), requestVo.getUserId(), shoppingCartBaseService); String moneyCoupon = assortmentSdkService.getShoppingCartCoupon(requestVo.getPartnerId(),
List<CouponAvailableReq> resList = couponDiscountCalculation.buildAvailableCoupons(requestVo,cartGoodsList,moneyCoupon); requestVo.getStoreId(), requestVo.getUserId(), shoppingCartBaseService,SaveCouponType.COUPON.getCode());
String deliveryFeeCoupon = assortmentSdkService.getShoppingCartCoupon(requestVo.getPartnerId(),requestVo.getStoreId(),requestVo.getUserId(),shoppingCartBaseService,SaveCouponType.FREIGHT_COUPON.getCode());
List<String> couponCodes = new ArrayList<>();
couponCodes.add(deliveryFeeCoupon);
couponCodes.add(moneyCoupon);
List<CouponAvailableReq> resList = couponDiscountCalculation.buildAvailableCoupons(requestVo,cartGoodsList,couponCodes);
return ResponseUtil.success(resList); return ResponseUtil.success(resList);
} }
......
...@@ -341,15 +341,16 @@ public class CouponDiscountCalculation { ...@@ -341,15 +341,16 @@ public class CouponDiscountCalculation {
} }
public List<CouponAvailableReq> buildAvailableCoupons(QueryCartInfoRequestVo requestVo,List<CartGoods> cartGoods,String moneyCoupon){ public List<CouponAvailableReq> buildAvailableCoupons(QueryCartInfoRequestVo requestVo,List<CartGoods> cartGoods,
List<String> couponCodes){
List<CouponAvailableReq> resList = new ArrayList<>(); List<CouponAvailableReq> resList = new ArrayList<>();
CouponAvailableReq res = new CouponAvailableReq(); CouponAvailableReq res = new CouponAvailableReq();
res.setProviderId(requestVo.getPartnerId()); res.setProviderId(requestVo.getPartnerId());
res.setMerchantId(requestVo.getPartnerId()); res.setMerchantId(requestVo.getPartnerId());
res.setStoreId(requestVo.getStoreId()); res.setStoreId(requestVo.getStoreId());
res.setChannelIdList(commonService.getOrgCodes(requestVo.getPartnerId(), requestVo.getStoreId())); res.setChannelIdList(commonService.getOrgCodes(requestVo.getPartnerId(), requestVo.getStoreId()));
res.setCouponCodes(couponCodes);
List<CouponProductVo> productList = new ArrayList<>(); List<CouponProductVo> productList = new ArrayList<>();
res.setCouponCodes(StringUtils.isNotEmpty(moneyCoupon) ? Arrays.asList(moneyCoupon) :null);
if (CollectionUtils.isNotEmpty(cartGoods)) { if (CollectionUtils.isNotEmpty(cartGoods)) {
cartGoods.forEach(cartGood -> { cartGoods.forEach(cartGood -> {
if (StringUtils.isNotEmpty(cartGood.getCouponCode())) { if (StringUtils.isNotEmpty(cartGood.getCouponCode())) {
......
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