Commit ac85b9ed by 周晓航

券互斥校验 公共方法提取

Signed-off-by: 周晓航 <xiaohang.zhou@freemud.com>
parent a502a24f
...@@ -119,13 +119,9 @@ public class ShoppingCartController { ...@@ -119,13 +119,9 @@ public class ShoppingCartController {
@LogIgnore(logMessage = "listCartGoods") @LogIgnore(logMessage = "listCartGoods")
public BaseResponse listCartGoods(@Validated @LogParams @RequestBody ShoppingCartInfoRequestVo request) { public BaseResponse listCartGoods(@Validated @LogParams @RequestBody ShoppingCartInfoRequestVo request) {
// 代金券 & 折扣券互斥校验 // 代金券 & 折扣券互斥校验
List<ShoppingCartInfoRequestVo.couponCode> couponCodes = request.getCouponCodes(); BaseResponse baseResponse = verifyCouponCodes(request.getCouponCodes());
if (CollectionUtils.isNotEmpty(couponCodes) && couponCodes.size() > 1) { if (baseResponse !=null) {
long count = couponCodes.stream().filter(c -> c.getCouponType().compareTo(CouponTypeEnum.TYPE_1.getCode()) == 0 return baseResponse;
|| c.getCouponType().compareTo(CouponTypeEnum.TYPE_3.getCode()) == 0).count();
if (count > 2) {
return ResponseUtil.error(ResponseResult.SHOPPING_CART_COUPON_MUTUAL_EXCLUSION);
}
} }
ShoppingCartNewService instanceByRequest = getInstanceByRequest(request); ShoppingCartNewService instanceByRequest = getInstanceByRequest(request);
if (instanceByRequest instanceof ShoppingCartNewServiceImpl && SDKCommonBaseContextWare.getBean(ShoppingCartNewServiceImpl.class).newShoppingCartGray(request.getPartnerId(), request.getShopId())){ if (instanceByRequest instanceof ShoppingCartNewServiceImpl && SDKCommonBaseContextWare.getBean(ShoppingCartNewServiceImpl.class).newShoppingCartGray(request.getPartnerId(), request.getShopId())){
...@@ -144,13 +140,9 @@ public class ShoppingCartController { ...@@ -144,13 +140,9 @@ public class ShoppingCartController {
@LogIgnore(excludeStatusCodes = {ResponseCodeConstant.RESPONSE_SUCCESS_STR},logMessage = "listCartGoodsCheck") @LogIgnore(excludeStatusCodes = {ResponseCodeConstant.RESPONSE_SUCCESS_STR},logMessage = "listCartGoodsCheck")
public BaseResponse listCartGoodsCheck(@Validated @LogParams @RequestBody ShoppingCartInfoRequestVo request) { public BaseResponse listCartGoodsCheck(@Validated @LogParams @RequestBody ShoppingCartInfoRequestVo request) {
// 代金券 & 折扣券互斥校验 // 代金券 & 折扣券互斥校验
List<ShoppingCartInfoRequestVo.couponCode> couponCodes = request.getCouponCodes(); BaseResponse baseResponse = verifyCouponCodes(request.getCouponCodes());
if (CollectionUtils.isNotEmpty(couponCodes) && couponCodes.size() > 1) { if (baseResponse !=null) {
long count = couponCodes.stream().filter(c -> c.getCouponType().compareTo(CouponTypeEnum.TYPE_1.getCode()) == 0 return baseResponse;
|| c.getCouponType().compareTo(CouponTypeEnum.TYPE_3.getCode()) == 0).count();
if (count > 2) {
return ResponseUtil.error(ResponseResult.SHOPPING_CART_COUPON_MUTUAL_EXCLUSION);
}
} }
return getInstanceByRequest(request).getGoodsListCheck(request); return getInstanceByRequest(request).getGoodsListCheck(request);
} }
...@@ -286,4 +278,19 @@ public class ShoppingCartController { ...@@ -286,4 +278,19 @@ public class ShoppingCartController {
return SDKCommonBaseContextWare.getBean(ShoppingCartNewServiceImpl.class).replaceGoodsByShop(request); return SDKCommonBaseContextWare.getBean(ShoppingCartNewServiceImpl.class).replaceGoodsByShop(request);
} }
/**
* 校验 代金券/ 折扣券互斥
* @param couponCodes
* @return
*/
private BaseResponse verifyCouponCodes (List<ShoppingCartInfoRequestVo.couponCode> couponCodes){
if (CollectionUtils.isNotEmpty(couponCodes) && couponCodes.size() > 1) {
long count = couponCodes.stream().filter(c -> c.getCouponType().compareTo(CouponTypeEnum.TYPE_1.getCode()) == 0
|| c.getCouponType().compareTo(CouponTypeEnum.TYPE_3.getCode()) == 0).count();
if (count > 2) {
return ResponseUtil.error(ResponseResult.SHOPPING_CART_COUPON_MUTUAL_EXCLUSION);
}
}
return null;
}
} }
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