From bd74e573b9d6d06e66b863cfea7643d13b5500f4 Mon Sep 17 00:00:00 2001 From: Radu Ioan Fericean Date: Wed, 29 May 2013 19:16:39 +0300 Subject: [PATCH] added cost to rated cdrs --- cdrs/fscdr.go | 15 --------------- rater/cdr.go | 2 -- rater/storage_mysql.go | 9 ++------- rater/storage_postgres.go | 8 ++------ 4 files changed, 4 insertions(+), 30 deletions(-) diff --git a/cdrs/fscdr.go b/cdrs/fscdr.go index 370be6f9f..bc99aabc4 100644 --- a/cdrs/fscdr.go +++ b/cdrs/fscdr.go @@ -20,7 +20,6 @@ package cdrs import ( "encoding/json" - "errors" "github.com/cgrates/cgrates/rater" "github.com/cgrates/cgrates/utils" "strconv" @@ -45,7 +44,6 @@ const ( END_TIME = "end_stamp" USERNAME = "user_name" FS_IP = "sip_local_network_addr" - RATE = "rate" ) type FSCdr map[string]string @@ -123,21 +121,8 @@ func (fsCdr FSCdr) GetStartTime() (t time.Time, err error) { t = time.Unix(0, st*1000) return } - func (fsCdr FSCdr) GetEndTime() (t time.Time, err error) { st, err := strconv.ParseInt(fsCdr[END_TIME], 0, 64) t = time.Unix(0, st*1000) return } - -func (fsCdr FSCdr) GetRate() (float64, error) { - rate, ok := fsCdr[RATE] - if !ok { - return -1, errors.New("Not found") - } - return strconv.ParseFloat(rate, 64) -} - -func (fsCdr FSCdr) SetRate(rate float64) { - fsCdr[RATE] = strconv.FormatFloat(rate, 'f', -1, 64) -} diff --git a/rater/cdr.go b/rater/cdr.go index a355bf803..b24917e0f 100644 --- a/rater/cdr.go +++ b/rater/cdr.go @@ -41,6 +41,4 @@ type CDR interface { GetEndTime() (time.Time, error) GetFallbackSubj() string GetExtraParameters() string - GetRate() (float64, error) - SetRate(float64) } diff --git a/rater/storage_mysql.go b/rater/storage_mysql.go index c198522a9..87eeb02c5 100644 --- a/rater/storage_mysql.go +++ b/rater/storage_mysql.go @@ -159,20 +159,15 @@ func (mys *MySQLStorage) SetCdr(cdr CDR) (err error) { return } -func (mys *MySQLStorage) SetRatedCdr(cdr CDR, callcost *CallCost) (err error) { - rate, err := cdr.GetRate() - if err != nil { - return err - } +func (mys *MySQLStorage) SetRatedCdr(cdr CDR, cc *CallCost) (err error) { _, err = mys.Db.Exec(fmt.Sprintf("INSERT INTO cdrs_extra VALUES ('%s', '%s', '%s', '%s')", cdr.GetCgrId(), - rate, + cc.Cost, "cgrcostid", "cdrsrc", )) if err != nil { Logger.Err(fmt.Sprintf("failed to execute cdr insert statement: %v", err)) } - return } diff --git a/rater/storage_postgres.go b/rater/storage_postgres.go index fc908a0af..78e11607e 100644 --- a/rater/storage_postgres.go +++ b/rater/storage_postgres.go @@ -159,14 +159,10 @@ func (psl *PostgresStorage) SetCdr(cdr CDR) (err error) { return } -func (psl *PostgresStorage) SetRatedCdr(cdr CDR, callcost *CallCost) (err error) { - rate, err := cdr.GetRate() - if err != nil { - return err - } +func (psl *PostgresStorage) SetRatedCdr(cdr CDR, cc *CallCost) (err error) { _, err = psl.Db.Exec(fmt.Sprintf("INSERT INTO cdrs_extra VALUES ('%s', '%s', '%s', '%s')", cdr.GetCgrId(), - rate, + cc.Cost, "cgrcostid", "cdrsrc", ))