1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- <?php
- namespace app\cxinv\model;
- use think\Model;class PayPayment extends Base
- {
- protected $schema = [
- 'id' =>'bigint',
- 'payNo' =>'varchar',
- 'dzNo' =>'varchar',
- 'apply_id' =>'int',
- 'apply_name' =>'varchar',
- 'pay_fee' =>'decimal',
- 'return_img' =>'text',
- 'return_time' =>'varchar',
- 'tag_id' =>'int',
- 'status' =>'tinyint',
- '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);
- }
- }
- }
|