Skip to content

Instantly share code, notes, and snippets.

@mimosz
Created November 10, 2012 23:12
Show Gist options
  • Save mimosz/4052906 to your computer and use it in GitHub Desktop.
Save mimosz/4052906 to your computer and use it in GitHub Desktop.
用户购买宝贝列表
user = User.all[1]
date = '2012-11-11'.to_date
range = date.beginning_of_day..date.end_of_day
trades = user.trades.where(created: range, status: 'WAIT_SELLER_SEND_GOODS')
buyers = {}
trades.each do |trade|
buyers[trade.buyer_nick] = {} unless buyers.has_key?(trade.buyer_nick)
buyer = buyers[trade.buyer_nick]
trade.orders.each do |order|
buyer[order.num_iid] = {} unless buyer.has_key?(order.num_iid)
item = buyer[order.num_iid]
item[order.outer_sku_id] = 0 unless item.has_key?(order.outer_sku_id)
item[order.outer_sku_id] += order.num
end
end
CSV.open("#{date.to_s}-buyers.csv", "wb:GB18030", col_sep: ',') do |csv|
buyers.each do |buyer, items|
items.each do |item, skus|
row = [ buyer, item ]
skus.each do |sku, num|
row += [ sku, num ]
end
csv << row
end
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment