|
|
@@ -1,5 +1,5 @@
|
|
|
import { Injectable, Logger } from '@nestjs/common'
|
|
|
-import { Repository } from 'typeorm'
|
|
|
+import { In, Repository } from 'typeorm'
|
|
|
import { Balance } from './entities/balance.entities'
|
|
|
import { InjectRepository } from '@nestjs/typeorm'
|
|
|
import { BalanceRecord, BalanceType } from './entities/balance-record.entities'
|
|
|
@@ -7,7 +7,7 @@ import { UsersService } from '../users/users.service'
|
|
|
import { Users } from '../users/entities/users.entity'
|
|
|
import { PageRequest } from '../common/dto/page-request'
|
|
|
import { paginate, Pagination } from 'nestjs-typeorm-paginate'
|
|
|
-import Decimal from 'decimal.js';
|
|
|
+import Decimal from 'decimal.js'
|
|
|
|
|
|
@Injectable()
|
|
|
export class BalanceService {
|
|
|
@@ -52,11 +52,11 @@ export class BalanceService {
|
|
|
balance.totalBalance = 0.00
|
|
|
}
|
|
|
|
|
|
- const currentBalanceDecimal = new Decimal(String(balance.currentBalance));
|
|
|
- const amountDecimal = new Decimal(amount);
|
|
|
- const totalBalanceDecimal = new Decimal(String(balance.totalBalance));
|
|
|
- const newBalanceDecimal = currentBalanceDecimal.plus(amountDecimal);
|
|
|
- const newTotalBalanceDecimal = totalBalanceDecimal.plus(amountDecimal);
|
|
|
+ const currentBalanceDecimal = new Decimal(String(balance.currentBalance))
|
|
|
+ const amountDecimal = new Decimal(amount)
|
|
|
+ const totalBalanceDecimal = new Decimal(String(balance.totalBalance))
|
|
|
+ const newBalanceDecimal = currentBalanceDecimal.plus(amountDecimal)
|
|
|
+ const newTotalBalanceDecimal = totalBalanceDecimal.plus(amountDecimal)
|
|
|
|
|
|
balance.currentBalance = newBalanceDecimal.toNumber()
|
|
|
balance.totalBalance = newTotalBalanceDecimal.toNumber()
|
|
|
@@ -92,9 +92,9 @@ export class BalanceService {
|
|
|
}
|
|
|
})
|
|
|
|
|
|
- const currentBalanceDecimal = new Decimal(String(balance.currentBalance));
|
|
|
- const costDecimal = new Decimal(cost);
|
|
|
- const newBalanceDecimal = currentBalanceDecimal.minus(costDecimal);
|
|
|
+ const currentBalanceDecimal = new Decimal(String(balance.currentBalance))
|
|
|
+ const costDecimal = new Decimal(cost)
|
|
|
+ const newBalanceDecimal = currentBalanceDecimal.minus(costDecimal)
|
|
|
|
|
|
balance.currentBalance = newBalanceDecimal.toNumber()
|
|
|
|
|
|
@@ -131,7 +131,20 @@ export class BalanceService {
|
|
|
}
|
|
|
|
|
|
async findAllRecordsPage(req: PageRequest<BalanceRecord>): Promise<Pagination<BalanceRecord>> {
|
|
|
- return await paginate<BalanceRecord>(this.recordRepository, req.page, req.search)
|
|
|
+ const page = await paginate<BalanceRecord>(this.recordRepository, req.page, req.search)
|
|
|
+ let items = page.items
|
|
|
+ const userIds = items.map(item => item.userId)
|
|
|
+ const users = await this.userRepository.findBy({
|
|
|
+ id: In(userIds)
|
|
|
+ })
|
|
|
+ for (let i = 0; i < items.length; i++) {
|
|
|
+ const item = items[i]
|
|
|
+ const user = users.find(user => user.id === item.userId)
|
|
|
+ if (user) {
|
|
|
+ item.userName = user.username
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return page
|
|
|
}
|
|
|
|
|
|
async updateRate(userId: number, rate: number): Promise<string> {
|