Commit fc8ad8a1 by chongfu.liang

频次券

parent cd458058
......@@ -9,6 +9,7 @@ import cn.freemud.entities.dto.CheckSpqInfoResponseDto;
import cn.freemud.entities.vo.CartGoods;
import cn.freemud.enums.GoodsTypeEnum;
import cn.freemud.service.CouponService;
import com.freemud.sdk.api.assortment.shoppingcart.constant.CommonsConstant;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
......@@ -34,6 +35,10 @@ public class CheckAdapter {
if (CommonUtils.isProductCoupon(bo.getCouponCode(), cartGoods.getCartGoodsUid())){
String couponCode = CommonUtils.getCouponCode(bo.getCouponCode(), cartGoods.getCartGoodsUid());
boolean useCoupon = true; // 优惠券放在coupon字段而不是uuid中
if (cartGoods.getCartGoodsUid().startsWith(CommonsConstant.COUPON_PREFIX)){
useCoupon = false;
}
CheckSpqInfoRequestDto checkSpqInfoRequestDto = new CheckSpqInfoRequestDto(bo.getPartnerId(), bo.getShopId(), couponCode, bo.getMenuType());
CheckSpqInfoResponseDto checkSpqInfo = null;
if (GoodsTypeEnum.HG_COUPON_GOODS.getGoodsType().equals(cartGoods.getGoodsType())) {
......@@ -47,7 +52,9 @@ public class CheckAdapter {
cartGoods.setActivityCode(checkSpqInfo.getActiveCode());
cartGoods.setCouponProductPrice(checkSpqInfo.getPrice());
validCouponMap.put(couponCode, checkSpqInfo);
if(useCoupon){
validCouponMap.put(couponCode + checkSpqInfo.getSkuId(), checkSpqInfo);
}
if (spqIdToCartUuid.containsKey(couponCode)){
List<String> uuidList = spqIdToCartUuid.get(couponCode);
uuidList.add(cartGoods.getCartGoodsUid());
......
......@@ -134,7 +134,16 @@ public class DistributeAdapter {
String couponCode = CommonUtils.getCouponCode(bo.getCouponCode(), cartGoods.getCartGoodsUid());
// 计算优惠信息时,已将券校验过,放在map中
if (MapUtils.isNotEmpty(validCouponMap)) {
CheckSpqInfoResponseDto checkSpqInfoResponseDto = validCouponMap.get(couponCode);
CheckSpqInfoResponseDto checkSpqInfoResponseDto;
boolean useCoupon = true; // 优惠券放在coupon字段而不是uuid中
if (cartGoods.getCartGoodsUid().startsWith(CommonsConstant.COUPON_PREFIX)){
useCoupon = false;
}
if(useCoupon){
checkSpqInfoResponseDto = validCouponMap.get(couponCode + cartGoods.getSkuId());
} else{
checkSpqInfoResponseDto = validCouponMap.get(couponCode);
}
if (checkSpqInfoResponseDto != null) {
cartGoods.setOriginalPrice(checkSpqInfoResponseDto.getPrice());
cartGoods.setSpuId(checkSpqInfoResponseDto.getSpuId());
......
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