diff --git a/src/common/types/query.type.ts b/src/common/types/query.type.ts index 31da8cb..36e240c 100644 --- a/src/common/types/query.type.ts +++ b/src/common/types/query.type.ts @@ -99,4 +99,4 @@ export type NotificationQuery = { since: number; }; -export type OrderStatusQuery = "Delivered" | "Processing" | "Cancelled"; +export type OrderStatusQuery = "Delivered" | "Processing" | "Cancelled" | "Returned"; diff --git a/src/modules/order/order.repository.ts b/src/modules/order/order.repository.ts index f2d9239..4e09c42 100644 --- a/src/modules/order/order.repository.ts +++ b/src/modules/order/order.repository.ts @@ -123,7 +123,11 @@ class OrderRepository extends BaseRepository { switch (statusQuery) { case "Cancelled": matchQuery.orderStatus = OrdersStatus.cancelled_system; - orderItemsMatchQuery["orderItems.status"] = OrderItemsStatus.cancelled_system; + orderItemsMatchQuery.$or = [ + { "orderItems.status": OrderItemsStatus.cancelled_system }, + { "orderItems.status": OrderItemsStatus.cancelled_user }, + { "orderItems.status": OrderItemsStatus.cancelled_shop }, + ]; break; case "Processing": matchQuery.$or = [{ orderStatus: OrdersStatus.process_by_seller }, { orderStatus: OrdersStatus.wait_payment }]; @@ -136,6 +140,10 @@ class OrderRepository extends BaseRepository { matchQuery.orderStatus = OrdersStatus.process_by_seller; orderItemsMatchQuery["orderItems.status"] = OrderItemsStatus.Delivered; break; + case "Returned": + matchQuery.orderStatus = OrdersStatus.process_by_seller; + orderItemsMatchQuery["orderItems.status"] = OrderItemsStatus.Returned; + break; default: break; }