mirror of
https://github.com/cgrates/cgrates.git
synced 2026-02-12 02:26:26 +05:00
small corrections
This commit is contained in:
@@ -53,7 +53,7 @@ func GetCallCost(key *timespans.CallDescriptor, method string) (reply *timespans
|
||||
time.Sleep(1 * time.Second) // wait one second and retry
|
||||
} else {
|
||||
reply = ×pans.CallCost{}
|
||||
reply, err = timespans.AccLock.GuardGetCost(key.GetKey(), func() (*timespans.CallCost, error) {
|
||||
reply, err = accLock.GuardGetCost(key.GetKey(), func() (*timespans.CallCost, error) {
|
||||
err = client.Call(method, *key, reply)
|
||||
return reply, err
|
||||
})
|
||||
@@ -76,7 +76,7 @@ func CallMethod(key *timespans.CallDescriptor, method string) (reply float64, er
|
||||
log.Print("Waiting for raters to register...")
|
||||
time.Sleep(1 * time.Second) // wait one second and retry
|
||||
} else {
|
||||
reply, err = timespans.AccLock.Guard(key.GetKey(), func() (float64, error) {
|
||||
reply, err = accLock.Guard(key.GetKey(), func() (float64, error) {
|
||||
err = client.Call(method, *key, &reply)
|
||||
return reply, err
|
||||
})
|
||||
|
||||
@@ -56,7 +56,7 @@ func NewStorage(nsg timespans.StorageGetter) *Responder {
|
||||
RPC method providing the rating information from the storage.
|
||||
*/
|
||||
func (s *Responder) GetCost(cd timespans.CallDescriptor, reply *timespans.CallCost) (err error) {
|
||||
r, e := timespans.AccLock.GuardGetCost(cd.GetKey(), func() (*timespans.CallCost, error) {
|
||||
r, e := timespans.AccLock.GuardGetCost(cd.GetUserBalanceKey(), func() (*timespans.CallCost, error) {
|
||||
return (&cd).GetCost()
|
||||
})
|
||||
*reply, err = *r, e
|
||||
@@ -64,7 +64,7 @@ func (s *Responder) GetCost(cd timespans.CallDescriptor, reply *timespans.CallCo
|
||||
}
|
||||
|
||||
func (s *Responder) DebitCents(cd timespans.CallDescriptor, reply *float64) (err error) {
|
||||
r, e := timespans.AccLock.Guard(cd.GetKey(), func() (float64, error) {
|
||||
r, e := timespans.AccLock.Guard(cd.GetUserBalanceKey(), func() (float64, error) {
|
||||
return (&cd).DebitCents()
|
||||
})
|
||||
*reply, err = r, e
|
||||
@@ -72,7 +72,7 @@ func (s *Responder) DebitCents(cd timespans.CallDescriptor, reply *float64) (err
|
||||
}
|
||||
|
||||
func (s *Responder) DebitSMS(cd timespans.CallDescriptor, reply *float64) (err error) {
|
||||
r, e := timespans.AccLock.Guard(cd.GetKey(), func() (float64, error) {
|
||||
r, e := timespans.AccLock.Guard(cd.GetUserBalanceKey(), func() (float64, error) {
|
||||
return (&cd).DebitSMS()
|
||||
})
|
||||
*reply, err = r, e
|
||||
@@ -80,7 +80,7 @@ func (s *Responder) DebitSMS(cd timespans.CallDescriptor, reply *float64) (err e
|
||||
}
|
||||
|
||||
func (s *Responder) DebitSeconds(cd timespans.CallDescriptor, reply *float64) (err error) {
|
||||
r, e := timespans.AccLock.Guard(cd.GetKey(), func() (float64, error) {
|
||||
r, e := timespans.AccLock.Guard(cd.GetUserBalanceKey(), func() (float64, error) {
|
||||
return 0, (&cd).DebitSeconds()
|
||||
})
|
||||
*reply, err = r, e
|
||||
@@ -88,7 +88,7 @@ func (s *Responder) DebitSeconds(cd timespans.CallDescriptor, reply *float64) (e
|
||||
}
|
||||
|
||||
func (s *Responder) GetMaxSessionTime(cd timespans.CallDescriptor, reply *float64) (err error) {
|
||||
r, e := timespans.AccLock.Guard(cd.GetKey(), func() (float64, error) {
|
||||
r, e := timespans.AccLock.Guard(cd.GetUserBalanceKey(), func() (float64, error) {
|
||||
return (&cd).GetMaxSessionTime()
|
||||
})
|
||||
*reply, err = r, e
|
||||
@@ -96,7 +96,7 @@ func (s *Responder) GetMaxSessionTime(cd timespans.CallDescriptor, reply *float6
|
||||
}
|
||||
|
||||
func (s *Responder) AddRecievedCallSeconds(cd timespans.CallDescriptor, reply *float64) (err error) {
|
||||
r, e := timespans.AccLock.Guard(cd.GetKey(), func() (float64, error) {
|
||||
r, e := timespans.AccLock.Guard(cd.GetUserBalanceKey(), func() (float64, error) {
|
||||
return 0, (&cd).AddRecievedCallSeconds()
|
||||
})
|
||||
*reply, err = r, e
|
||||
|
||||
@@ -150,7 +150,6 @@ func (at *ActionTiming) getUserBalances() (ubs []*UserBalance) {
|
||||
}
|
||||
|
||||
func (at *ActionTiming) Execute() (err error) {
|
||||
|
||||
aac, err := at.getActions()
|
||||
if err != nil {
|
||||
log.Print("Failed to get actions: ", err)
|
||||
|
||||
@@ -86,17 +86,21 @@ func (cd *CallDescriptor) AddActivationPeriodIfNotPresent(aps ...*ActivationPeri
|
||||
}
|
||||
}
|
||||
|
||||
// Returns the key used to retrive the user balance involved in this call
|
||||
func (cd *CallDescriptor) GetUserBalanceKey() string {
|
||||
subj := cd.Subject
|
||||
if cd.Account != "" {
|
||||
subj = cd.Account
|
||||
}
|
||||
return fmt.Sprintf("%s:%s:%s", cd.Direction, cd.Tenant, subj)
|
||||
}
|
||||
|
||||
/*
|
||||
Gets and caches the user balance information.
|
||||
*/
|
||||
func (cd *CallDescriptor) getUserBalance() (ub *UserBalance, err error) {
|
||||
if cd.userBalance == nil {
|
||||
subj := cd.Subject
|
||||
if cd.Account != "" {
|
||||
subj = cd.Account
|
||||
}
|
||||
key := fmt.Sprintf("%s:%s:%s", cd.Direction, cd.Tenant, subj)
|
||||
cd.userBalance, err = storageGetter.GetUserBalance(key)
|
||||
cd.userBalance, err = storageGetter.GetUserBalance(cd.GetUserBalanceKey())
|
||||
}
|
||||
return cd.userBalance, err
|
||||
}
|
||||
|
||||
@@ -251,6 +251,7 @@ func (ub *UserBalance) countUnits(a *Action) {
|
||||
ub.executeActionTriggers()
|
||||
}
|
||||
|
||||
// Create minute counters for all triggered actions that have actions operating on minute buckets
|
||||
func (ub *UserBalance) initMinuteCounters() {
|
||||
ucTempMap := make(map[string]*UnitsCounter, 2)
|
||||
for _, at := range ub.ActionTriggers {
|
||||
|
||||
Reference in New Issue
Block a user