Bladeren bron

代码优化

zangbin 3 jaren geleden
bovenliggende
commit
2cb643307c

+ 0 - 2
lb-app/src/main/java/com/ydd/app/dto/OrderCancelReq.java

@@ -21,7 +21,6 @@ public class OrderCancelReq extends BaseDto implements Serializable {
     /**
      * 接入方订单编号(唯一标识),最长不超过32个字符
      */
-    @NotBlank(message = "接入方订单编号不能为空")
     @Size(max = 32, message = "接入方订单编号最长不能超过32个字符")
     @ApiModelProperty(required = true, value = "接入方订单编号")
     private String outOrderSn;
@@ -29,7 +28,6 @@ public class OrderCancelReq extends BaseDto implements Serializable {
     /**
      * 猎豹订单号,最长不超过32个字符
      */
-    @NotBlank(message = "猎豹订单号不能为空")
     @Size(max = 32, message = "猎豹订单号最长不能超过32个字符")
     @ApiModelProperty(required = true, value = "猎豹订单号")
     private String orderSn;

+ 0 - 2
lb-app/src/main/java/com/ydd/app/dto/OrderLocationReq.java

@@ -21,7 +21,6 @@ public class OrderLocationReq extends BaseDto implements Serializable {
     /**
      * 接入方订单编号(唯一标识),最长不超过32个字符
      */
-    @NotBlank(message = "接入方订单编号不能为空")
     @Size(max = 32, message = "接入方订单编号最长不能超过32个字符")
     @ApiModelProperty(required = true, value = "接入方订单编号")
     private String outOrderSn;
@@ -29,7 +28,6 @@ public class OrderLocationReq extends BaseDto implements Serializable {
     /**
      * 猎豹订单号,最长不超过32个字符
      */
-    @NotBlank(message = "猎豹订单号不能为空")
     @Size(max = 32, message = "猎豹订单号最长不能超过32个字符")
     @ApiModelProperty(required = true, value = "猎豹订单号")
     private String orderSn;

+ 19 - 9
lb-app/src/main/java/com/ydd/app/service/impl/OpenApiOrderServiceImpl.java

@@ -40,6 +40,7 @@ import org.apache.commons.collections4.CollectionUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 import org.springframework.transaction.interceptor.TransactionAspectSupport;
 
 
@@ -219,8 +220,12 @@ public class OpenApiOrderServiceImpl implements OpenApiOrderService {
     }
 
     @Override
+    @Transactional(rollbackFor = Exception.class)
     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);
+        }
         Order order = iOrderService.selectOrderBySn(cancelReq.getOrderSn(), cancelReq.getOutOrderSn());
 
         if (Objects.isNull(order)) {
@@ -243,23 +248,23 @@ public class OpenApiOrderServiceImpl implements OpenApiOrderService {
                         }
                     }
                 } else if (order.getDeliveryStatus().intValue() >= DeliveryStatusEnum.TO_BE_DELIVERED.status.intValue()) {
-                    cancelOrder(order, order.getCancelReason(), orderStatus);
+                    cancelOrder(order, cancelReq.getCancelReason(), orderStatus);
                     responseResult = cancelThirdOrder(order,order.getDeliveryId(),count,order.getAptOrderId(),order.getAptPhone(),null,order.getCancelReason());
                 } else if (order.getDeliveryStatus().intValue() == DeliveryStatusEnum.ORDERS_TO_BE_BILLED.status.intValue()) {
-                    cancelOrder(order, order.getCancelReason(), orderStatus);
+                    cancelOrder(order, cancelReq.getCancelReason(), orderStatus);
                 } else if (order.getDeliveryStatus().equals(DeliveryStatusEnum.ORDERS_TO_BE_RECEIVED.status)) {
-                    cancelOrder(order, order.getCancelReason(), orderStatus);
+                    cancelOrder(order, cancelReq.getCancelReason(), orderStatus);
                     List<OrderDelivery> list = iOrderDeliveryService.list(new QueryWrapper<OrderDelivery>().eq("order_sn", order.getOrderSn()).ne("delivery_id",19).ge("delivery_status",DeliveryStatusEnum.ORDERS_TO_BE_RECEIVED.status));
                     if(CollectionUtils.isNotEmpty(list)){
                         for(OrderDelivery orderDelivery:list){
-                            responseResult = cancelThirdOrder(order,orderDelivery.getDeliveryId(),count,null,null,null,order.getCancelReason());
+                            responseResult = cancelThirdOrder(order,orderDelivery.getDeliveryId(),count,null,null,null,cancelReq.getCancelReason());
                         }
                     }
                 }
             } else if (order.getStatus().equals(PayStatusEnum.NO_PAYED.status) && order.getDeliveryStatus().equals(DeliveryStatusEnum.ORDERS_TO_BE_BILLED.status)) {
-                cancelOrder(order, order.getCancelReason(), orderStatus);
+                cancelOrder(order, cancelReq.getCancelReason(), orderStatus);
             } else if (DeliveryStatusEnum.ABNORMAL.status.equals(order.getDeliveryStatus()) && DeliveryStatusEnum.CANCEL.status.equals(orderStatus)) {
-                cancelOrder(order, order.getCancelReason(), orderStatus);
+                cancelOrder(order, cancelReq.getCancelReason(), orderStatus);
             }
 
         } catch (Exception e) {
@@ -415,6 +420,9 @@ public class OpenApiOrderServiceImpl implements OpenApiOrderService {
     @Override
     public ResponseResult riderLocation(OrderLocationReq locationReq) {
         ResponseResult result = ResponseResult.success();
+        if (StringUtils.isBlank(locationReq.getOrderSn()) && StringUtils.isBlank(locationReq.getOutOrderSn())) {
+            return ResponseResult.error(ResponseResultCodeEnum.FIELD_EMPTY, "订单号", null);
+        }
         Order order = iOrderService.selectOrderBySn(locationReq.getOrderSn(), locationReq.getOutOrderSn());
         if (Objects.isNull(order)) {
             return ResponseResult.error(ResponseResultCodeEnum.ORDER_NOT_EXIST);
@@ -422,9 +430,7 @@ public class OpenApiOrderServiceImpl implements OpenApiOrderService {
 
         boolean flag = order.getDeliveryStatus() > DeliveryStatusEnum.IN_DELIVERY.getStatus() ||
                 DeliveryStatusEnum.CANCEL.status.equals(order.getDeliveryStatus()) || DeliveryStatusEnum.ABNORMAL.status.equals(order.getDeliveryStatus());
-        if (flag) {
-            return ResponseResult.error(ResponseResultCodeEnum.ORDER_STATUS_FAIL);
-        }
+
 
         OrderDelivery orderDelivery = iOrderDeliveryService.getOne(new QueryWrapper<OrderDelivery>()
                 .eq("deleted", 0)
@@ -432,6 +438,10 @@ public class OpenApiOrderServiceImpl implements OpenApiOrderService {
                 .eq("delivery_id", order.getDeliveryId()));
         DspDelivery delivery = iDspDeliveryService.findById(order.getDeliveryId());
 
+        if (flag || Objects.isNull(delivery) || Objects.isNull(orderDelivery)) {
+            return ResponseResult.error(ResponseResultCodeEnum.ORDER_STATUS_FAIL);
+        }
+
         OrderLocationVo vo = getRiderLocation(order, orderDelivery, delivery);
         if (Objects.isNull(vo)) {
             return ResponseResult.error(ResponseResultCodeEnum.FAIL);