Commit f70985fb by 刘鹏飞

创建订单增加批量使用优惠券参数

parent 44b4c123
...@@ -155,6 +155,11 @@ public class CreateOrderVo { ...@@ -155,6 +155,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
*/ */
...@@ -179,4 +184,16 @@ public class ShoppingCartInfoRequestVo { ...@@ -179,4 +184,16 @@ public class ShoppingCartInfoRequestVo {
private Boolean sendCoupon; private Boolean sendCoupon;
} }
@Data
public final static class couponCode {
/**
* 优惠券
*/
private String couponCode;
/**
* 活动号
*/
private String activityCode;
}
} }
...@@ -504,6 +504,41 @@ public class CheckOrder { ...@@ -504,6 +504,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();
// 设置用户选择的买一赠一商品信息 // 设置用户选择的买一赠一商品信息
......
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