|
@@ -0,0 +1,83 @@
|
|
|
|
|
+class OrderRefund < ActiveRecord::Base
|
|
|
|
|
+ has_paper_trail
|
|
|
|
|
+ self.table_name = "order_refunds"
|
|
|
|
|
+ validates :order_id, presence: true
|
|
|
|
|
+ belongs_to :wx_user, :foreign_key => :wx_user_id
|
|
|
|
|
+ before_save :before_save
|
|
|
|
|
+
|
|
|
|
|
+ def before_save
|
|
|
|
|
+ order = Order.where("order_id = ?", self.order_id).first
|
|
|
|
|
+ if !order.blank?
|
|
|
|
|
+ self.wx_user_id = order.wx_user_id
|
|
|
|
|
+ self.total = order.total_price
|
|
|
|
|
+ self.refund_fee = order.paied_price
|
|
|
|
|
+ self.transaction_id = order.transaction_id
|
|
|
|
|
+ end
|
|
|
|
|
+ end
|
|
|
|
|
+
|
|
|
|
|
+ rails_admin do
|
|
|
|
|
+ navigation_label '订单退款记录'
|
|
|
|
|
+ weight -500
|
|
|
|
|
+ parent Order
|
|
|
|
|
+ list do
|
|
|
|
|
+ filters [:id,:order_id]
|
|
|
|
|
+ field :id
|
|
|
|
|
+ field :order_id
|
|
|
|
|
+ field :wx_user
|
|
|
|
|
+ field :transaction_id
|
|
|
|
|
+ field :total do
|
|
|
|
|
+ label "订单金额(元)"
|
|
|
|
|
+ formatted_value do # used in form views
|
|
|
|
|
+ value.to_f / 100
|
|
|
|
|
+ end
|
|
|
|
|
+ end
|
|
|
|
|
+ field :refund_fee do
|
|
|
|
|
+ label "退款金额(元)"
|
|
|
|
|
+ formatted_value do # used in form views
|
|
|
|
|
+ value.to_f / 100
|
|
|
|
|
+ end
|
|
|
|
|
+ end
|
|
|
|
|
+ field :refund_time do
|
|
|
|
|
+ pretty_value do
|
|
|
|
|
+ # value.to_i >0 ? Time.at(value.to_i) : ''
|
|
|
|
|
+ (value == nil || value <=0) ? "" : Time.at(value)
|
|
|
|
|
+ end
|
|
|
|
|
+ end
|
|
|
|
|
+ field :status
|
|
|
|
|
+ field :created_at
|
|
|
|
|
+ end
|
|
|
|
|
+
|
|
|
|
|
+ show do
|
|
|
|
|
+ field :id
|
|
|
|
|
+ field :order_id
|
|
|
|
|
+ field :wx_user
|
|
|
|
|
+ field :transaction_id
|
|
|
|
|
+ field :total
|
|
|
|
|
+ field :total do
|
|
|
|
|
+ label "订单金额(元)"
|
|
|
|
|
+ formatted_value do # used in form views
|
|
|
|
|
+ value.to_f / 100
|
|
|
|
|
+ end
|
|
|
|
|
+ end
|
|
|
|
|
+ field :refund_fee do
|
|
|
|
|
+ label "退款金额(元)"
|
|
|
|
|
+ formatted_value do # used in form views
|
|
|
|
|
+ value.to_f / 100
|
|
|
|
|
+ end
|
|
|
|
|
+ end
|
|
|
|
|
+ field :refund_time do
|
|
|
|
|
+ pretty_value do
|
|
|
|
|
+ # value.to_i >0 ? Time.at(value.to_i) : ''
|
|
|
|
|
+ (value == nil || value <=0) ? "" : Time.at(value)
|
|
|
|
|
+ end
|
|
|
|
|
+ end
|
|
|
|
|
+ field :status
|
|
|
|
|
+ field :created_at
|
|
|
|
|
+ field :updated_at
|
|
|
|
|
+ end
|
|
|
|
|
+
|
|
|
|
|
+ edit do
|
|
|
|
|
+ field :order_id
|
|
|
|
|
+ end
|
|
|
|
|
+ end
|
|
|
|
|
+end
|