mirror of
https://github.com/cgrates/cgrates.git
synced 2026-02-11 18:16:24 +05:00
AccountS - concreteBalance should not have concretes inside
This commit is contained in:
@@ -121,26 +121,30 @@ func (aS *AccountS) matchingAccountForEvent(tnt string, cgrEv *utils.CGREvent, a
|
||||
// accountProcessEvent implements event processing by an Account
|
||||
func (aS *AccountS) accountProcessEvent(acnt *utils.AccountProfile,
|
||||
cgrEv *utils.CGREvent) (ec *utils.EventCharges, err error) {
|
||||
//var aBlncs *accountBalances
|
||||
var aBlncs *accountBalances
|
||||
if _, err = newAccountBalances(acnt, aS.fltrS, aS.connMgr,
|
||||
aS.cfg.AccountSCfg().AttributeSConns, aS.cfg.AccountSCfg().RateSConns); err != nil {
|
||||
return
|
||||
}
|
||||
fmt.Println(aBlncs)
|
||||
return
|
||||
}
|
||||
|
||||
// V1MaxUsage returns the maximum usage for the event, based on matching Account
|
||||
func (aS *AccountS) V1MaxUsage(args *utils.ArgsAccountForEvent, ec *utils.EventCharges) (err error) {
|
||||
/*var acnt *utils.AccountProfile
|
||||
if acnt, err = aS.matchingAccountForEvent(args.CGREventWithOpts.Tenant,
|
||||
args.CGREventWithOpts, args.AccountIDs); err != nil {
|
||||
var acnt *utils.AccountProfile
|
||||
if acnt, err = aS.matchingAccountForEvent(args.CGREvent.Tenant,
|
||||
args.CGREvent, args.AccountIDs); err != nil {
|
||||
if err != utils.ErrNotFound {
|
||||
err = utils.NewErrServerError(err)
|
||||
}
|
||||
return
|
||||
}
|
||||
*/
|
||||
//if aS.accountProcessEvent(acnt, args)
|
||||
|
||||
var procEC *utils.EventCharges
|
||||
if procEC, err = aS.accountProcessEvent(acnt, args.CGREvent); err != nil {
|
||||
return
|
||||
}
|
||||
*ec = *procEC
|
||||
return
|
||||
}
|
||||
|
||||
@@ -44,18 +44,17 @@ func restoreUnitsFromClones(cBs []*concreteBalance, clnedUnts []*utils.Decimal)
|
||||
}
|
||||
|
||||
// newConcreteBalance constructs a concreteBalanceOperator
|
||||
func newConcreteBalanceOperator(blnCfg *utils.Balance, cncrtBlncs []*concreteBalance,
|
||||
func newConcreteBalanceOperator(blnCfg *utils.Balance,
|
||||
fltrS *engine.FilterS, connMgr *engine.ConnManager,
|
||||
attrSConns, rateSConns []string) balanceOperator {
|
||||
return &concreteBalance{blnCfg, cncrtBlncs, fltrS, connMgr, attrSConns, rateSConns}
|
||||
return &concreteBalance{blnCfg, fltrS, connMgr, attrSConns, rateSConns}
|
||||
}
|
||||
|
||||
// concreteBalance is the operator for *concrete balance type
|
||||
type concreteBalance struct {
|
||||
blnCfg *utils.Balance
|
||||
cncrtBlncs []*concreteBalance // paying balances
|
||||
fltrS *engine.FilterS
|
||||
connMgr *engine.ConnManager
|
||||
blnCfg *utils.Balance
|
||||
fltrS *engine.FilterS
|
||||
connMgr *engine.ConnManager
|
||||
attrSConns,
|
||||
rateSConns []string
|
||||
}
|
||||
|
||||
@@ -47,7 +47,7 @@ func newAccountBalances(acnt *utils.AccountProfile,
|
||||
acntBlncs.cncrtBlncs = make([]*concreteBalance, len(acntBlncs.typIdx[utils.MetaConcrete]))
|
||||
for i, blncIdx := range acntBlncs.typIdx[utils.MetaConcrete] {
|
||||
acntBlncs.cncrtBlncs[i] = newConcreteBalanceOperator(acntBlncs.blnCfgs[blncIdx],
|
||||
acntBlncs.cncrtBlncs, fltrS, connMgr, attrSConns, rateSConns).(*concreteBalance)
|
||||
fltrS, connMgr, attrSConns, rateSConns).(*concreteBalance)
|
||||
acntBlncs.opers[acntBlncs.blnCfgs[blncIdx].ID] = acntBlncs.cncrtBlncs[i]
|
||||
}
|
||||
// populate opers
|
||||
@@ -85,7 +85,7 @@ func newBalanceOperator(blncCfg *utils.Balance, cncrtBlncs []*concreteBalance,
|
||||
default:
|
||||
return nil, fmt.Errorf("unsupported balance type: <%s>", blncCfg.Type)
|
||||
case utils.MetaConcrete:
|
||||
return newConcreteBalanceOperator(blncCfg, cncrtBlncs, fltrS, connMgr, attrSConns, rateSConns), nil
|
||||
return newConcreteBalanceOperator(blncCfg, fltrS, connMgr, attrSConns, rateSConns), nil
|
||||
case utils.MetaAbstract:
|
||||
return newAbstractBalanceOperator(blncCfg, cncrtBlncs, fltrS, connMgr, attrSConns, rateSConns), nil
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user