diff --git a/data/storage/mysql/create_tariffplan_tables.sql b/data/storage/mysql/create_tariffplan_tables.sql index 9ef388ed5..2dcb52701 100644 --- a/data/storage/mysql/create_tariffplan_tables.sql +++ b/data/storage/mysql/create_tariffplan_tables.sql @@ -550,12 +550,12 @@ CREATE TABLE tp_account_profiles ( `balance_weight` decimal(8,2) NOT NULL, `balance_blocker` BOOLEAN NOT NULL, `balance_type` varchar(64) NOT NULL, + `balance_units` decimal(16,4) NOT NULL, + `balance_unit_factors` varchar(64) NOT NULL, `balance_opts` varchar(64) NOT NULL, `balance_cost_increments` varchar(64) NOT NULL, `balance_attribute_ids` varchar(64) NOT NULL, `balance_rate_profile_ids` varchar(64) NOT NULL, - `balance_unit_factors` varchar(64) NOT NULL, - `balance_units` decimal(16,4) NOT NULL, `threshold_ids` varchar(64) NOT NULL, `created_at` TIMESTAMP, PRIMARY KEY (`pk`), diff --git a/data/storage/postgres/create_tariffplan_tables.sql b/data/storage/postgres/create_tariffplan_tables.sql index 799a861f8..113d4617a 100644 --- a/data/storage/postgres/create_tariffplan_tables.sql +++ b/data/storage/postgres/create_tariffplan_tables.sql @@ -533,12 +533,12 @@ CREATE TABLE tp_account_profiles ( "balance_weight" decimal(8,2) NOT NULL, "balance_blocker" BOOLEAN NOT NULL, "balance_type" varchar(64) NOT NULL, + "balance_units" decimal(16,4) NOT NULL, + "balance_unit_factors" varchar(64) NOT NULL, "balance_opts" varchar(64) NOT NULL, "balance_cost_increments" varchar(64) NOT NULL, "balance_attribute_ids" varchar(64) NOT NULL, "balance_rate_profile_ids" varchar(64) NOT NULL, - "balance_unit_factors" varchar(64) NOT NULL, - "balance_units" decimal(16,4) NOT NULL, "threshold_ids" varchar(64) NOT NULL, "created_at" TIMESTAMP WITH TIME ZONE ); diff --git a/data/tariffplans/testit/AccountProfiles.csv b/data/tariffplans/testit/AccountProfiles.csv index e4c29653a..ad39191b5 100644 --- a/data/tariffplans/testit/AccountProfiles.csv +++ b/data/tariffplans/testit/AccountProfiles.csv @@ -1,3 +1,3 @@ -#Tenant,ID,FilterIDs,ActivationInterval,Weight,BalanceID,BalanceFilterIDs,BalanceWeight,BalanceBlocker,BalanceType,BalanceOpts,BalanceCostIncrements,BalanceAttributeIDs,BalanceRateProfileIDs,BalanceUnitFactors,BalanceUnits,ThresholdIDs -cgrates.org,ACC_PRF_1,,,20,MonetaryBalance,,10,,*monetary,,fltr1&fltr2;1.3;2.3;3.3,attr1;attr2,,fltr1&fltr2;100;fltr3;200,14,*none -cgrates.org,1001,,,,VoiceBalance,,10,,*voice,,,,,,3600000000000, \ No newline at end of file +#Tenant,ID,FilterIDs,ActivationInterval,Weight,BalanceID,BalanceFilterIDs,BalanceWeight,BalanceBlocker,BalanceType,BalanceUnits,BalanceUnitFactors,BalanceOpts,BalanceCostIncrements,BalanceAttributeIDs,BalanceRateProfileIDs,ThresholdIDs +cgrates.org,ACC_PRF_1,,,20,MonetaryBalance,,10,,*monetary,14,fltr1&fltr2;100;fltr3;200,,fltr1&fltr2;1.3;2.3;3.3,attr1;attr2,,*none +cgrates.org,1001,,,,VoiceBalance,,10,,*voice,3600000000000,,,,,, \ No newline at end of file diff --git a/data/tariffplans/tutaccounts/AccountProfiles.csv b/data/tariffplans/tutaccounts/AccountProfiles.csv index e38a338c1..37f09fbdd 100644 --- a/data/tariffplans/tutaccounts/AccountProfiles.csv +++ b/data/tariffplans/tutaccounts/AccountProfiles.csv @@ -1,5 +1,5 @@ -#Tenant,ID,FilterIDs,ActivationInterval,Weight,BalanceID,BalanceFilterIDs,BalanceWeight,BalanceBlocker,BalanceType,BalanceOpts,BalanceCostIncrements,BalanceAttributeIDs,BalanceRateProfileIDs,BalanceUnitFactors,BalanceUnits,ThresholdIDs -cgrates.org,1001,*string:~*req.Account:1001,,,MonetaryBalance1,,30,,*concrete,,*string:~*req.ToR:*voice;1000000000;0;0.01;*string:~*req.ToR:*data;1024;0;0.01,,,,5,*none -cgrates.org,1001,,,,GenericBalance1,,20,,*abstract,,*string:~*req.ToR:*voice;1000000000;0;0.01;*string:~*req.ToR:*data;1024;0;0.01,,,*string:~*req.ToR:*data;1.024,3600000000000, -cgrates.org,1001,,,,MonetaryBalance2,,10,,*concrete,,*string:~*req.ToR:*voice;1000000000;0;1,,,,3, -cgrates.org,1002,*string:~*req.Account:1002,,10,MonetaryBalance1,,,,*concrete,,*string:~*req.ToR:*voice;1000000000;0;0.01;;1;0;1,,,,10,*none +#Tenant,ID,FilterIDs,ActivationInterval,Weight,BalanceID,BalanceFilterIDs,BalanceWeight,BalanceBlocker,BalanceType,BalanceUnits,BalanceUnitFactors,BalanceOpts,BalanceCostIncrements,BalanceAttributeIDs,BalanceRateProfileIDs,ThresholdIDs +cgrates.org,1001,*string:~*req.Account:1001,,,MonetaryBalance1,,30,,*concrete,5,,,*string:~*req.ToR:*voice;1000000000;0;0.01;*string:~*req.ToR:*data;1024;0;0.01,,,*none +cgrates.org,1001,,,,GenericBalance1,,20,,*abstract,3600000000000,*string:~*req.ToR:*data;1.024,,*string:~*req.ToR:*voice;1000000000;0;0.01;*string:~*req.ToR:*data;1024;0;0.01,,, +cgrates.org,1001,,,,MonetaryBalance2,,10,,*concrete,3,,,*string:~*req.ToR:*voice;1000000000;0;1,,, +cgrates.org,1002,*string:~*req.Account:1002,,10,MonetaryBalance1,,,,*concrete,10,,,*string:~*req.ToR:*voice;1000000000;0;0.01;;1;0;1,,,*none diff --git a/engine/libtest.go b/engine/libtest.go index bcbc11f60..1ccf2f165 100644 --- a/engine/libtest.go +++ b/engine/libtest.go @@ -298,9 +298,9 @@ cgrates.org,ONE_TIME_ACT,,,,,,,TOPUP_TEST_VOICE,,false,0s,*topup,,~*balance.Test ` AccountProfileCSVContent = ` -#Tenant,ID,FilterIDs,ActivationInterval,Weight,BalanceID,BalanceFilterIDs,BalanceWeight,BalanceBlocker,BalanceType,BalanceOpts,BalanceCostIncrements,BalanceAttributeIDs,BalanceRateProfileIDs,BalanceUnitFactors,BalanceValue,ThresholdIDs -cgrates.org,1001,,,20,MonetaryBalance,,10,,*monetary,,fltr1&fltr2;1.3;2.3;3.3,attr1;attr2,,fltr1&fltr2;100;fltr3;200,14,*none -cgrates.org,1001,,,,VoiceBalance,,10,,*voice,,,,,,3600000000000, +#Tenant,ID,FilterIDs,ActivationInterval,Weight,BalanceID,BalanceFilterIDs,BalanceWeight,BalanceBlocker,BalanceType,BalanceUnits,BalanceUnitFactors,BalanceOpts,BalanceCostIncrements,BalanceAttributeIDs,BalanceRateProfileIDs,ThresholdIDs +cgrates.org,1001,,,20,MonetaryBalance,,10,,*monetary,14,fltr1&fltr2;100;fltr3;200,,fltr1&fltr2;1.3;2.3;3.3,attr1;attr2,,*none +cgrates.org,1001,,,,VoiceBalance,,10,,*voice,3600000000000,,,,,, ` ) diff --git a/engine/loader_csv_test.go b/engine/loader_csv_test.go index 254685fe5..587bb03b8 100644 --- a/engine/loader_csv_test.go +++ b/engine/loader_csv_test.go @@ -1655,7 +1655,7 @@ func TestLoadAccountProfiles(t *testing.T) { Tenant: "cgrates.org", ID: "1001", } - + sort.Strings(csvr.accountProfiles[accPrfKey].Balances["MonetaryBalance"].AttributeIDs) if !reflect.DeepEqual(csvr.accountProfiles[accPrfKey], expected) { t.Errorf("Expecting: %+v,\n received: %+v", utils.ToJSON(expected), utils.ToJSON(csvr.accountProfiles[accPrfKey])) diff --git a/engine/models.go b/engine/models.go index 5402133c7..655fab8df 100644 --- a/engine/models.go +++ b/engine/models.go @@ -579,12 +579,12 @@ type AccountProfileMdl struct { BalanceWeight float64 `index:"7" re:"\d+\.?\d*"` BalanceBlocker bool `index:"8" re:""` BalanceType string `index:"9" re:""` - BalanceOpts string `index:"10" re:""` - BalanceCostIncrements string `index:"11" re:""` - BalanceAttributeIDs string `index:"12" re:""` - BalanceRateProfileIDs string `index:"13" re:""` - BalanceUnitFactors string `index:"14" re:""` - BalanceUnits float64 `index:"15" re:"\d+\.?\d*"` + BalanceUnits float64 `index:"10" re:"\d+\.?\d*"` + BalanceUnitFactors string `index:"11" re:""` + BalanceOpts string `index:"12" re:""` + BalanceCostIncrements string `index:"13" re:""` + BalanceAttributeIDs string `index:"14" re:""` + BalanceRateProfileIDs string `index:"15" re:""` ThresholdIDs string `index:"16" re:""` CreatedAt time.Time }