Fix and implement supplier counters
This commit is contained in:
+15
-12
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user