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.
65 lines
1.3 KiB
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
|