Commit e57237c6 by 周晓航

新增校验

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