'bigint',// 'payNo' =>'varchar',//付款编号 'dzNo' =>'varchar',//对账编号 'apply_id' =>'int',//申请人id 'apply_name' =>'varchar',//申请人名称 'pay_fee' =>'decimal',//对账金额 'return_img' =>'text',//付款回执 'return_time' =>'varchar',//付款回执时间 'tag_id' =>'int',//标签id 'status' =>'tinyint',//审核状态 0 待发起流程1 待业务审核 2待财务审核 3 待付款回执 4付款完成 5 付款已退 6业务驳回 7 财务驳回 8 已作废 'remark' =>'varchar',// 'is_del' =>'tinyint',// 'addtime' =>'datetime',// 'updatetime' =>'datetime',// ]; protected $createTime='addtime'; protected $updateTime="updatetime"; public static function onAfterUpdate(Model $model) : void{ $changed = $model->getChangedData(); $dzNo = $model['dzNo']; if(isset($changed['status'])){ $pay = Pay::where(['payNo'=>$model['payNo'],"is_del"=>0,"status"=>2])->findOrEmpty(); if($pay->isEmpty()) return; $status=0; switch ($changed['status']){ case 4: $pay->apay_fee = $pay->apay_fee+$model['pay_fee']; $pay->pay_fee = $pay->pay_fee-$model['pay_fee']; $pay->pay_status= $pay->wpay_fee==0 && $pay->pay_fee ==0 ? 3:2; $pay->save(); $status=1; event('comonOrder',['payNo'=>$model['payNo'],'pay_fee'=>$model['pay_fee'],'type'=>'pay']); break; case 5: $pay->apay_fee = $pay->apay_fee-$model['pay_fee']; $pay->wpay_fee = $pay->wpay_fee+$model['pay_fee']; $pay->pay_status= $pay->apay_fee==0 ? 1:2; $pay->save(); $status=2; event('comonOrder',['payNo'=>$model['payNo'],'pay_fee'=>$model['pay_fee'],'type'=>'repay']); event('report_code',['type'=>'sub','key'=>'dzNo','value'=>$model['dzNo']]); break; case 6: case 7: case 8: $pay->wpay_fee = $pay->wpay_fee+$model['pay_fee']; $pay->pay_fee = $pay->pay_fee-$model['pay_fee']; $pay->pay_status= $pay->apay_fee==0 ? 1:2; $pay->save(); $status=3; event("report_code",["type"=>"sub","key"=>"dzNo","value"=>$model['dzNo']]); break; default: break; } if($status!=0)PaymentOrder::checkOrder($dzNo,$status); } } }