Commit e57237c6 by 周晓航

新增校验

parent 1fc5dc7f
......@@ -12,6 +12,10 @@
*/
package com.freemud.sdk.api.assortment.order.enums;
import java.util.Arrays;
import java.util.List;
/**
* 请勿使用已过期请用OldOrderAccountType 龚爱奇2019-05-19
*/
......@@ -44,19 +48,20 @@ public enum QueryOrderAccountType {
FULL_DISTRIBUTION_FEE("FULL_DISTRIBUTION_FEE", "满减配送费"),
OFFLINE_PAY("OFFLINE_PAY", "线下支付"),
GATHER_SPOT("GATHER_SPOT", "集点活动"),
MEMBER_PRICE_DISCOUNT("MEMBER_PRICE_DISCOUNT","会员价优惠"),
MCCAFE_MONTH_CARD("MCCAFE_MONTH_CARD","麦咖啡月卡"),
MEMBER_PRICE_DISCOUNT("MEMBER_PRICE_DISCOUNT", "会员价优惠"),
MCCAFE_MONTH_CARD("MCCAFE_MONTH_CARD", "麦咖啡月卡"),
WITH_ORDER_BUY_COUPON_FEE("WITH_ORDER_BUY_COUPON_FEE", "随单买月卡"),
COCO_PRODUCT_CASH_COUPON("COCO_PRODUCT_CASH_COUPON", "coco商品代金券"),
FULL_BUYM_SENDN("FULL_BUYM_SENDN", "满赠"),
FULL_M_COUNT_N_FOLD("FULL_M_COUNT_N_FOLD", "满M件N折"),
SCORE_PRODUCT_ACTIVITY("SCORE_PRODUCT_ACTIVITY", "积分商品活动"),
SINGLE_PRODUCT_REDUCTION("SINGLE_PRODUCT_REDUCTION", "单品立减")
;
SINGLE_PRODUCT_REDUCTION("SINGLE_PRODUCT_REDUCTION", "单品立减");
private String code;
private String desc;
public static List<QueryOrderAccountType> useCouponList = Arrays.asList(COUPON, B3S1_COUPON, FREIGHT_COUPON, PRODUCT_COUPON, DISCOUNT_COUPON);
QueryOrderAccountType(String code, String desc) {
this.code = code;
this.desc = desc;
......
......@@ -33,4 +33,6 @@ public class BlacklistDto {
* 当前这一笔订单需要消费的金额
*/
private Long amount;
private boolean useCoupon = false;
}
......@@ -47,9 +47,15 @@ public class MemberBlacklistHandler {
StringBuilder sb = new StringBuilder();
// 消费黑名单用户 不可使用积分支付
if (Objects.nonNull(blacklistDto.getUseCustomerScore()) && blacklistDto.getUseCustomerScore().compareTo(CustomerScoreConstant.SUBSTRACT.getValue()) == 0) {
sb.append("加入消费黑名单的用户不可使用积分");
sb.append("您已列如消费黑名单暂不可使用积分");
return sb.toString();
}
// 黑名单用户 不可使用优惠券
if (blacklistDto.isUseCoupon()) {
sb.append("您已列如消费黑名单暂不可使用优惠券");
return sb.toString();
}
//step2 存在校验剩余余额
Long limitAmount = result.getLimitAmount();
Long shoppingTotalAmount = result.getShoppingTotalAmount();
......
......@@ -65,6 +65,7 @@ import com.freemud.application.sdk.api.ordercenter.response.orderInfo.AfterSales
import com.freemud.application.sdk.api.ordercenter.service.OrderSdkService;
import com.freemud.application.sdk.api.storecenter.response.StoreResponse;
import com.freemud.sdk.api.assortment.order.adapter.OrderSdkAdapter;
import com.freemud.sdk.api.assortment.order.enums.QueryOrderAccountType;
import com.freemud.sdk.api.assortment.order.request.order.*;
import com.freemud.sdk.api.assortment.order.response.order.BaseOrderResponse;
import com.freemud.sdk.api.assortment.order.response.order.CreateOrderResponse;
......@@ -299,6 +300,14 @@ public class MallOrderServiceImpl implements MallOrderService {
blacklistDto.setAmount(baseCreateOrderRequest.getAmount());
blacklistDto.setPartnerId(createOrderVo.getPartnerId());
blacklistDto.setMemberId(createOrderVo.getUserId());
if (CollectionUtils.isNotEmpty(baseCreateOrderRequest.getAccounts())) {
// 过滤出券, 黑名单有用户不能用券
List<CreateOrderAccountRequest> useAccount = baseCreateOrderRequest.getAccounts()
.stream()
.filter(a -> QueryOrderAccountType.useCouponList.contains(a.getAccountType()))
.collect(Collectors.toList());
blacklistDto.setUseCoupon(CollectionUtils.isNotEmpty(useAccount));
}
blacklistDto.setUseCustomerScore(createOrderVo.getUseCustomerScore());
String touchStr = memberBlacklistHandler.checkisTrueBlacklist(blacklistDto);
if (StringUtils.isNotEmpty(touchStr)) {
......
......@@ -130,6 +130,7 @@ import com.freemud.sdk.api.assortment.message.service.IMessageTemplatePushServic
import com.freemud.sdk.api.assortment.order.constant.OrderRedisKeyConstant;
import com.freemud.sdk.api.assortment.order.entities.OrderRefundConfigEntity;
import com.freemud.sdk.api.assortment.order.enums.AutoOrderConfigTime;
import com.freemud.sdk.api.assortment.order.enums.QueryOrderAccountType;
import com.freemud.sdk.api.assortment.order.enums.StoreDeliveryMethod;
import com.freemud.sdk.api.assortment.order.request.order.*;
import com.freemud.sdk.api.assortment.order.response.order.*;
......@@ -2496,7 +2497,6 @@ public class OrderServiceImpl implements Orderservice {
//组装老的创建订单数据模型
BaseCreateOrderRequest baseCreateOrderRequest = orderAdapter.convent2CreateOrderDto(createOrderVo, shoppingCartGoodsDto, storeResponseDto);
ApiLog.printLog("fisherman -> 查看日志",JSON.toJSONString(baseCreateOrderRequest),null,null);
// fisherman 订单支付价格 _> 处理 消费黑面名单逻辑
Long amount = baseCreateOrderRequest.getAmount();
BlacklistDto blacklistDto = new BlacklistDto();
......@@ -2504,6 +2504,14 @@ public class OrderServiceImpl implements Orderservice {
blacklistDto.setPartnerId(createOrderVo.getPartnerId());
blacklistDto.setMemberId(createOrderVo.getUserId());
blacklistDto.setUseCustomerScore(createOrderVo.getUseCustomerScore());
if (CollectionUtils.isNotEmpty(baseCreateOrderRequest.getAccounts())) {
// 过滤出券, 黑名单有用户不能用券
List<CreateOrderAccountRequest> useAccount = baseCreateOrderRequest.getAccounts()
.stream()
.filter(a -> QueryOrderAccountType.useCouponList.contains(a.getAccountType()))
.collect(Collectors.toList());
blacklistDto.setUseCoupon(CollectionUtils.isNotEmpty(useAccount));
}
String touchStr = memberBlacklistHandler.checkisTrueBlacklist(blacklistDto);
if (StringUtils.isNotEmpty(touchStr)) {
return ResponseUtil.error(ResponseResult.TOUCH_SHOPPING_BLACK_LIST.getCode(), touchStr);
......
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