Fix and implement supplier counters

This commit is contained in:
2014-03-07 18:29:49 +01:00
parent 95e268adea
commit 99473758e6
25 changed files with 304 additions and 65 deletions
+15 -12
View File
@@ -116,6 +116,9 @@ class Supplier
end
def self.reset_counters!
Qwaiter::Couchbase.design_doc('supplier').counters(reduce: false).each{|counter| Qwaiter::Counter.set counter.key, 0}
spec = Order.by_supplier_id_and_state(reduce: true, group_level: 2)
reset_order_counters_with_spec spec
end
@@ -137,8 +140,8 @@ class Supplier
Array.wrap(results['rows']).each do |result|
supplier_id, state = result['key']
case state
when 'placed' then Qwaiter::Counter.set "supplier:#{supplier_id}:orders_in_process", result['value']
when 'active' then Qwaiter::Counter.set "supplier:#{supplier_id}:orders_delivered", result['value']
when 'placed' then Qwaiter::Counter.set "supplier_counter:#{supplier_id}:orders_placed", result['value']
when 'active' then Qwaiter::Counter.set "supplier_counter:#{supplier_id}:orders_in_process", result['value']
end
end
end
@@ -168,31 +171,31 @@ class Supplier
end
def increment_orders_in_process_count!
Qwaiter::Counter.incr "supplier:#{id}:orders_in_process"
Qwaiter::Counter.incr "supplier_counter:#{id}:orders_in_process"
end
def increment_orders_delivered_count!
Qwaiter::Counter.incr "supplier:#{id}:orders_delivered"
def increment_orders_placed_count!
Qwaiter::Counter.incr "supplier_counter:#{id}:orders_placed"
end
def decrement_orders_in_process_count!
Qwaiter::Counter.decr "supplier:#{id}:orders_in_process"
Qwaiter::Counter.decr "supplier_counter:#{id}:orders_in_process"
end
def decrement_orders_delivered_count!
Qwaiter::Counter.decr "supplier:#{id}:orders_delivered"
def decrement_orders_placed_count!
Qwaiter::Counter.decr "supplier_counter:#{id}:orders_placed"
end
def orders_in_process_count
Qwaiter::Counter.get "supplier:#{id}:orders_in_process"
Qwaiter::Counter.get "supplier_counter:#{id}:orders_in_process"
end
def orders_delivered_count
Qwaiter::Counter.get "supplier:#{id}:orders_delivered"
def orders_placed_count
Qwaiter::Counter.get "supplier_counter:#{id}:orders_placed"
end
def active_order_count
orders_in_process_count + orders_delivered_count
orders_in_process_count + orders_placed_count
end
private