12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- <?php
- namespace app\common\model;
- use think\Model;
- class Transaction extends Model
- {
- protected $autoWriteTimestamp=true;
- protected $updateTime=null;
- const TYPE_ORDER='orders';
- const TYPE_REFUND='order_info_refund';
- public static $types=[
- self::TYPE_ORDER=>'订单付款',
- self::TYPE_REFUND=>'订单退款',
- ];
- /**
- * @return string[]
- */
- public static function getTypes(): array
- {
- return self::$types;
- }
- public function trans(){
- return $this->morphTo('trans',[
- Orders::class=>'orders',
- Refund::class=>'order_info_refund',
- ]);
- }
- public function user(){
- return $this->belongsTo(User::class)->setEagerlyType(0);
- }
- public static function addTransaction(Model $model){
- $trans=new self;
- $trans['trans_type']=$model->getTable();
- $trans['trans_id']=$model[$model->getPk()];
- $trans['user_id']=$model['user_id'];
- $trans['amount']=0;
- if($model instanceof Orders){
- $trans['amount']=$model->amount_pay;
- }elseif ($model instanceof Refund){
- $trans['amount']=$model->amount;
- }
- if($trans['amount']>0){
- $trans->save();
- }
- }
- }
|