本文整理匯總了Golang中github.com/cgrates/cgrates/utils.DerivedChargers.Append方法的典型用法代碼示例。如果您正苦於以下問題:Golang DerivedChargers.Append方法的具體用法?Golang DerivedChargers.Append怎麽用?Golang DerivedChargers.Append使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類github.com/cgrates/cgrates/utils.DerivedChargers
的用法示例。
在下文中一共展示了DerivedChargers.Append方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。
示例1: HandleGetDerivedChargers
// Transparently handles merging between storage data and configuration, useful as local handler
func HandleGetDerivedChargers(acntStorage AccountingStorage, cfg *config.CGRConfig, attrs utils.AttrDerivedChargers) (utils.DerivedChargers, error) {
var dcs utils.DerivedChargers
var err error
strictKey := utils.DerivedChargersKey(attrs.Direction, attrs.Tenant, attrs.Category, attrs.Account, attrs.Subject)
anySubjKey := utils.DerivedChargersKey(attrs.Direction, attrs.Tenant, attrs.Category, attrs.Account, utils.ANY)
for _, dcKey := range []string{strictKey, anySubjKey} {
if dcsDb, err := acntStorage.GetDerivedChargers(dcKey, false); err != nil && err.Error() != utils.ERR_NOT_FOUND {
return nil, err
} else if dcsDb != nil {
dcs = dcsDb
break
}
}
if dcs == nil {
dcs = cfg.DerivedChargers
return dcs, nil
}
if cfg.CombinedDerivedChargers {
for _, cfgDc := range cfg.DerivedChargers {
if dcs, err = dcs.Append(cfgDc); err != nil {
return nil, err
}
}
}
return dcs, nil
}