From 90de3c743d896efaa7e4287378cfafda5942c850 Mon Sep 17 00:00:00 2001 From: morteza-mortezai Date: Sat, 17 Jan 2026 23:49:48 +0330 Subject: [PATCH] create invoice --- src/modules/order/dto/create-invoice.dto.ts | 9 ++++----- src/modules/order/providers/orders.service.ts | 10 +++------- 2 files changed, 7 insertions(+), 12 deletions(-) diff --git a/src/modules/order/dto/create-invoice.dto.ts b/src/modules/order/dto/create-invoice.dto.ts index c295f37..58388ca 100644 --- a/src/modules/order/dto/create-invoice.dto.ts +++ b/src/modules/order/dto/create-invoice.dto.ts @@ -7,9 +7,9 @@ import { ApiProperty } from '@nestjs/swagger'; import { Type } from 'class-transformer'; export class InvoiceItemDto { - @IsInt() + @IsNumber() @ApiProperty() - orderItemId: bigint; + orderItemId: number; @ApiProperty() @IsNumber() @@ -22,9 +22,8 @@ export class CreateInvoiceDto { @ApiProperty({ isArray: true, type: [InvoiceItemDto], example: [ { - productId: 1, - quantity: 100, - attributesValues: [] + orderItemId: 1, + unitPrice: 100, } ] }) diff --git a/src/modules/order/providers/orders.service.ts b/src/modules/order/providers/orders.service.ts index 2a10902..16ec440 100644 --- a/src/modules/order/providers/orders.service.ts +++ b/src/modules/order/providers/orders.service.ts @@ -28,7 +28,6 @@ import { CreateInvoiceDto } from '../dto/create-invoice.dto'; export class OrdersService { private readonly logger = new Logger(OrdersService.name); - constructor( private readonly em: EntityManager, private readonly orderRepository: OrderRepository, @@ -123,10 +122,6 @@ export class OrdersService { const targetOrder = await this.findOneOrFail(orderId) - // set price for order items - // calculate order financials - // change status - if (items.length !== targetOrder.items.length) { throw new BadRequestException("One or more order items price is not set") } @@ -136,9 +131,10 @@ export class OrdersService { let subTotal = 0 // Calculate order item finnicials - for (const orderItem of targetOrder.items) { - const found = items.find(it => it.orderItemId === orderItem.id) + for (let orderItem of targetOrder.items) { + + const found = items.find(it => it.orderItemId == Number(orderItem.id)) if (!found) { throw new BadRequestException(`order item ${orderItem} not found`) }