Commit ac85b9ed by 周晓航

券互斥校验 公共方法提取

Signed-off-by: 周晓航 <xiaohang.zhou@freemud.com>
parent a502a24f
......@@ -119,13 +119,9 @@ public class ShoppingCartController {
@LogIgnore(logMessage = "listCartGoods")
public BaseResponse listCartGoods(@Validated @LogParams @RequestBody ShoppingCartInfoRequestVo request) {
// 代金券 & 折扣券互斥校验
List<ShoppingCartInfoRequestVo.couponCode> couponCodes = request.getCouponCodes();
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);
}
BaseResponse baseResponse = verifyCouponCodes(request.getCouponCodes());
if (baseResponse !=null) {
return baseResponse;
}
ShoppingCartNewService instanceByRequest = getInstanceByRequest(request);
if (instanceByRequest instanceof ShoppingCartNewServiceImpl && SDKCommonBaseContextWare.getBean(ShoppingCartNewServiceImpl.class).newShoppingCartGray(request.getPartnerId(), request.getShopId())){
......@@ -144,13 +140,9 @@ public class ShoppingCartController {
@LogIgnore(excludeStatusCodes = {ResponseCodeConstant.RESPONSE_SUCCESS_STR},logMessage = "listCartGoodsCheck")
public BaseResponse listCartGoodsCheck(@Validated @LogParams @RequestBody ShoppingCartInfoRequestVo request) {
// 代金券 & 折扣券互斥校验
List<ShoppingCartInfoRequestVo.couponCode> couponCodes = request.getCouponCodes();
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);
}
BaseResponse baseResponse = verifyCouponCodes(request.getCouponCodes());
if (baseResponse !=null) {
return baseResponse;
}
return getInstanceByRequest(request).getGoodsListCheck(request);
}
......@@ -286,4 +278,19 @@ public class ShoppingCartController {
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