mirror of
https://github.com/cgrates/cgrates.git
synced 2026-02-11 18:16:24 +05:00
CDRC accepting float64 instead of int64 as DataChargeMultiply
This commit is contained in:
@@ -107,7 +107,7 @@ type Cdrc struct {
|
||||
cdrSourceId string
|
||||
runDelay time.Duration
|
||||
csvSep rune
|
||||
duMultiplyFactor int64
|
||||
duMultiplyFactor float64
|
||||
cdrFields []*config.CfgCdrField
|
||||
httpSkipTlsCheck bool
|
||||
cdrServer *engine.CDRS // Reference towards internal cdrServer if that is the case
|
||||
@@ -160,7 +160,7 @@ func (self *Cdrc) recordToStoredCdr(record []string) (*utils.StoredCdr, error) {
|
||||
}
|
||||
storedCdr.CgrId = utils.Sha1(storedCdr.AccId, storedCdr.SetupTime.String())
|
||||
if storedCdr.TOR == utils.DATA && self.duMultiplyFactor != 0 {
|
||||
storedCdr.Usage = time.Duration(storedCdr.Usage.Nanoseconds() * self.duMultiplyFactor)
|
||||
storedCdr.Usage = time.Duration(float64(storedCdr.Usage.Nanoseconds()) * self.duMultiplyFactor)
|
||||
}
|
||||
for _, httpFieldCfg := range lazyHttpFields { // Lazy process the http fields
|
||||
var outValByte []byte
|
||||
|
||||
@@ -90,7 +90,7 @@ func NewDefaultCdrcConfig() *CdrcConfig {
|
||||
CdrsAddress: "",
|
||||
CdrFormat: utils.CSV,
|
||||
FieldSeparator: utils.FIELDS_SEP,
|
||||
DataUsageMultiplyFactor: 1,
|
||||
DataUsageMultiplyFactor: 1.0,
|
||||
RunDelay: time.Duration(0),
|
||||
CdrInDir: "/var/log/cgrates/cdrc/in",
|
||||
CdrOutDir: "/var/log/cgrates/cdrc/out",
|
||||
@@ -116,8 +116,7 @@ func NewCdrcConfigFromFileParams(c *conf.ConfigFile) (*CdrcConfig, error) {
|
||||
cdrcCfg.FieldSeparator, _ = c.GetString("cdrc", "field_separator")
|
||||
}
|
||||
if hasOpt := c.HasOption("cdrc", "data_usage_multiply_factor"); hasOpt {
|
||||
mf, _ := c.GetInt("cdrc", "data_usage_multiply_factor")
|
||||
cdrcCfg.DataUsageMultiplyFactor = int64(mf)
|
||||
cdrcCfg.DataUsageMultiplyFactor, _ = c.GetFloat64("cdrc", "data_usage_multiply_factor")
|
||||
}
|
||||
if hasOpt := c.HasOption("cdrc", "run_delay"); hasOpt {
|
||||
durStr, _ := c.GetString("cdrc", "run_delay")
|
||||
@@ -200,7 +199,7 @@ type CdrcConfig struct {
|
||||
CdrsAddress string // The address where CDRs can be reached
|
||||
CdrFormat string // The type of CDR file to process <csv>
|
||||
FieldSeparator string // The separator to use when reading csvs
|
||||
DataUsageMultiplyFactor int64 // Conversion factor for data usage
|
||||
DataUsageMultiplyFactor float64 // Conversion factor for data usage
|
||||
RunDelay time.Duration // Delay between runs, 0 for inotify driven requests
|
||||
CdrInDir string // Folder to process CDRs from
|
||||
CdrOutDir string // Folder to move processed CDRs to
|
||||
|
||||
@@ -112,7 +112,7 @@ func TestGetCdrcCfgs(t *testing.T) {
|
||||
cdrsAddr := "internal"
|
||||
cdrFormat := "csv"
|
||||
fldSep := ","
|
||||
dataUsageMultiplyFactor := int64(1024)
|
||||
dataUsageMultiplyFactor := 1024.0
|
||||
runDelay := int64(0)
|
||||
cdrInDir := "/var/log/cgrates/cdrc/in"
|
||||
cdrOutDir := "/var/log/cgrates/cdrc/out"
|
||||
|
||||
@@ -59,7 +59,7 @@ type CgrXmlCdrcCfg struct {
|
||||
CdrsAddress *string `xml:"cdrs_address"` // The address where CDRs can be reached
|
||||
CdrFormat *string `xml:"cdr_format"` // The type of CDR to process <csv>
|
||||
FieldSeparator *string `xml:"field_separator"` // The separator to use when reading csvs
|
||||
DataUsageMultiplyFactor *int64 `xml:"data_usage_multiply_factor"` // Conversion factor for data usage
|
||||
DataUsageMultiplyFactor *float64 `xml:"data_usage_multiply_factor"` // Conversion factor for data usage
|
||||
RunDelay *int64 `xml:"run_delay"` // Delay between runs
|
||||
CdrInDir *string `xml:"cdr_in_dir"` // Folder to process CDRs from
|
||||
CdrOutDir *string `xml:"cdr_out_dir"` // Folder to move processed CDRs to
|
||||
|
||||
Reference in New Issue
Block a user