diff --git a/engine/eventcost.go b/engine/eventcost.go index 1bbaf1729..caac36aa7 100644 --- a/engine/eventcost.go +++ b/engine/eventcost.go @@ -99,11 +99,11 @@ func (ec *EventCost) newChargingIncrement(incr *Increment, rf RatingMatchedFilte rateID = ec.ratingIDForRateInterval(incr.BalanceInfo.Monetary.RateInterval, rf, isPause) } bc := &BalanceCharge{ - AccountID: incr.BalanceInfo.AccountID, - BalanceUUID: incr.BalanceInfo.Monetary.UUID, - Units: incr.Cost, - Factor: 1, - RatingID: rateID, + AccountID: incr.BalanceInfo.AccountID, + BalanceUUID: incr.BalanceInfo.Monetary.UUID, + Units: incr.Cost, + BalanceFactor: 1, + RatingID: rateID, } if isPause { ecUUID = utils.MetaPause @@ -119,7 +119,7 @@ func (ec *EventCost) newChargingIncrement(incr *Increment, rf RatingMatchedFilte AccountID: incr.BalanceInfo.AccountID, BalanceUUID: incr.BalanceInfo.Unit.UUID, Units: incr.BalanceInfo.Unit.Consumed, - Factor: incr.BalanceInfo.Unit.Factor, + BalanceFactor: incr.BalanceInfo.Unit.Factor, RatingID: rateID, ExtraChargeID: ecUUID, } @@ -134,11 +134,11 @@ func (ec *EventCost) newChargingIncrement(incr *Increment, rf RatingMatchedFilte rateID = ec.ratingIDForRateInterval(incr.BalanceInfo.Monetary.RateInterval, rf, isPause) } bc := &BalanceCharge{ - AccountID: incr.BalanceInfo.AccountID, - BalanceUUID: incr.BalanceInfo.Monetary.UUID, - Units: incr.Cost, - Factor: 1, - RatingID: rateID, + AccountID: incr.BalanceInfo.AccountID, + BalanceUUID: incr.BalanceInfo.Monetary.UUID, + Units: incr.Cost, + BalanceFactor: 1, + RatingID: rateID, } if isPause { cIt.AccountingID = utils.MetaPause @@ -387,7 +387,7 @@ func (ec *EventCost) AsRefundIncrements(tor string) (cd *CallDescriptor) { } else if utils.NonMonetaryBalances.Has(blncSmry.Type) { blncInfo.Unit = &UnitInfo{ UUID: blncSmry.UUID, - Factor: blncCharge.Factor, + Factor: blncCharge.BalanceFactor, } } if blncCharge.ExtraChargeID == utils.MetaNone || @@ -403,7 +403,7 @@ func (ec *EventCost) AsRefundIncrements(tor string) (cd *CallDescriptor) { } else if utils.NonMonetaryBalances.Has(blncSmry.Type) { blncInfo.Unit = &UnitInfo{ UUID: extraSmry.UUID, - Factor: blncCharge.Factor, + Factor: blncCharge.BalanceFactor, } } } @@ -498,7 +498,7 @@ func (ec *EventCost) newIntervalFromCharge(cInc *ChargingIncrement) (incr *Incre incr.BalanceInfo.Unit = &UnitInfo{ UUID: cBC.BalanceUUID, Consumed: cBC.Units, - Factor: cBC.Factor, + Factor: cBC.BalanceFactor, } incr.BalanceInfo.Unit.RateInterval = ec.rateIntervalForRatingID(cBC.RatingID) if cBC.ExtraChargeID != utils.MetaNone { diff --git a/engine/eventcost_test.go b/engine/eventcost_test.go index 91bc347d4..535e12559 100644 --- a/engine/eventcost_test.go +++ b/engine/eventcost_test.go @@ -168,36 +168,36 @@ var testEC = &EventCost{ }, Accounting: Accounting{ "a012888": &BalanceCharge{ - AccountID: "cgrates.org:dan", - BalanceUUID: "8c54a9e9-d610-4c82-bcb5-a315b9a65010", - Units: 0.01, - Factor: 1, + AccountID: "cgrates.org:dan", + BalanceUUID: "8c54a9e9-d610-4c82-bcb5-a315b9a65010", + Units: 0.01, + BalanceFactor: 1, }, "188bfa6": &BalanceCharge{ - AccountID: "cgrates.org:dan", - BalanceUUID: "8c54a9e9-d610-4c82-bcb5-a315b9a65010", - Units: 0.005, - Factor: 1, + AccountID: "cgrates.org:dan", + BalanceUUID: "8c54a9e9-d610-4c82-bcb5-a315b9a65010", + Units: 0.005, + BalanceFactor: 1, }, "9bdad10": &BalanceCharge{ - AccountID: "cgrates.org:dan", - BalanceUUID: "8c54a9e9-d610-4c82-bcb5-a315b9a65010", - Units: 0.1, - Factor: 1, + AccountID: "cgrates.org:dan", + BalanceUUID: "8c54a9e9-d610-4c82-bcb5-a315b9a65010", + Units: 0.1, + BalanceFactor: 1, }, "44d6c02": &BalanceCharge{ AccountID: "cgrates.org:dan", BalanceUUID: "4b8b53d7-c1a1-4159-b845-4623a00a0165", RatingID: "3cd6425", Units: 1, - Factor: 1, + BalanceFactor: 1, ExtraChargeID: "188bfa6", }, "3455b83": &BalanceCharge{ AccountID: "cgrates.org:dan", BalanceUUID: "4b8b53d7-c1a1-4159-b845-4623a00a0165", Units: 1, - Factor: 1, + BalanceFactor: 1, ExtraChargeID: "*none", }, }, @@ -586,36 +586,36 @@ func TestNewEventCostFromCallCost(t *testing.T) { }, Accounting: Accounting{ "c890a899-df43-497a-9979-38492713f57b": &BalanceCharge{ - AccountID: "cgrates.org:dan", - BalanceUUID: "8c54a9e9-d610-4c82-bcb5-a315b9a65010", - Units: 0.01, - Factor: 1, + AccountID: "cgrates.org:dan", + BalanceUUID: "8c54a9e9-d610-4c82-bcb5-a315b9a65010", + Units: 0.01, + BalanceFactor: 1, }, "a894f8f1-206a-4457-99ce-df21a0c7fedc": &BalanceCharge{ - AccountID: "cgrates.org:dan", - BalanceUUID: "8c54a9e9-d610-4c82-bcb5-a315b9a65010", - Units: 0.005, - Factor: 1, + AccountID: "cgrates.org:dan", + BalanceUUID: "8c54a9e9-d610-4c82-bcb5-a315b9a65010", + Units: 0.005, + BalanceFactor: 1, }, "44e97dec-8a7e-43d0-8b0a-736d46b5613e": &BalanceCharge{ - AccountID: "cgrates.org:dan", - BalanceUUID: "8c54a9e9-d610-4c82-bcb5-a315b9a65010", - Units: 0.1, - Factor: 1, + AccountID: "cgrates.org:dan", + BalanceUUID: "8c54a9e9-d610-4c82-bcb5-a315b9a65010", + Units: 0.1, + BalanceFactor: 1, }, "906bfd0f-035c-40a3-93a8-46f71627983e": &BalanceCharge{ AccountID: "cgrates.org:dan", BalanceUUID: "7a54a9e9-d610-4c82-bcb5-a315b9a65010", RatingID: "4607d907-02c3-4f2b-bc08-95a0dcc7222c", Units: 1, - Factor: 1, + BalanceFactor: 1, ExtraChargeID: "a894f8f1-206a-4457-99ce-df21a0c7fedc", }, "a555cde8-4bd0-408a-afbc-c3ba64888927": &BalanceCharge{ AccountID: "cgrates.org:dan", BalanceUUID: "9d54a9e9-d610-4c82-bcb5-a315b9a65089", Units: 1, - Factor: 1, + BalanceFactor: 1, ExtraChargeID: "*none", }, "44e97dec-8a7e-43d0-8b0a-e34a152": &BalanceCharge{ @@ -623,7 +623,7 @@ func TestNewEventCostFromCallCost(t *testing.T) { BalanceUUID: "8c54a9e9-d610-4c82-bcb5-a315b9a65010", RatingID: "*rounding", Units: -0.1, - Factor: 1, + BalanceFactor: 1, ExtraChargeID: "", }, }, @@ -2469,24 +2469,24 @@ func TestECSyncKeys(t *testing.T) { }, Accounting: Accounting{ "2012888": &BalanceCharge{ - AccountID: "cgrates.org:dan", - BalanceUUID: "8c54a9e9-d610-4c82-bcb5-a315b9a65010", - Units: 0.01, - Factor: 1, - RatingID: "21a5ab9", + AccountID: "cgrates.org:dan", + BalanceUUID: "8c54a9e9-d610-4c82-bcb5-a315b9a65010", + Units: 0.01, + BalanceFactor: 1, + RatingID: "21a5ab9", }, "288bfa6": &BalanceCharge{ - AccountID: "cgrates.org:dan", - BalanceUUID: "8c54a9e9-d610-4c82-bcb5-a315b9a65010", - Units: 0.005, - Factor: 1, + AccountID: "cgrates.org:dan", + BalanceUUID: "8c54a9e9-d610-4c82-bcb5-a315b9a65010", + Units: 0.005, + BalanceFactor: 1, }, "24d6c02": &BalanceCharge{ AccountID: "cgrates.org:dan", BalanceUUID: "7a54a9e9-d610-4c82-bcb5-a315b9a65010", RatingID: "3cd6425", Units: 1, - Factor: 1, + BalanceFactor: 1, ExtraChargeID: "288bfa6", }, }, @@ -2654,37 +2654,37 @@ func TestECSyncKeys(t *testing.T) { }, Accounting: Accounting{ "2012888": &BalanceCharge{ - AccountID: "cgrates.org:dan", - BalanceUUID: "8c54a9e9-d610-4c82-bcb5-a315b9a65010", - Units: 0.01, - Factor: 1, - RatingID: "21a5ab9", + AccountID: "cgrates.org:dan", + BalanceUUID: "8c54a9e9-d610-4c82-bcb5-a315b9a65010", + Units: 0.01, + BalanceFactor: 1, + RatingID: "21a5ab9", }, "288bfa6": &BalanceCharge{ - AccountID: "cgrates.org:dan", - BalanceUUID: "8c54a9e9-d610-4c82-bcb5-a315b9a65010", - Factor: 1, - Units: 0.005, + AccountID: "cgrates.org:dan", + BalanceUUID: "8c54a9e9-d610-4c82-bcb5-a315b9a65010", + BalanceFactor: 1, + Units: 0.005, }, "9bdad10": &BalanceCharge{ - AccountID: "cgrates.org:dan", - BalanceUUID: "8c54a9e9-d610-4c82-bcb5-a315b9a65010", - Factor: 1, - Units: 0.1, + AccountID: "cgrates.org:dan", + BalanceUUID: "8c54a9e9-d610-4c82-bcb5-a315b9a65010", + BalanceFactor: 1, + Units: 0.1, }, "44d6c02": &BalanceCharge{ AccountID: "cgrates.org:dan", BalanceUUID: "4b8b53d7-c1a1-4159-b845-4623a00a0165", RatingID: "3cd6425", Units: 1, - Factor: 1, + BalanceFactor: 1, ExtraChargeID: "288bfa6", }, "3455b83": &BalanceCharge{ AccountID: "cgrates.org:dan", BalanceUUID: "4b8b53d7-c1a1-4159-b845-4623a00a0165", Units: 1, - Factor: 1, + BalanceFactor: 1, ExtraChargeID: "*none", }, }, @@ -4001,8 +4001,8 @@ func TestECAsDataProvider3(t *testing.T) { exp: "1s", }, { - name: "Factor", - fields: []string{"Charges[0]", "Increments[1]", "Accounting", "Factor"}, + name: "BalanceFactor", + fields: []string{"Charges[0]", "Increments[1]", "Accounting", "BalanceFactor"}, exp: "1", }, { @@ -4166,8 +4166,8 @@ func TestECAsDataProvider3(t *testing.T) { exp: "0.005", }, { - name: "Factor through ExtraCharge", - fields: []string{"Charges[0]", "Increments[3]", "Accounting", "ExtraCharge", "Factor"}, + name: "BalanceFactor through ExtraCharge", + fields: []string{"Charges[0]", "Increments[3]", "Accounting", "ExtraCharge", "BalanceFactor"}, exp: "1", }, // ~*ec.Charges[0].Increments[3].Accounting.Rating.ConnectFee @@ -4265,7 +4265,7 @@ func TestECnewChargingIncrementNoUnitInfo(t *testing.T) { expEC := &EventCost{ Accounting: Accounting{ utils.MetaPause: &BalanceCharge{ - Factor: 1, + BalanceFactor: 1, }, }, } diff --git a/engine/libeventcost.go b/engine/libeventcost.go index 5bda76e36..2d0cff83a 100644 --- a/engine/libeventcost.go +++ b/engine/libeventcost.go @@ -191,7 +191,7 @@ type BalanceCharge struct { BalanceUUID string // balance charged RatingID string // special price applied on this balance Units float64 // number of units charged - Factor float64 // calculation multiplier for units; always 1 for *monetary balances + BalanceFactor float64 // calculation multiplier for units; always 1 for *monetary balances ExtraChargeID string // used in cases when paying *voice with *monetary } @@ -211,8 +211,8 @@ func (bc *BalanceCharge) FieldAsInterface(fldPath []string) (val any, err error) return bc.RatingID, nil case utils.Units: return bc.Units, nil - case utils.Factor: - return bc.Factor, nil + case utils.BalanceFactor: + return bc.BalanceFactor, nil case utils.ExtraChargeID: return bc.ExtraChargeID, nil } @@ -234,7 +234,7 @@ func (bc *BalanceCharge) Equals(oBC *BalanceCharge) bool { bc.BalanceUUID == oBC.BalanceUUID && bc.RatingID == oBC.RatingID && bc.Units == oBC.Units && - bc.Factor == oBC.Factor && + bc.BalanceFactor == oBC.BalanceFactor && bcExtraChargeID == oBCExtraChargeID } @@ -667,8 +667,8 @@ func NewFreeEventCost(cgrID, runID, account string, tStart time.Time, usage time utils.MetaPause: { AccountID: account, // BalanceUUID: "", - RatingID: utils.MetaPause, - Factor: 1, + RatingID: utils.MetaPause, + BalanceFactor: 1, }, }, RatingFilters: RatingFilters{ diff --git a/utils/consts.go b/utils/consts.go index 8ced5bc78..eb84f7e43 100644 --- a/utils/consts.go +++ b/utils/consts.go @@ -581,6 +581,7 @@ const ( RateUnit = "RateUnit" BalanceUUID = "BalanceUUID" RatingID = "RatingID" + BalanceFactor = "BalanceFactor" ExtraChargeID = "ExtraChargeID" ConnectFee = "ConnectFee" RoundingMethod = "RoundingMethod"