diff --git a/yami-shop-api/src/main/java/com/yami/shop/api/controller/MyOrderController.java b/yami-shop-api/src/main/java/com/yami/shop/api/controller/MyOrderController.java index 3e647ce..ca1f9b8 100644 --- a/yami-shop-api/src/main/java/com/yami/shop/api/controller/MyOrderController.java +++ b/yami-shop-api/src/main/java/com/yami/shop/api/controller/MyOrderController.java @@ -16,6 +16,7 @@ import java.util.Map; import java.util.Objects; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.yami.shop.bean.enums.OrderStatus; import com.yami.shop.common.exception.YamiShopBindException; import com.yami.shop.common.util.PageParam; import com.yami.shop.bean.app.dto.*; @@ -141,6 +142,9 @@ public class MyOrderController { if (!Objects.equals(order.getUserId(), userId)) { throw new YamiShopBindException("你没有权限获取该订单信息"); } + if (!Objects.equals(order.getStatus(), OrderStatus.UNPAY.value())) { + throw new YamiShopBindException("订单已支付,无法取消订单"); + } List orderItems = orderItemService.getOrderItemsByOrderNumber(orderNumber); order.setOrderItems(orderItems); // 取消订单 @@ -166,6 +170,9 @@ public class MyOrderController { if (!Objects.equals(order.getUserId(), userId)) { throw new YamiShopBindException("你没有权限获取该订单信息"); } + if (!Objects.equals(order.getStatus(), OrderStatus.CONSIGNMENT.value())) { + throw new YamiShopBindException("订单未发货,无法确认收货"); + } List orderItems = orderItemService.getOrderItemsByOrderNumber(orderNumber); order.setOrderItems(orderItems); // 确认收货 @@ -194,6 +201,9 @@ public class MyOrderController { if (!Objects.equals(order.getUserId(), userId)) { throw new YamiShopBindException("你没有权限获取该订单信息"); } + if (!Objects.equals(order.getStatus(), OrderStatus.SUCCESS.value()) || !Objects.equals(order.getStatus(), OrderStatus.CLOSE.value()) ) { + throw new YamiShopBindException("订单未完成或未关闭,无法删除订单"); + } // 删除订单 orderService.deleteOrders(Arrays.asList(order));