Browse Source

取消接口优化

zangbin 3 years ago
parent
commit
f99241ba2b

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

@@ -223,7 +223,7 @@ public class OpenApiOrderServiceImpl implements OpenApiOrderService {
     public ResponseResult cancelOrder(OrderCancelReq cancelReq) {
         ResponseResult result = ResponseResult.success();
         if (StringUtils.isBlank(cancelReq.getOrderSn()) && StringUtils.isBlank(cancelReq.getOutOrderSn())) {
-            return ResponseResult.error(ResponseResultCodeEnum.FIELD_EMPTY, "订单", null);
+            return ResponseResult.error(ResponseResultCodeEnum.FIELD_EMPTY, "订单", null);
         }
         Order order = iOrderService.selectOrderBySn(cancelReq.getOrderSn(), cancelReq.getOutOrderSn());
 
@@ -231,9 +231,18 @@ public class OpenApiOrderServiceImpl implements OpenApiOrderService {
             return ResponseResult.error(ResponseResultCodeEnum.ORDER_NOT_EXIST);
         }
 
+        Integer orderStatus = DeliveryStatusEnum.CANCEL.status;
+        if (orderStatus.equals(order.getDeliveryStatus())) {
+            return ResponseResult.error(ResponseResultCodeEnum.ORDER_HAS_BEEN_CANCEL);
+        }
+
+        if (1 != cancelReq.getCancelType() && 4 !=cancelReq.getCancelType()) {
+            return ResponseResult.error(ResponseResultCodeEnum.ORDER_CANCEL_TYPE_NOT_EXIST);
+        }
+
+        order.setCancelType(cancelReq.getCancelType());
         int count = 0;
         ResponseResult responseResult = new ResponseResult();
-        Integer orderStatus = DeliveryStatusEnum.CANCEL.status;
         try {
             boolean flag = (order.getDeliveryStatus().equals(DeliveryStatusEnum.ORDERS_TO_BE_RECEIVED.status) || order.getDeliveryStatus().equals(DeliveryStatusEnum.TO_BE_DELIVERED.status))
                     || order.getDeliveryStatus().equals(DeliveryStatusEnum.IN_DELIVERY.status);

+ 3 - 0
lb-common/src/main/java/com/ydd/common/enums/ResponseResultCodeEnum.java

@@ -51,6 +51,9 @@ public enum ResponseResultCodeEnum {
     AMOUNT_NOT_ENOUGH(2031, "账户余额不足"),
     ORDER_CREATE_ERR(2032, "下单失败"),
     DELIVERY_ID_INVALID(2033, "无效的运力ID"),
+
+    ORDER_HAS_BEEN_CANCEL(2050, "订单已经被取消"),
+    ORDER_CANCEL_TYPE_NOT_EXIST(2051, "订单取消类型不存在"),
     ;
 
     private final int code;