Commit 819e070a by 徐康

券校验

parent d471b8b9
......@@ -31,6 +31,7 @@ public enum ActivityTypeEnum {
TYPE_31(31, "折扣券"),
TYPE_32(32, "商品券"),
TYPE_34(34, "运费券"),
TYPE_35(35, "买1赠3券"),
TYPE_5(5, "整单满金额折"),
TYPE_51(51, "每满金额折"),
TYPE_52(52, "阶梯满金额折"),
......
......@@ -507,6 +507,11 @@ public class CheckMCCafeOrder {
.channel(UserLoginChannelEnum.ALIPAY.getCode().equals(userLoginInfoDto.getChannel())?MCCafeChannelEnum.MOCOFFEE_ZFB.getName():MCCafeChannelEnum.MOCOFFEE_WX.getName())
.couponlist(couponCodeList)
.sign("skip")
.memberInfo(new MCCafeCouponRequest.MemberInfo(userLoginInfoDto.getMemberId(),
userLoginInfoDto.getWxAppId(),
userLoginInfoDto.getUnionId(),
userLoginInfoDto.getThirdPartyMemberID(),
createOrderVo.getOrderType()==1?"mccafe_pickup":"mccafe"))
.build();
McdNetBatchQueryResponse mcdNetBatchQueryResponse = couponClientService.batchQuery(mcCafeCouponRequest);
if (mcdNetBatchQueryResponse == null || !ResponseCodeConstant.RESPONSE_SUCCESS.equals(mcdNetBatchQueryResponse.getStatusCode())
......@@ -514,14 +519,18 @@ public class CheckMCCafeOrder {
LogUtil.error("部分优惠券当前不可用", mcCafeCouponRequest, mcdNetBatchQueryResponse);
throw new ServiceException(ResponseResult.COUPON_SHOP_NOTSUPPORT, "部分优惠券当前不可用");
} else if(!ResponseCodeConstant.RESPONSE_SUCCESS.equals(mcdNetBatchQueryResponse.getCouponlist().get(0).getStatusCode())) {
if(mcdNetBatchQueryResponse.getCouponlist().get(0).getCodeInfo() != null) {
LogUtil.error(mcdNetBatchQueryResponse.getCouponlist().get(0).getCodeInfo().getAct_name()+"当前不可用", mcCafeCouponRequest, mcdNetBatchQueryResponse);
throw new ServiceException(ResponseResult.COUPON_SHOP_NOTSUPPORT, mcdNetBatchQueryResponse.getCouponlist().get(0).getCodeInfo().getAct_name()+"当前不可用");
mcdNetBatchQueryResponse.getCouponlist().forEach(o -> {
if(!ResponseCodeConstant.RESPONSE_SUCCESS.equals(o.getStatusCode())) {
if(o.getCodeInfo() != null) {
LogUtil.error(o.getCodeInfo().getAct_name()+"当前不可用", mcCafeCouponRequest, mcdNetBatchQueryResponse);
throw new ServiceException(ResponseResult.COUPON_SHOP_NOTSUPPORT, o.getCodeInfo().getAct_name()+"当前不可用");
} else {
LogUtil.error("部分优惠券暂时不可用", mcCafeCouponRequest, mcdNetBatchQueryResponse);
throw new ServiceException(ResponseResult.COUPON_SHOP_NOTSUPPORT, "部分优惠券暂时不可用");
}
}
});
}
String activeCode = mcdNetBatchQueryResponse.getCouponlist().get(0).getCodeInfo().getAct_id();
// 校验点餐方式,查询购物车接口内部已校验
shoppingCartInfoRequestVo.setCouponCode(createOrderVo.getCouponCode());
......@@ -550,7 +559,8 @@ public class CheckMCCafeOrder {
List<MCCafeCouponVo> mcCafeCouponVos = new ArrayList<>();
if(CollectionUtils.isNotEmpty(shoppingCartGoodsDto.getActivityDiscountsDtos())) {
shoppingCartGoodsDto.getActivityDiscountsDtos().forEach(o-> {
if(ActivityTypeEnum.TYPE_3.getCode().equals(o.getActivityType()) || ActivityTypeEnum.TYPE_32.getCode().equals(o.getActivityType())) {
if(ActivityTypeEnum.TYPE_3.getCode().equals(o.getActivityType()) || ActivityTypeEnum.TYPE_32.getCode().equals(o.getActivityType())
|| ActivityTypeEnum.TYPE_34.getCode().equals(o.getActivityType()) || ActivityTypeEnum.TYPE_35.getCode().equals(o.getActivityType())) {
mcCafeCouponVos.add(new MCCafeCouponVo(o.getActivityCode()));
}
});
......@@ -566,6 +576,11 @@ public class CheckMCCafeOrder {
.channel(UserLoginChannelEnum.ALIPAY.getCode().equals(userLoginInfoDto.getChannel())?MCCafeChannelEnum.MOCOFFEE_ZFB.getName():MCCafeChannelEnum.MOCOFFEE_WX.getName())
.couponlist(mcCafeCouponVos)
.sign("skip")
.memberInfo(new MCCafeCouponRequest.MemberInfo(userLoginInfoDto.getMemberId(),
userLoginInfoDto.getWxAppId(),
userLoginInfoDto.getUnionId(),
userLoginInfoDto.getThirdPartyMemberID(),
createOrderVo.getOrderType()==1?"mccafe_pickup":"mccafe"))
.build();
McdNetBatchQueryResponse mcdNetBatchQueryResponse = couponClientService.batchQuery(mcCafeCouponRequest);
if (mcdNetBatchQueryResponse == null || !ResponseCodeConstant.RESPONSE_SUCCESS.equals(mcdNetBatchQueryResponse.getStatusCode())
......
......@@ -106,4 +106,24 @@ public class MCCafeCouponRequest {
private String channel;
private List<MCCafeCouponVo> couponlist;
private MemberInfo memberInfo;
@Data
@AllArgsConstructor
public static class MemberInfo {
private String memberId;
private String appId;
private String unionId;
private String thirdPartyMemberId;
/**
* 自提:"mccafe_pickup"
* 外卖: "mccafe"
*/
private String tag;
}
}
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