From 872a82c32fb6838ada6019963fc9437c06b494ff Mon Sep 17 00:00:00 2001 From: Trial97 Date: Tue, 31 Aug 2021 15:54:07 +0300 Subject: [PATCH] Updated AccountSummary in EventCost --- engine/account.go | 29 +++++++++++++++++++++++++++++ engine/calldesc.go | 11 +---------- 2 files changed, 30 insertions(+), 10 deletions(-) diff --git a/engine/account.go b/engine/account.go index cee45d81f..087052442 100644 --- a/engine/account.go +++ b/engine/account.go @@ -1176,12 +1176,41 @@ func (as *AccountSummary) UpdateInitialValue(old *AccountSummary) { return } for _, initialBal := range old.BalanceSummaries { + removed := true for _, currentBal := range as.BalanceSummaries { if currentBal.UUID == initialBal.UUID { currentBal.Initial = initialBal.Initial + removed = false break } } + if removed { // add back the expired balances + initialBal.Value = 0 // it expired so lose all the values + initialBal.Initial = 0 // only keep track of it in this + as.BalanceSummaries = append(as.BalanceSummaries, initialBal) + } + } +} + +// SetInitialValue set initial balance value +func (as *AccountSummary) SetInitialValue(old *AccountSummary) { + if old == nil { + return + } + for _, initialBal := range old.BalanceSummaries { + removed := true + for _, currentBal := range as.BalanceSummaries { + if currentBal.UUID == initialBal.UUID { + currentBal.Initial = initialBal.Value + removed = false + break + } + } + if removed { // add back the expired balances + initialBal.Value = 0 // it expired so lose all the values + initialBal.Initial = 0 // only keep track of it in this + as.BalanceSummaries = append(as.BalanceSummaries, initialBal) + } } } diff --git a/engine/calldesc.go b/engine/calldesc.go index 0c88691aa..709f05240 100644 --- a/engine/calldesc.go +++ b/engine/calldesc.go @@ -37,7 +37,6 @@ const ( ) var ( - debitPeriod = 10 * time.Second globalRoundingDecimals = 6 rpSubjectPrefixMatching bool rpSubjectPrefixMatchingMutex sync.RWMutex // used to reload rpSubjectPrefixMatching @@ -777,7 +776,6 @@ func (cd *CallDescriptor) Debit() (cc *CallCost, err error) { } return err }, config.CgrConfig().GeneralCfg().LockingTimeout, lkIDs...) - return }, config.CgrConfig().GeneralCfg().LockingTimeout, utils.AccountPrefix+cd.GetAccountKey()) return } @@ -1001,14 +999,7 @@ func (cd *CallDescriptor) AccountSummary(initialAcnt *AccountSummary) *AccountSu return nil } acntSummary := cd.account.AsAccountSummary() - for _, initialBal := range initialAcnt.BalanceSummaries { - for _, currentBal := range acntSummary.BalanceSummaries { - if currentBal.UUID == initialBal.UUID { - currentBal.Initial = initialBal.Value - break - } - } - } + acntSummary.SetInitialValue(initialAcnt) return acntSummary }