diff --git a/src/server/models/account.js b/src/server/models/account.js index 6dee0e5..385618b 100755 --- a/src/server/models/account.js +++ b/src/server/models/account.js @@ -114,6 +114,26 @@ AccountSchema.statics.getAccountsByUsername = async function(idapp, username) { }; +AccountSchema.statics.calcTotCircolante = async function(idapp, circuitId) { + const Account = this; + + try { + let aggr1 = [ + { + $match: {idapp, circuitId, saldo: {$gt: 0}}, + }, + { $group: { _id: null, count: { $sum: '$saldo' } } } + ]; + + ris = await Account.aggregate(aggr1); + + return ris ? ris[0].count : 0; + + } catch (e) { + console.error('err', e); + } + +}; AccountSchema.methods.addtoSaldo = async function(amount) { const account = this; diff --git a/src/server/models/circuit.js b/src/server/models/circuit.js index 610f7b9..dcade13 100755 --- a/src/server/models/circuit.js +++ b/src/server/models/circuit.js @@ -526,7 +526,8 @@ CircuitSchema.statics.sendCoins = async function(onlycheck, idapp, usernameOrig, // Somma di tutte le transazioni circuittable.totTransato += myqty; - circuittable.totCircolante = circuittable.totCircolante + (circolanteAtt - circolantePrec); + // circuittable.totCircolante = circuittable.totCircolante + (circolanteAtt - circolantePrec); + circuittable.totCircolante = await Account.calcTotCircolante(idapp, circuittable._id); await circuittable.save(); ris.result = true;