You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
pgfqe6ch8/app/models/training_payinfo.rb

65 lines
1.3 KiB

#encoding: utf-8
class TrainingPayinfo < ActiveRecord::Base
belongs_to :training
belongs_to :attachment
attr_accessible :invoice_content, :invoice_no, :invoice_title, :status, :pay_type, :info, :out_trade_no
# status
Status_None = 0 #未支付
Status_Payed = 1 #已支付
Status_Wait = 2 #待确认
# pay_type
PayType_Wechat = 1 #微信支付
PayType_alipay = 2 #支付宝支付
PayType_bank = 3 #银行卡支付
def pay_type_str
case pay_type
when PayType_Wechat then '微信支付'
when PayType_alipay then '支付宝支付'
when PayType_bank then '银行卡支付'
else ''
end
end
def pay_status_str
case status
when Status_None
"待支付"
when Status_Wait
"待确认"
when Status_Payed
"已支付"
end
end
def pay_time
WechatPay.where(out_trade_no: out_trade_no).first.try(:created_at)
end
def wechat_wait_pay?
pay_type.to_i == PayType_Wechat && status != Status_Payed
end
def not_payed?
status.nil? || status == Status_None
end
def payed?
status == Status_Payed
end
def attachment_url
if attachment_id.to_i >0
"/attachments/download/#{attachment.id}/#{attachment.filename}"
end
end
def self.total_num
sum('num') + 15
end
end