From 7cc6464f31d034ab7b85a79756b97178f05a1fb7 Mon Sep 17 00:00:00 2001 From: morteza-mortezai Date: Sat, 10 Jan 2026 12:31:47 +0330 Subject: [PATCH] order --- src/modules/order/entities/order.entity.ts | 34 ++++++---------------- 1 file changed, 9 insertions(+), 25 deletions(-) diff --git a/src/modules/order/entities/order.entity.ts b/src/modules/order/entities/order.entity.ts index 2140ef4..1ec6d8a 100644 --- a/src/modules/order/entities/order.entity.ts +++ b/src/modules/order/entities/order.entity.ts @@ -7,15 +7,11 @@ import { Collection, Cascade, Enum, - BeforeCreate, - Unique, - type EventArgs, } from '@mikro-orm/core'; import { BaseEntity } from '../../../common/entities/base.entity'; import { OrderStatus } from '../interface/order.interface'; import { User } from '../../user/entities/user.entity'; import { OrderItem } from './order-item.entity'; -import { OrderUserAddress } from '../interface/order.interface'; import { Payment } from 'src/modules/payment/entities/payment.entity'; @Entity({ tableName: 'orders' }) @@ -37,12 +33,11 @@ export class Order extends BaseEntity { }) items = new Collection(this); - @Property({ type: 'json', nullable: true }) - userAddress?: OrderUserAddress | null; - // for car delivery + @Property({ nullable: true }) + userAddress?: string | null; - @Property({ type: 'int', nullable: true }) - orderNumber?: number; + @Property({ type: 'bigint', autoincrement: true }) + orderNumber: number; @Property({ type: 'decimal', precision: 10, scale: 0, default: 0 }) @@ -58,6 +53,11 @@ export class Order extends BaseEntity { @Property({ type: 'decimal', precision: 10, scale: 0 }) total!: number; + @Property({ type: 'decimal', precision: 10, scale: 0 }) + paidAmount!: number; + + @Property({ type: 'decimal', precision: 10, scale: 0 }) + balance!: number; @Property({ type: 'text', nullable: true }) description?: string; @@ -67,20 +67,4 @@ export class Order extends BaseEntity { status!: OrderStatus; - @BeforeCreate() - async generateOrderNumber(args: EventArgs) { - const em = args.em; - const order = args.entity; - - const maxOrder = await em.findOne( - Order, - { - orderBy: { orderNumber: 'DESC' }, - fields: ['orderNumber'], - }, - ); - - // Set the next order number (1 if no orders exist, otherwise max + 1) - order.orderNumber = maxOrder?.orderNumber ? maxOrder.orderNumber + 1 : 1; - } }