Commit fcb8635e by 刘鹏飞

Merge remote-tracking branch 'remotes/origin/feature/coco-payGift-刘鹏飞' into develop

parents ebb62116 eba5ca0f
...@@ -165,6 +165,11 @@ public class CreateOrderVo { ...@@ -165,6 +165,11 @@ public class CreateOrderVo {
private String couponCode; private String couponCode;
/** /**
* 券码列表
*/
private List<String> couponCodes;
/**
* 运费券code * 运费券code
*/ */
private String freightCouponCode; private String freightCouponCode;
......
...@@ -53,6 +53,11 @@ public class ShoppingCartInfoRequestVo { ...@@ -53,6 +53,11 @@ public class ShoppingCartInfoRequestVo {
* 优惠券code * 优惠券code
*/ */
private String couponCode; private String couponCode;
/**
* 优惠券code列表
*/
private List<couponCode> couponCodes;
/** /**
* 运费券code * 运费券code
*/ */
...@@ -192,4 +197,16 @@ public class ShoppingCartInfoRequestVo { ...@@ -192,4 +197,16 @@ public class ShoppingCartInfoRequestVo {
private Boolean sendCoupon; private Boolean sendCoupon;
} }
@Data
public final static class couponCode {
/**
* 优惠券
*/
private String couponCode;
/**
* 活动号
*/
private String activityCode;
}
} }
...@@ -545,6 +545,41 @@ public class CheckOrder { ...@@ -545,6 +545,41 @@ public class CheckOrder {
shoppingCartInfoRequestVo.setActivityCode(activeCode); shoppingCartInfoRequestVo.setActivityCode(activeCode);
shoppingCartInfoRequestVo.setCardCode(createOrderVo.getCardCode()); shoppingCartInfoRequestVo.setCardCode(createOrderVo.getCardCode());
} }
// 如果批量使用优惠券或者商品券,校验 couponCode
List<ShoppingCartInfoRequestVo.couponCode> couponCodes = new ArrayList();
if (createOrderVo.getCouponCodes() != null && !createOrderVo.getCouponCodes().isEmpty()) {
createOrderVo.getCouponCodes().forEach(couponCode->{
// 校验couponCode
GetCouponDetailResponseDto getCouponDetailResponseDto = couponService.getMemberCoupon(GetMemberCouponRequestVo.builder()
.partnerId(createOrderVo.getPartnerId())
.couponCode(couponCode).build());
if (Objects.equals(getCouponDetailResponseDto, null) || CollectionUtils.isEmpty(getCouponDetailResponseDto.getDetails())
|| getCouponDetailResponseDto.getDetails().get(0).getActive() == null
|| getCouponDetailResponseDto.getDetails().get(0).getActive().getActiveCode() == null) {
if ((CollectionUtils.isNotEmpty(getCouponDetailResponseDto.getDetails().get(0).getActiveRestrictionVOS())
&& CollectionUtils.isEmpty(getCouponDetailResponseDto.getDetails().get(0).getActiveRestrictionVOS().stream()
.filter(a -> Objects.equals(a.getStoreIdPartner(), createOrderVo.getShopId())).collect(Collectors.toList()))
)) {
throw new ServiceException(ResponseResult.COUPON_SHOP_NOTSUPPORT);
} else {
throw new ServiceException(ResponseResult.COUPON_GETINFO_INVAILD);
}
}
String activeCode = getCouponDetailResponseDto.getDetails().get(0).getActive().getActiveCode();
ShoppingCartInfoRequestVo.couponCode coupon = new ShoppingCartInfoRequestVo.couponCode();
coupon.setCouponCode(couponCode);
coupon.setActivityCode(activeCode);
couponCodes.add(coupon);
});
if(StringUtils.isEmpty(shoppingCartInfoRequestVo.getCardCode())){
shoppingCartInfoRequestVo.setCardCode(createOrderVo.getCardCode());
}
}
shoppingCartInfoRequestVo.setCouponCodes(couponCodes);
// 通过购物车获取优惠信息 // 通过购物车获取优惠信息
GetShoppingCartGoodsApportionDto requestDto = new GetShoppingCartGoodsApportionDto(); GetShoppingCartGoodsApportionDto requestDto = new GetShoppingCartGoodsApportionDto();
// 设置用户选择的买一赠一商品信息 // 设置用户选择的买一赠一商品信息
......
...@@ -60,7 +60,10 @@ public class ShoppingCartInfoRequestVo extends BaseRequestVo { ...@@ -60,7 +60,10 @@ public class ShoppingCartInfoRequestVo extends BaseRequestVo {
*/ */
private String couponCode; private String couponCode;
private List<String> couponCodes; /**
* 优惠券code列表
*/
private List<couponCode> couponCodes;
/** /**
* 优惠券对应的活动号 * 优惠券对应的活动号
*/ */
...@@ -189,4 +192,16 @@ public class ShoppingCartInfoRequestVo extends BaseRequestVo { ...@@ -189,4 +192,16 @@ public class ShoppingCartInfoRequestVo extends BaseRequestVo {
private Boolean sendCoupon; private Boolean sendCoupon;
} }
@Data
public final static class couponCode {
/**
* 优惠券
*/
private String couponCode;
/**
* 活动号
*/
private String activityCode;
}
} }
...@@ -579,13 +579,17 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService { ...@@ -579,13 +579,17 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
coupons.add(coupon); coupons.add(coupon);
} }
// 当couponCodes不为空时,需参与价格计算,同时排除单券入参
if (shoppingCartInfoRequestVo.getCouponCodes() != null) { if (shoppingCartInfoRequestVo.getCouponCodes() != null) {
shoppingCartInfoRequestVo.getCouponCodes().forEach(s->{ shoppingCartInfoRequestVo.getCouponCodes().forEach(cp -> {
if(ObjectUtils.equals(couponCode,cp.getCouponCode())){
return;
}
CalculationSharingDiscountRequestDto.CalculationDiscountCoupon coupon = new CalculationSharingDiscountRequestDto.CalculationDiscountCoupon(); CalculationSharingDiscountRequestDto.CalculationDiscountCoupon coupon = new CalculationSharingDiscountRequestDto.CalculationDiscountCoupon();
coupon.setCode(s); coupon.setCode(cp.getCouponCode());
coupon.setActivityCode(cp.getCouponCode());
coupons.add(coupon); coupons.add(coupon);
}); });
} }
List<ShoppingCartInfoRequestVo.SendGoods> sendGoodsList = shoppingCartInfoRequestVo.getSendGoods(); List<ShoppingCartInfoRequestVo.SendGoods> sendGoodsList = shoppingCartInfoRequestVo.getSendGoods();
...@@ -806,6 +810,18 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService { ...@@ -806,6 +810,18 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
coupon.setActivityCode(activityCode); coupon.setActivityCode(activityCode);
coupons.add(coupon); coupons.add(coupon);
} }
// 当couponCodes不为空时,需参与价格计算,同时排除单券入参
if (shoppingCartInfoRequestVo.getCouponCodes() != null) {
shoppingCartInfoRequestVo.getCouponCodes().forEach(cp -> {
if(ObjectUtils.equals(couponCode,cp.getCouponCode())){
return;
}
CalculationSharingDiscountRequestDto.CalculationDiscountCoupon coupon = new CalculationSharingDiscountRequestDto.CalculationDiscountCoupon();
coupon.setCode(cp.getCouponCode());
coupon.setActivityCode(cp.getCouponCode());
coupons.add(coupon);
});
}
CalculationSharingDiscountResponseDto.CalculationDiscountResult discountResult = sharingDiscountService.getCalculationSharingDiscountResult(menuType CalculationSharingDiscountResponseDto.CalculationDiscountResult discountResult = sharingDiscountService.getCalculationSharingDiscountResult(menuType
, partnerId , partnerId
, storeId , storeId
......
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