Commit d7a33e63 by huiyang.chen

Merge branch '2020/09/24-运费券-huiyang' into qa

# Conflicts:
#	shopping-cart-application-service/src/main/java/cn/freemud/service/impl/mcoffee/calculation/CouponDiscountCalculation.java
parents f0dbe7bd 301cf147
...@@ -158,6 +158,10 @@ public class ActivityCalculationDiscountResponseDto { ...@@ -158,6 +158,10 @@ public class ActivityCalculationDiscountResponseDto {
* 运费月卡入机字段 * 运费月卡入机字段
*/ */
private String tenderId; private String tenderId;
/**
* 1-运费券 2-运费月卡券 3-月卡券 4-万能券 5-啡常月享卡 6-通用券
*/
private Integer extendType;
} }
@Data @Data
......
...@@ -22,6 +22,10 @@ public class ActivityDiscountsDto { ...@@ -22,6 +22,10 @@ public class ActivityDiscountsDto {
private Integer discountAmount; private Integer discountAmount;
private Integer activityType; private Integer activityType;
private String tenderId; private String tenderId;
/**
* 1-运费券 2-运费月卡券 3-月卡券 4-万能券 5-啡常月享卡 6-通用券
*/
private Integer extendType;
/** /**
* 实际参与活动商品数量 * 实际参与活动商品数量
......
...@@ -200,6 +200,7 @@ public class CalculationServiceImpl { ...@@ -200,6 +200,7 @@ public class CalculationServiceImpl {
activityDiscountsDto.setActivityType(discountType); activityDiscountsDto.setActivityType(discountType);
activityDiscountsDto.setDiscountAmount(0 - discountAmount); activityDiscountsDto.setDiscountAmount(0 - discountAmount);
activityDiscountsDto.setTenderId(discount.getTenderId()); activityDiscountsDto.setTenderId(discount.getTenderId());
activityDiscountsDto.setExtendType(discount.getExtendType());
activityDiscountsDtos.add(activityDiscountsDto); activityDiscountsDtos.add(activityDiscountsDto);
} }
} }
...@@ -243,7 +244,7 @@ public class CalculationServiceImpl { ...@@ -243,7 +244,7 @@ public class CalculationServiceImpl {
// couponPromotionVO.setOrderType(orderType); // couponPromotionVO.setOrderType(orderType);
// couponPromotionVO.setFlg(CouponFlag.YES.getCode()); // couponPromotionVO.setFlg(CouponFlag.YES.getCode());
//优惠券 //优惠券
couponDiscountCalculation.updateShoppingCartGoodsApportion(calculationDiscountResult, shoppingCartGoodsDto); couponDiscountCalculation.updateShoppingCartGoodsApportion(calculationDiscountResult, shoppingCartGoodsDto, shoppingCartInfoRequestVo);
setMealCalculation.updateShoppingCartGoodsApportion(shoppingCartGoodsResponseVo, calculationDiscountResult, shoppingCartGoodsDto); setMealCalculation.updateShoppingCartGoodsApportion(shoppingCartGoodsResponseVo, calculationDiscountResult, shoppingCartGoodsDto);
......
package cn.freemud.service.impl.mcoffee.calculation; package cn.freemud.service.impl.mcoffee.calculation;
import cn.freemud.adapter.CouponAdapter; import cn.freemud.adapter.CouponAdapter;
import cn.freemud.base.entity.BaseResponse;
import cn.freemud.base.util.DateUtil; import cn.freemud.base.util.DateUtil;
import cn.freemud.entities.dto.*; import cn.freemud.entities.dto.*;
import cn.freemud.entities.dto.activity.ActivityDiscountsDto; import cn.freemud.entities.dto.activity.ActivityDiscountsDto;
...@@ -9,6 +10,7 @@ import cn.freemud.entities.vo.*; ...@@ -9,6 +10,7 @@ import cn.freemud.entities.vo.*;
import cn.freemud.enums.*; import cn.freemud.enums.*;
import cn.freemud.interceptor.ServiceException; import cn.freemud.interceptor.ServiceException;
import cn.freemud.service.CommonService; import cn.freemud.service.CommonService;
import cn.freemud.service.impl.ItemServiceImpl;
import cn.freemud.service.impl.mcoffee.entity.CouponAvailableReq; import cn.freemud.service.impl.mcoffee.entity.CouponAvailableReq;
import cn.freemud.service.impl.mcoffee.entity.CouponAvailableResp; import cn.freemud.service.impl.mcoffee.entity.CouponAvailableResp;
import cn.freemud.service.impl.mcoffee.entity.CouponProductVo; import cn.freemud.service.impl.mcoffee.entity.CouponProductVo;
...@@ -49,7 +51,8 @@ public class CouponDiscountCalculation { ...@@ -49,7 +51,8 @@ public class CouponDiscountCalculation {
@Autowired @Autowired
private CustomerExtendClient customerExtendClient; private CustomerExtendClient customerExtendClient;
@Autowired
private ItemServiceImpl itemService;
@Autowired @Autowired
private CommonService commonService; private CommonService commonService;
...@@ -133,7 +136,7 @@ public class CouponDiscountCalculation { ...@@ -133,7 +136,7 @@ public class CouponDiscountCalculation {
/** /**
* 商品均摊 * 商品均摊
*/ */
public void updateShoppingCartGoodsApportion(ActivityCalculationDiscountResponseDto.CalculationDiscountResult calculationDiscountResult, ShoppingCartGoodsDto shoppingCartGoodsDto){ public void updateShoppingCartGoodsApportion(ActivityCalculationDiscountResponseDto.CalculationDiscountResult calculationDiscountResult, ShoppingCartGoodsDto shoppingCartGoodsDto, ShoppingCartInfoRequestVo shoppingCartInfoRequestVo){
if (calculationDiscountResult == null || CollectionUtils.isEmpty(calculationDiscountResult.getDiscounts()) if (calculationDiscountResult == null || CollectionUtils.isEmpty(calculationDiscountResult.getDiscounts())
|| !calculationDiscountResult.getDiscounts().stream().anyMatch(discount -> (ActivityTypeEnum.TYPE_3.getCode().equals(discount.getType()) || !calculationDiscountResult.getDiscounts().stream().anyMatch(discount -> (ActivityTypeEnum.TYPE_3.getCode().equals(discount.getType())
...@@ -168,6 +171,10 @@ public class CouponDiscountCalculation { ...@@ -168,6 +171,10 @@ public class CouponDiscountCalculation {
activityDiscountsDto.setActivityName(couponDiscount.getActivityName()); activityDiscountsDto.setActivityName(couponDiscount.getActivityName());
activityDiscountsDto.setActivityType(couponDiscount.getType()); activityDiscountsDto.setActivityType(couponDiscount.getType());
activityDiscountsDto.setDiscountAmount(0 - couponDiscount.getDiscount()); activityDiscountsDto.setDiscountAmount(0 - couponDiscount.getDiscount());
activityDiscountsDto.setExtendType(couponDiscount.getExtendType());
if (goodsMap.get(cartGoods.getCartGoodsUid()) == null) {
activityDiscountsDto.setTenderId(goodsMap.get(cartGoods.getCartGoodsUid()).getArtNo());
}
productActivityDiscountsDtos.add(activityDiscountsDto); productActivityDiscountsDtos.add(activityDiscountsDto);
cartGoods.setTotalDiscountAmount(-activityDiscountsDto.getDiscountAmount()); cartGoods.setTotalDiscountAmount(-activityDiscountsDto.getDiscountAmount());
...@@ -180,13 +187,14 @@ public class CouponDiscountCalculation { ...@@ -180,13 +187,14 @@ public class CouponDiscountCalculation {
if (goodsMap.get(cartGoods.getCartGoodsUid()) == null) { if (goodsMap.get(cartGoods.getCartGoodsUid()) == null) {
continue; continue;
} }
//商品券键位编号为空 //调用商品的接口获取商品键位
if(StringUtils.isBlank(goodsMap.get(cartGoods.getCartGoodsUid()).getArtNo())){ List<String> productIds=Arrays.asList(cartGoods.getSkuId());
//直接抛出异常导致同一个 普通商品 和万能券商品 校验有问题,故促销未返回,默认为空 BaseResponse<Map<String, GetMenuResponseDto.DataBean.RootNodeBean.ChildrenBeanFirst.ChildrenBeanSecond.ProductBean>> baseResponse = itemService.getProducts(shoppingCartInfoRequestVo.getPartnerId(),
// throw new ServiceException(ResponseResult.SHOPPING_CART_SEAT_EMPTY); shoppingCartInfoRequestVo.getShopId(), productIds, false, shoppingCartInfoRequestVo.getMenuType());
cartGoods.setCustomerCode(""); if (ResponseResult.SUCCESS.getCode().equals(baseResponse.getCode()) && baseResponse.getResult() != null){
GetMenuResponseDto.DataBean.RootNodeBean.ChildrenBeanFirst.ChildrenBeanSecond.ProductBean productBean = baseResponse.getResult().get(cartGoods.getSkuId());
cartGoods.setCustomerCode(productBean.getCustomerCode());
} }
cartGoods.setCustomerCode(goodsMap.get(cartGoods.getCartGoodsUid()).getArtNo());
} }
} }
......
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