order_detail.rb 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  1. # encoding:utf-8
  2. class OrderDetail < ActiveRecord::Base
  3. has_paper_trail
  4. self.table_name = "order_details"
  5. belongs_to :product
  6. #belongs_to :order, :foreign_key => :order_id
  7. has_one :order, :foreign_key=>:order_id, :primary_key=>:order_id
  8. def order_state
  9. order = Order.where("id = ?", self.order_id).first
  10. if !order.blank?
  11. return order.status
  12. end
  13. end
  14. def paid_time
  15. paidTime = 0
  16. order = Order.where("id = ?", self.order_id).first
  17. if !order.blank?
  18. paidTime=order.paied_at
  19. end
  20. return paidTime
  21. end
  22. def pay_way
  23. payWay = ""
  24. order = Order.where("id = ?", self.order_id).first
  25. if !order.blank?
  26. payWay=order.pay_way
  27. end
  28. return payWay
  29. end
  30. STATUS_ENUM = [["未支付","unpay"],["已关闭","closed"],["待确认","unconfirmed"],["处理中","processing"],["已完成","complete"],["待收货","dispatch"],["已退款","refunded"]]
  31. PAY_WAY_ENUM = [
  32. # ["Web网银连连支付","webbankllpay"],
  33. # ["Web认证连连支付","webauthllpay"],
  34. # ["Wap认证连连支付","wapauthllpay"],
  35. ["微信支付","weixinpay"],
  36. ["提货券支付","balance"],
  37. # ["公众号微信支付","gzhwxpay"],
  38. # ["公众号提货券支付","gzhbalance"],
  39. # ["统统微信支付","wx_sumpay"],
  40. # ["统统Web网银支付","webbanksumpay"],
  41. ]
  42. rails_admin do
  43. navigation_label '商品管理'
  44. weight -240
  45. parent Order
  46. list do
  47. filters [:product,:order_no,:nums,:price,:order_state,:paid_time]
  48. field :id
  49. field :order_no do
  50. filterable true
  51. end
  52. field :product
  53. field :nums
  54. field :price do
  55. visible true
  56. label "单价(元)"
  57. formatted_value do
  58. value!=0 ? (value/100.0):0
  59. end
  60. end
  61. field :product_name
  62. field :order_state, :enum do
  63. filterable true
  64. enum do
  65. STATUS_ENUM
  66. end
  67. end
  68. field :paid_time do
  69. filterable true
  70. formatted_value do
  71. #bindings[:object].order.paied_time
  72. (bindings[:object].order.paied_at == 0 || bindings[:object].order.paied_at == nil) ? Time.at(0) : Time.at(bindings[:object].order.paied_at)
  73. end
  74. end
  75. field :pay_way, :enum do
  76. filterable true
  77. enum do
  78. PAY_WAY_ENUM
  79. end
  80. end
  81. field :is_zeng
  82. field :size_name
  83. field :color_name
  84. field :created_at
  85. field :updated_at
  86. end
  87. show do
  88. field :id
  89. field :order_no
  90. field :product
  91. field :nums
  92. field :is_zeng
  93. field :price do
  94. visible true
  95. label "单价(元)"
  96. formatted_value do
  97. value!=0 ? (value/100.0):0
  98. end
  99. end
  100. field :product_name
  101. field :size_name
  102. field :color_name
  103. field :created_at
  104. field :updated_at
  105. end
  106. edit do
  107. field :order_no
  108. field :product_id
  109. field :nums
  110. field :is_zeng
  111. field :price
  112. field :product_name
  113. end
  114. end
  115. end