From 88cc00ae6b858db41d7d8327cf41307a6dc56a33 Mon Sep 17 00:00:00 2001 From: morteza-mortezai Date: Fri, 31 Oct 2025 11:42:49 +0330 Subject: [PATCH] order status : shipped --- src/common/enums/order.enum.ts | 1 + src/modules/order/order.service.ts | 15 +++++++++++++-- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/src/common/enums/order.enum.ts b/src/common/enums/order.enum.ts index 7e91fef..9b13d0d 100644 --- a/src/common/enums/order.enum.ts +++ b/src/common/enums/order.enum.ts @@ -6,6 +6,7 @@ export enum PaymentStatus { export enum OrdersStatus { wait_payment = "wait_payment", process_by_seller = "process_by_sellers", + shipped = "shipped", cancelled_system = "cancelled_system", Cancelled = "cancelled", Delivered = "Delivered", diff --git a/src/modules/order/order.service.ts b/src/modules/order/order.service.ts index a3f3b64..47ff5e4 100644 --- a/src/modules/order/order.service.ts +++ b/src/modules/order/order.service.ts @@ -210,15 +210,26 @@ class OrderService { //####################################################### //####################################################### async insertNativeShopTrackCode(orderId: number, adminId: string, insertDto: InsertTrackCodeDTO) { - const { orderItem } = await this.validateSellerOrder(orderId, adminId); + const { orderItem, order } = await this.validateSellerOrder(orderId, adminId); + order.orderStatus = OrdersStatus.shipped; orderItem.trackCode = insertDto.trackCode; orderItem.postingDate = insertDto.postingDate; orderItem.postingReceipt = insertDto.postingReceipt; orderItem.status = OrderItemsStatus.Shipped; - await orderItem.save(); + const session = await startSession(); + session.startTransaction(); + try { + await orderItem.save(); + await order.save(); + } catch (error) { + await session.abortTransaction(); + throw error; + } finally { + await session.endSession(); + } return { message: OrderMessage.TrackingDetailInserted, orderItem,