Advertisement
Guest User

Untitled

a guest
Jan 23rd, 2017
120
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.10 KB | None | 0 0
  1. // saca el id del primer user creado el 4/1
  2. SELECT id, email, created_at from users where created_at >= '2017-01-16 07:00:00+00' ORDER BY created_at ASC LIMIT 1;
  3. 1646815 | deering.sean@gmail.com | 2017-01-16 07:00:52.174084
  4.  
  5. \COPY (SELECT o.email, o.number, o.currency, a.address1 AS "Address1", a.address2 AS "Address2", a.city AS "City", COALESCE(s.name, a.state_name) AS "State", a.zipcode AS "Zipcode", c.name AS "Country", a.phone AS "Phone" FROM spree_orders AS o JOIN site_users AS su ON (su.reportable_email = o.email OR su.user_id = o.user_id) JOIN spree_line_items AS li ON (li.order_id = o.id) JOIN spree_addresses AS a ON (a.id = o.ship_address_id) JOIN spree_countries AS c ON (c.id = a.country_id) LEFT JOIN spree_states AS s ON (s.id = a.state_id) JOIN spree_payments AS p ON (p.order_id = o.id) LEFT JOIN spree_refunds AS r ON (r.payment_id = p.id) WHERE o.considered_risky = 'no' AND o.completed_at >= '2017-01-16 07:00:00+00' AND o.completed_at <= NOW() AND o.state IN ('complete','resumed') AND li.variant_id IN (53,54) AND COALESCE(o.user_id, su.user_id) < 1646815 AND o.promo_total = 0 AND r.payment_id IS NULL) To '/tmp/user_floodlight_orders_wo_promo.csv' With CSV DELIMITER ',';
  6.  
  7.  
  8.  
  9. not_refunded = []
  10. refunded = []
  11. errors = []
  12.  
  13. numbers.each do |n|
  14. begin
  15. o = Spree::Order.find_by(number: n)
  16. if o.paid?
  17. payment = o.payments.first
  18.  
  19. if o.promo_total == 0
  20. amount = (o.currency == 'GBP' ? 30 : 50 )
  21.  
  22. case payment.source_type
  23. when 'Spree::CreditCard', 'Spree::AmazonTransaction'
  24. if o.refunds.empty?
  25. payment.refunds.create!(amount: amount, refund_reason_id: 5) #customer satisfaction
  26. o.adjustments.create!(amount: (amount*-1), label: 'Refund', order_id: o.id)
  27. o.reload.update!
  28. end
  29. when 'Spree::PaypalExpressCheckout'
  30. if o.payments.where('amount < 0').none?
  31. payment.payment_method.refund(payment, amount)
  32. end
  33. end
  34.  
  35. refunded << n
  36. else
  37. not_refunded << n
  38. end
  39. else
  40. not_refunded << n
  41. end
  42.  
  43. rescue => e
  44. errors << { order: n, errors: e }
  45. end
  46. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement