diff --git a/engine/account.go b/engine/account.go index ad4bf6857..611235346 100644 --- a/engine/account.go +++ b/engine/account.go @@ -532,6 +532,28 @@ func (ub *Account) debitCreditBalance(cd *CallDescriptor, count bool, dryRun boo cost := increment.Cost defaultBalance := ub.GetDefaultMoneyBalance() defaultBalance.SubstractValue(cost) + //send default balance to thresholdS to be processed + acntTnt := utils.NewTenantID(ub.ID) + thEv := &ArgsProcessEvent{ + CGREvent: utils.CGREvent{ + Tenant: acntTnt.Tenant, + ID: utils.GenUUID(), + Event: map[string]interface{}{ + utils.EventType: utils.BalanceUpdate, + utils.EventSource: utils.AccountService, + utils.Account: acntTnt.ID, + utils.BalanceID: defaultBalance.ID, + utils.Units: defaultBalance.Value}}} + if thresholdS != nil { + var tIDs []string + if err := thresholdS.Call(utils.ThresholdSv1ProcessEvent, thEv, &tIDs); err != nil && + err.Error() != utils.ErrNotFound.Error() { + utils.Logger.Warning( + fmt.Sprintf(" error: %s processing balance event %+v with ThresholdS.", + err.Error(), thEv)) + } + } + increment.BalanceInfo.Monetary = &MonetaryInfo{ UUID: defaultBalance.Uuid, ID: defaultBalance.ID,