فهرست منبع

余额不足下单失败优化

叶君翔 3 سال پیش
والد
کامیت
f590115c0c

+ 7 - 1
lb-app/src/main/java/com/ydd/app/controller/PayApi.java

@@ -9,6 +9,7 @@ import com.ydd.common.annotation.RepeatSubmit;
 import com.ydd.common.core.controller.BaseController;
 import com.ydd.common.core.domain.BaseResult;
 import com.ydd.module.dto.PayTradeQueryDto;
+import com.ydd.module.enums.ExceptionEnum;
 import com.ydd.module.enums.PaymentTypeEnum;
 import com.ydd.module.expection.CustomAppException;
 import com.ydd.module.service.impl.RedissonLockService;
@@ -78,7 +79,12 @@ public class PayApi extends BaseController {
         rLock.lock();
         try {
             Object resp =  apiOrderNewService.createOrder(getLoginId(),req,1);
-            return BaseResult.success(resp);
+            if ("amount_not_enough".equals(resp)) {
+                return BaseResult.error(ExceptionEnum.AMOUNT_ERROR.CODE, ExceptionEnum.AMOUNT_ERROR.MSG);
+            } else {
+                return BaseResult.success(resp);
+            }
+//            return BaseResult.success(resp);
         } catch (CustomAppException e) {
             return BaseResult.error(e.getCode(), e.getMessage());
         } finally {

+ 2 - 2
lb-app/src/main/java/com/ydd/app/service/impl/ApiOrderNewServiceImpl.java

@@ -302,8 +302,8 @@ public class ApiOrderNewServiceImpl implements ApiOrderNewService {
         // 非自运力下单、或自运力达达收付配送商下单, 校验猎豹账户余额
         if ((!isMine || isDadaRapDelivery) && order.getPayAmount().compareTo(member.getAmount()) > 0 && PaymentTypeEnum.BALANCE.type.equals(req.getPaymentType())) {
             log.error("余额不足, memberId: {}, orderSn: {}", member.getId(), order.getOrderSn());
-            throw new CustomAppException(ExceptionEnum.AMOUNT_ERROR);
-//            return "amount_not_enough";
+//            throw new CustomAppException(ExceptionEnum.AMOUNT_ERROR);
+            return "amount_not_enough";
         }
         // 下单运力中含有自运力校验账户余额, 达达配送商模式无需校验
         if (deliveryIds.size() > 0 && isMine && !isDadaOrder) {