mirror of
https://github.com/IT4Change/gradido.git
synced 2026-02-06 09:56:05 +00:00
let fetching gdt sum running parallel
This commit is contained in:
parent
7f97ff6cf8
commit
d64ceedd04
@ -29,13 +29,15 @@ export class BalanceResolver {
|
||||
logger.addContext('user', user.id)
|
||||
logger.info(`balance(userId=${user.id})...`)
|
||||
|
||||
const gdtResolver = new GdtResolver()
|
||||
const balanceGDT = await gdtResolver.gdtBalance(context)
|
||||
if(!context.balanceGDT) {
|
||||
const gdtResolver = new GdtResolver()
|
||||
context.balanceGDT = await gdtResolver.gdtBalance(context)
|
||||
}
|
||||
|
||||
logger.info(`time for load gdt balance: ${new Date().getTime() - now.getTime()} ms`)
|
||||
let profilingTime = new Date()
|
||||
|
||||
logger.debug(`balanceGDT=${balanceGDT}`)
|
||||
logger.debug(`balanceGDT=${context.balanceGDT}`)
|
||||
|
||||
const lastTransaction = context.lastTransaction
|
||||
? context.lastTransaction
|
||||
@ -55,7 +57,7 @@ export class BalanceResolver {
|
||||
logger.info(`no balance found, return Default-Balance!`)
|
||||
return new Balance({
|
||||
balance: new Decimal(0),
|
||||
balanceGDT,
|
||||
balanceGDT: context.balanceGDT,
|
||||
count: 0,
|
||||
linkCount: 0,
|
||||
})
|
||||
|
||||
@ -49,6 +49,7 @@ import {
|
||||
import { sendTransactionsToDltConnector } from './util/sendTransactionsToDltConnector'
|
||||
import { storeForeignUser } from './util/storeForeignUser'
|
||||
import { transactionLinkSummary } from './util/transactionLinkSummary'
|
||||
import { GdtResolver } from './GdtResolver'
|
||||
|
||||
export const executeTransaction = async (
|
||||
amount: Decimal,
|
||||
@ -229,6 +230,9 @@ export class TransactionResolver {
|
||||
logger.addContext('user', user.id)
|
||||
logger.info(`transactionList(user=${user.firstName}.${user.lastName}, ${user.emailId})`)
|
||||
|
||||
const gdtResolver = new GdtResolver()
|
||||
const balanceGDTPromise = gdtResolver.gdtBalance(context)
|
||||
|
||||
// find current balance
|
||||
const lastTransaction = await getLastTransaction(user.id)
|
||||
logger.debug(`lastTransaction=${lastTransaction}`)
|
||||
@ -442,6 +446,9 @@ export class TransactionResolver {
|
||||
} ms`,
|
||||
)
|
||||
profilingTime = new Date()
|
||||
const balanceGDT = await balanceGDTPromise
|
||||
context.balanceGDT = balanceGDT
|
||||
|
||||
// Construct Result
|
||||
return new TransactionList(await balanceResolver.balance(context), transactions)
|
||||
}
|
||||
|
||||
@ -16,6 +16,7 @@ export interface Context {
|
||||
gradidoID?: string
|
||||
// hack to use less DB calls for Balance Resolver
|
||||
lastTransaction?: dbTransaction | null
|
||||
balanceGDT?: number | null
|
||||
transactionCount?: number
|
||||
linkCount?: number
|
||||
sumHoldAvailableAmount?: Decimal
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user