counter fixes

This commit is contained in:
2014-03-10 10:10:54 +01:00
parent a2ce77e9e1
commit c4e002104c
6 changed files with 89 additions and 36 deletions
+12 -3
View File
@@ -326,9 +326,18 @@ class List
def with_orders_and_join_requests_and_supplier_info_as_json
with_orders_and_join_requests_as_json.merge(
supplier_name: supplier.name,
supplier_orders_in_process_count: supplier.orders_in_process_count,
supplier_orders_placed_count: supplier.orders_placed_count
)
).merge(supplier_counter_info)
end
def serialized_with_status_join_requests_and_supplier_counters
as_json.merge(list_active: active? ).merge(join_requests_as_json).merge(supplier_counter_info)
end
def supplier_counter_info
{
supplier_orders_in_process_count: Qwaiter::Counter.get(Supplier.orders_in_process_counter_key(supplier_id)),
supplier_orders_placed_count: Qwaiter::Counter.get(Supplier.orders_placed_counter_key(supplier_id))
}
end
def has_active_orders?
+4 -7
View File
@@ -92,19 +92,16 @@ class Order
end
def is_delivered!
decrement_placed = placed?
decrement_counter = placed? ? 'placed' : 'in_process'
self.state = 'delivered'
if save
orders_in_process_count = supplier.decrement_orders_in_process_count!
orders_placed_count = supplier.decrement_orders_placed_count! if decrement_placed
reduced_count = supplier.public_send "decrement_orders_#{decrement_counter}_count!"
for user_id in list.user_ids
broadcast_user user_id, 'order_being_delivered', id: id, list_id: list_id
broadcast_user user_id, 'orders_in_process_count', count: orders_in_process_count
broadcast_user user_id, 'orders_placed_count', count: orders_placed_count if decrement_placed
broadcast_user user_id, "orders_#{decrement_counter}_count", count: reduced_count
end
broadcast_supplier supplier_id, 'order_being_delivered', id: id, list_id: list_id
broadcast_supplier supplier_id, 'orders_in_process_count', count: orders_in_process_count
broadcast_supplier supplier_id, 'orders_placed_count', count: orders_placed_count if decrement_placed
broadcast_supplier supplier_id, "orders_#{decrement_counter}_count", count: reduced_count
end
end
+15 -6
View File
@@ -170,28 +170,37 @@ class Supplier
true
end
# COUNTER SECTION. Can be a concern in a future
def increment_orders_in_process_count!
Qwaiter::Counter.incr "supplier_counter:#{id}:orders_in_process"
Qwaiter::Counter.incr self.class.orders_in_process_counter_key(id)
end
def increment_orders_placed_count!
Qwaiter::Counter.incr "supplier_counter:#{id}:orders_placed"
Qwaiter::Counter.incr self.class.orders_placed_counter_key(id)
end
def decrement_orders_in_process_count!
Qwaiter::Counter.decr "supplier_counter:#{id}:orders_in_process"
Qwaiter::Counter.decr self.class.orders_in_process_counter_key(id)
end
def decrement_orders_placed_count!
Qwaiter::Counter.decr "supplier_counter:#{id}:orders_placed"
Qwaiter::Counter.decr self.class.orders_placed_counter_key(id)
end
def orders_in_process_count
Qwaiter::Counter.get "supplier_counter:#{id}:orders_in_process"
Qwaiter::Counter.get self.class.orders_in_process_counter_key(id)
end
def orders_placed_count
Qwaiter::Counter.get "supplier_counter:#{id}:orders_placed"
Qwaiter::Counter.get self.class.orders_placed_counter_key(id)
end
def self.orders_in_process_counter_key(id)
"supplier_counter:#{id}:orders_in_process"
end
def self.orders_placed_counter_key(id)
"supplier_counter:#{id}:orders_placed"
end
def active_order_count