Skip to content

Instantly share code, notes, and snippets.

@mimosz
Created November 11, 2012 05:32
Show Gist options
  • Save mimosz/4053835 to your computer and use it in GitHub Desktop.
Save mimosz/4053835 to your computer and use it in GitHub Desktop.
买家购买金额
user = User.all[1]
date = '2012-11-11'.to_date
range = date.beginning_of_day..Time.parse('2012-11-11 11:00') # date.end_of_day
buyers = {}
user.trades.where(created: range, :pay_time.ne => nil).each do |trade|
buyers[trade.buyer_nick] = { city: trade.receiver_city, payment: 0, items: [] } unless buyers.has_key?(trade.buyer_nick)
buyer = buyers[trade.buyer_nick]
trade.orders.each do |order|
buyer[:payment] += order.payment
buyer[:items] << order.num_iid
end
end
CSV.open("#{date.to_s}-payed.csv", "wb:GB18030", col_sep: ',') do |csv|
buyers.each do |nick, buyer|
csv << [ nick, buyer[:city], buyer[:payment] ] + buyer[:items]
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment