| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170 |
- # encoding:utf-8
- class OrderDetail < ActiveRecord::Base
- has_paper_trail
- self.table_name = "order_details"
- belongs_to :product
- belongs_to :order, :foreign_key => :order_id
- # has_one :order, :foreign_key=>:order_id, :primary_key=>:order_id
- validates :order_no,:product_id,:nums, presence: true
- validate :order_validation
- def order_validation
- if self.product_id > 0
- prd = Product.where("id = ?", self.product_id).first
- if prd.blank?
- self.errors.add(:product_id,"商品不存在,请重新填写商品ID")
- else
- self.product_name=prd.name
- #self.price=prd.price
- end
- end
- if self.order_no.length>0
- ord = Order.where("order_id = ?", self.order_no).first
- if ord.blank?
- self.errors.add(:order_id,"订单不存在,请重新填写编号")
- else
- self.order_id=ord.id
- end
- end
- end
- def order_state
- order = Order.where("id = ?", self.order_id).first
- if !order.blank?
- return order.status
- end
- end
- def paid_time
- order = Order.where("id = ?", self.order_id).first
- if !order.blank?
- paidTime=order.paied_at == 0 || order.paied_at == nil ? Time.at(0) : Time.at(order.paied_at)
- return paidTime
- end
- return paidTime
- end
- def pay_way
- payWay = ""
- order = Order.where("id = ?", self.order_id).first
- if !order.blank?
- payWay=order.pay_way
- end
- return payWay
- end
- STATUS_ENUM = [["未支付","unpay"],["已关闭","closed"],["待确认","unconfirmed"],["处理中","processing"],["已完成","complete"],["待收货","dispatch"],["已退款","refunded"]]
- PAY_WAY_ENUM = [
- # ["Web网银连连支付","webbankllpay"],
- # ["Web认证连连支付","webauthllpay"],
- # ["Wap认证连连支付","wapauthllpay"],
- ["微信支付","weixinpay"],
- ["提货券支付","balance"],
- # ["公众号微信支付","gzhwxpay"],
- # ["公众号提货券支付","gzhbalance"],
- # ["统统微信支付","wx_sumpay"],
- # ["统统Web网银支付","webbanksumpay"],
- ]
- rails_admin do
- navigation_label '商品管理'
- weight -240
- parent Order
-
- list do
- filters [:product,:order_no,:nums,:price,:order_state]
- field :id
- field :order_no do
- filterable true
- end
- #field :order
- #field :product
- field :product do
- visible false
- end
- field :nums
- field :price do
- visible true
- label "单价(元)"
- formatted_value do
- value!=0 ? (value/100.0):0
- end
- end
- field :product_name
- field :order_state, :enum do
- filterable true
- enum do
- STATUS_ENUM
- end
- end
- # field :paid_time do
- # filterable true
- # formatted_value do
- # #bindings[:object].order.paied_time
- # (bindings[:object].order.paied_at == 0 || bindings[:object].order.paied_at == nil) ? Time.at(0) : Time.at(bindings[:object].order.paied_at)
- # end
- # end
- field :paid_time
- field :order do
- queryable true
- searchable [:status]
- end
- field :pay_way, :enum do
- filterable true
- enum do
- PAY_WAY_ENUM
- end
- end
- field :is_zeng
- field :size_name
- field :color_name
- field :pv
- field :created_at
- field :updated_at
- end
- show do
- field :id
- field :order_no
- field :product
- field :nums
- field :is_zeng
- field :price do
- visible true
- label "单价(元)"
- formatted_value do
- value!=0 ? (value/100.0):0
- end
- end
- field :product_name
- field :size_name
- field :color_name
- field :created_at
- field :updated_at
- end
- edit do
- field :order_no
- #field :order_id
- field :product_id
- field :nums
- field :is_zeng
- field :price
- end
- export do
- include_all_fields
- field :wx_user_id do
- formatted_value do
- bindings[:object].order.wx_user_id
- end
- end
- field :nums
- field :product_name
- field :unit_robo_balance_price do
- visible false
- end
- end
- end
- end
|