1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- <?php
- namespace app\cxinv\model;
- use think\Model;class PayPayment extends Base
- {
- //设置字段信息
- protected $schema = [
- 'id' =>'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);
- }
- }
- }
|