| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142 |
- 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
- belongs_to :order, :foreign_key => :order_id, :primary_key => :order_id
- before_save :before_save
- STATUS_ENUM = [["待审核", false], ["已退款", true]]
- PAY_WAY_ENUM = [
- ["微信支付", "weixinpay"],
- ["通联支付", "allinpay"],
- ["提货券支付", "balance"],
- ["佣金支付", "cash"],
- ["积分支付", "cent"],
- ]
- ORDER_STATUS_ENUM = [["未支付","unpay"],["已关闭","closed"],["待确认","unconfirmed"],["处理中","processing"],["已完成","complete"],["待收货","dispatch"],["已退款","refunded"]]
- 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.trade_no
- end
- end
- def pay_way
- order = Order.where("order_id = ?", self.order_id).first
- order.blank? ? "" : order.pay_way
- end
- def order_status
- order = Order.where("order_id = ?", self.order_id).first
- order.blank? ? "" : order.status
- end
- rails_admin do
- navigation_label '订单退款记录'
- weight -500
- parent Order
- list do
- filters [:id,:order_id,:status,:transaction_id]
- field :id
- field :order_id
- field :wx_user
- field :pay_way, :enum do
- label "支付方式"
- enum do
- PAY_WAY_ENUM
- end
- end
- field :order_status, :enum do
- label "订单状态"
- enum do
- ORDER_STATUS_ENUM
- end
- end
- 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, :enum do
- label "退款状态"
- enum do
- STATUS_ENUM
- end
- end
- field :remark
- field :created_at
- end
- show do
- field :id
- field :order_id
- field :wx_user
- field :pay_way, :enum do
- label "支付方式"
- enum do
- PAY_WAY_ENUM
- end
- end
- field :order_status, :enum do
- label "订单状态"
- enum do
- ORDER_STATUS_ENUM
- end
- end
- 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, :enum do
- label "退款状态"
- enum do
- STATUS_ENUM
- end
- end
- field :remark
- field :created_at
- field :updated_at
- end
- edit do
- field :order_id
- field :remark
- end
- end
- end
|