mirror of
https://github.com/cgrates/cgrates.git
synced 2026-02-23 08:08:45 +05:00
moved weight from rates to ratetimings
This commit is contained in:
@@ -36,7 +36,7 @@ var (
|
||||
destinationsFn = flag.String("destinations", "Destinations.csv", "Destinations file")
|
||||
ratesFn = flag.String("rates", "Rates.csv", "Rates file")
|
||||
timingsFn = flag.String("timings", "Timings.csv", "Timings file")
|
||||
ratestimingsFn = flag.String("ratestimings", "RatesTimings.csv", "Rates timings file")
|
||||
ratetimingsFn = flag.String("ratetimings", "RateTimings.csv", "Rates timings file")
|
||||
ratingprofilesFn = flag.String("ratingprofiles", "RatingProfiles.csv", "Rating profiles file")
|
||||
actionsFn = flag.String("actions", "Actions.csv", "Actions file")
|
||||
actiontimingsFn = flag.String("actiontimings", "ActionTimings.csv", "Actions timings file")
|
||||
@@ -88,7 +88,7 @@ func main() {
|
||||
loadDestinations()
|
||||
loadRates()
|
||||
loadTimings()
|
||||
loadRatesTimings()
|
||||
loadRateTimings()
|
||||
loadRatingProfiles()
|
||||
loadActions()
|
||||
loadActionTimings()
|
||||
|
||||
@@ -27,11 +27,11 @@ import (
|
||||
)
|
||||
|
||||
type Rate struct {
|
||||
DestinationsTag string
|
||||
ConnectFee, Price, BillingUnit, Weight float64
|
||||
DestinationsTag string
|
||||
ConnectFee, Price, BillingUnit float64
|
||||
}
|
||||
|
||||
func NewRate(destinationsTag, connectFee, price, billingUnit, weight string) (r *Rate, err error) {
|
||||
func NewRate(destinationsTag, connectFee, price, billingUnit string) (r *Rate, err error) {
|
||||
cf, err := strconv.ParseFloat(connectFee, 64)
|
||||
if err != nil {
|
||||
log.Printf("Error parsing connect fee from: %v", connectFee)
|
||||
@@ -47,17 +47,11 @@ func NewRate(destinationsTag, connectFee, price, billingUnit, weight string) (r
|
||||
log.Printf("Error parsing billing unit from: %v", billingUnit)
|
||||
return
|
||||
}
|
||||
w, err := strconv.ParseFloat(weight, 64)
|
||||
if err != nil {
|
||||
log.Printf("Error parsing weight from: %v", weight)
|
||||
return
|
||||
}
|
||||
r = &Rate{
|
||||
DestinationsTag: destinationsTag,
|
||||
ConnectFee: cf,
|
||||
Price: p,
|
||||
BillingUnit: bu,
|
||||
Weight: w,
|
||||
}
|
||||
return
|
||||
}
|
||||
@@ -85,12 +79,19 @@ func NewTiming(timeingInfo ...string) (rt *Timing) {
|
||||
|
||||
type RateTiming struct {
|
||||
RatesTag string
|
||||
Weight float64
|
||||
timing *Timing
|
||||
}
|
||||
|
||||
func NewRateTiming(ratesTag string, timing *Timing) (rt *RateTiming) {
|
||||
func NewRateTiming(ratesTag string, timing *Timing, weight string) (rt *RateTiming) {
|
||||
w, err := strconv.ParseFloat(weight, 64)
|
||||
if err != nil {
|
||||
log.Printf("Error parsing weight unit from: %v", weight)
|
||||
return
|
||||
}
|
||||
rt = &RateTiming{
|
||||
RatesTag: ratesTag,
|
||||
Weight: w,
|
||||
timing: timing,
|
||||
}
|
||||
return
|
||||
@@ -102,10 +103,10 @@ func (rt *RateTiming) GetInterval(r *Rate) (i *timespans.Interval) {
|
||||
MonthDays: rt.timing.MonthDays,
|
||||
WeekDays: rt.timing.WeekDays,
|
||||
StartTime: rt.timing.StartTime,
|
||||
Weight: rt.Weight,
|
||||
ConnectFee: r.ConnectFee,
|
||||
Price: r.Price,
|
||||
BillingUnit: r.BillingUnit,
|
||||
Weight: r.Weight,
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
@@ -83,7 +83,7 @@ func loadRates() {
|
||||
// skip header line
|
||||
continue
|
||||
}
|
||||
r, err := NewRate(record[1], record[2], record[3], record[4], record[5])
|
||||
r, err := NewRate(record[1], record[2], record[3], record[4])
|
||||
if err != nil {
|
||||
continue
|
||||
}
|
||||
@@ -113,8 +113,8 @@ func loadTimings() {
|
||||
}
|
||||
}
|
||||
|
||||
func loadRatesTimings() {
|
||||
fp, err := os.Open(*ratestimingsFn)
|
||||
func loadRateTimings() {
|
||||
fp, err := os.Open(*ratetimingsFn)
|
||||
if err != nil {
|
||||
log.Printf("Could not open rates timings file: %v", err)
|
||||
return
|
||||
@@ -136,8 +136,7 @@ func loadRatesTimings() {
|
||||
continue
|
||||
}
|
||||
for _, t := range ts {
|
||||
rt := NewRateTiming(record[1], t)
|
||||
//ratesTimings[tag] = append(ratesTimings[tag], rt)
|
||||
rt := NewRateTiming(record[1], t, record[3])
|
||||
rs, exists := rates[record[1]]
|
||||
if !exists {
|
||||
log.Printf("Could not rate for tag %v", record[2])
|
||||
|
||||
Reference in New Issue
Block a user