diff --git a/src/database/repositories/order.repository.ts b/src/database/repositories/order.repository.ts index 4310d41..6b431c5 100644 --- a/src/database/repositories/order.repository.ts +++ b/src/database/repositories/order.repository.ts @@ -63,6 +63,10 @@ export class OrderRepository { async findById(orderId: number): Promise { const order = await this.orderRepository .createQueryBuilder('order') + .leftJoin('order.user', 'user') + .addSelect(['user.id', 'user.name', 'user.phoneNumber', 'user.role']) + .leftJoin('order.admin', 'admin') + .addSelect(['admin.id', 'admin.name', 'admin.phoneNumber', 'admin.role']) .where({ id: orderId }) .getOne(); @@ -157,7 +161,7 @@ export class OrderRepository { .where({ status: OrderStatus.DONE }) .andWhere({ isFree: false }); - let income = await queryBuilder.getRawOne(); + const income = await queryBuilder.getRawOne(); if (income.sum == null) { income.sum = 0; } @@ -168,7 +172,7 @@ export class OrderRepository { const queryBuilderForFree = this.orderRepository.createQueryBuilder('order'); - let freeOrder = await queryBuilderForFree + const freeOrder = await queryBuilderForFree .select('SUM(order.ticketCount)', 'freeTicketCount') .where({ isFree: 'true' }) .getRawOne(); diff --git a/src/orders/orders.controller.ts b/src/orders/orders.controller.ts index 7dd5f02..aecead3 100644 --- a/src/orders/orders.controller.ts +++ b/src/orders/orders.controller.ts @@ -158,9 +158,10 @@ export class OrdersController { @Roles(Role.Admin) @Patch('/:orderId/free') makeOrderFree( + @ReqUser() admin: User, @Param('orderId', OrderIdValidationPipe) orderId: number ): Promise { - return this.orderService.makeOrderFree(orderId); + return this.orderService.makeOrderFree(orderId, admin); } @ApiOperation({ diff --git a/src/orders/orders.service.ts b/src/orders/orders.service.ts index ea9cd20..a8ad1c1 100644 --- a/src/orders/orders.service.ts +++ b/src/orders/orders.service.ts @@ -223,10 +223,11 @@ export class OrdersService { } } - async makeOrderFree(orderId: number): Promise { + async makeOrderFree(orderId: number, admin: User): Promise { // orderId로 주문 찾기 const order = await this.orderRepository.findById(orderId); order.isFree = true; + order.admin = admin; await this.orderRepository.saveOrder(order); return order; }