From 4b8278a6bbb774fee923df632d7853db41a7c829 Mon Sep 17 00:00:00 2001 From: ilham Date: Thu, 23 Dec 2021 01:17:08 +0700 Subject: [PATCH 1/2] fix: get deposit return to --- src/transaction/transaction.controller.ts | 14 +++++------- src/transaction/transaction.service.ts | 28 +++++++++++++++++++++++ 2 files changed, 34 insertions(+), 8 deletions(-) diff --git a/src/transaction/transaction.controller.ts b/src/transaction/transaction.controller.ts index 9397afe..fe3555a 100644 --- a/src/transaction/transaction.controller.ts +++ b/src/transaction/transaction.controller.ts @@ -165,16 +165,14 @@ export class TransactionController { @Query('pageSize') pageSize: number, @Request() req, ) { - const [data, count] = - await this.transactionService.getAllDepositReturnToUser( - req.user.userId, - page, - pageSize, - ); + const data = await this.transactionService.getAllDepositReturnToUser( + req.user.userId, + page, + pageSize, + ); return { - data, - count, + ...data, statusCode: HttpStatus.OK, message: 'success', }; diff --git a/src/transaction/transaction.service.ts b/src/transaction/transaction.service.ts index 9e93f39..352a95d 100644 --- a/src/transaction/transaction.service.ts +++ b/src/transaction/transaction.service.ts @@ -24,6 +24,8 @@ import { SupplierService } from '../users/supplier/supplier.service'; import { ProductHistoryPriceService } from '../product/history-price/history-price.service'; import { CommissionService } from '../configurable/commission.service'; import { DepositReturnDto } from './dto/deposit_return.dto'; +import { User } from '../users/entities/user.entity'; +import { UserDetail } from '../users/entities/user_detail.entity'; interface JournalEntry { coa_id: string; @@ -673,6 +675,32 @@ export class TransactionService { page: number, pageSize?: number, ) { + const baseQuery = this.transactionRepository + .createQueryBuilder('transaction') + .select('transaction.id', 'id') + .addSelect(['transaction.created_at', 'image_prove', 'amount']) + .where('transaction.user_destination = :id and transaction.type = 3', { + id: user, + }) + .leftJoinAndMapOne( + 'transaction.userData', + UserDetail, + 'userData', + 'userData.user = transaction.user', + ) + .addSelect('userData.name', 'name'); + + const data = await baseQuery + .offset(page * (pageSize || 10)) + .limit(pageSize || 10) + .getRawMany(); + + const totalData = await baseQuery.getCount(); + + return { + data, + count: totalData, + }; return this.transactionRepository.findAndCount({ skip: page * (pageSize || 10), take: pageSize || 10, From 25308eb67f610c03ad6d80a3cf26c22b4e2bb554 Mon Sep 17 00:00:00 2001 From: ilham Date: Thu, 23 Dec 2021 01:18:22 +0700 Subject: [PATCH 2/2] fix: get deposit return to --- src/transaction/entities/transactions.entity.ts | 9 ++++++++- src/transaction/transaction.service.ts | 11 ++++++++--- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/src/transaction/entities/transactions.entity.ts b/src/transaction/entities/transactions.entity.ts index a1fed62..a9937e8 100644 --- a/src/transaction/entities/transactions.entity.ts +++ b/src/transaction/entities/transactions.entity.ts @@ -14,6 +14,8 @@ import { BaseModel } from '../../config/basemodel.entity'; import { statusTransaction, typeTransaction } from '../../helper/enum-list'; import { Partner } from '../../users/entities/partner.entity'; import { ProductHistoryPrice } from '../../product/entities/product-history-price.entity'; +import { User } from '../../users/entities/user.entity'; +import { UserDetail } from '../../users/entities/user_detail.entity'; @Entity() export class Transactions extends BaseModel { @@ -26,7 +28,10 @@ export class Transactions extends BaseModel { @Column() type: typeTransaction; - @Column() + @Column({ + type: 'uuid', + nullable: true, + }) user: string; @Column({ @@ -43,4 +48,6 @@ export class Transactions extends BaseModel { image_prove: string; mark_up_price: number; + + userData: UserDetail; } diff --git a/src/transaction/transaction.service.ts b/src/transaction/transaction.service.ts index 352a95d..f7181a5 100644 --- a/src/transaction/transaction.service.ts +++ b/src/transaction/transaction.service.ts @@ -677,8 +677,6 @@ export class TransactionService { ) { const baseQuery = this.transactionRepository .createQueryBuilder('transaction') - .select('transaction.id', 'id') - .addSelect(['transaction.created_at', 'image_prove', 'amount']) .where('transaction.user_destination = :id and transaction.type = 3', { id: user, }) @@ -688,7 +686,14 @@ export class TransactionService { 'userData', 'userData.user = transaction.user', ) - .addSelect('userData.name', 'name'); + .select('transaction.id', 'id') + .addSelect([ + 'transaction.created_at', + 'image_prove', + 'amount', + 'status', + 'userData.name', + ]); const data = await baseQuery .offset(page * (pageSize || 10))