payComon($event); } public function payComon($data){ $payinfo = Pay::where("payNo",$data['payNo'])->findOrEmpty(); if($payinfo->isEmpty()) return; if($payinfo->is_comon!=1)return; $qrdNo = PayInfo::alias("a")->leftJoin("ComonOrder b","a.cgdNo=b.cgdNo")->column("orderCode"); $qrdinfo = QrdInfo::where([["sequenceNo","in",$qrdNo],["wpay_fee",">",0]])->select(); if($qrdinfo->isEmpty())return; $tag=[]; $qrdSave=[]; foreach ($qrdinfo as $item){ $tag_temp=[ "code"=>$item->sequenceNo, "tag_id"=>10, "creater"=>"system", "createrid"=>0, "tag_fee"=>0, "tag_img"=>"", "status"=>1 ]; $qrd=[ "id"=>$item->id, "wpay_fee"=>$item->wpay_fee, "apay_fee"=>$item->apay_fee, "pay_status"=>$item->pay_status, "pay_tag_fee"=>0, "pay_tag" => 1 ]; if($item->wpay_fee>$data['pay_fee']){ $tag_temp['tag_fee'] = $data['pay_fee']; $qrd['pay_tag_fee'] = $data['pay_fee']; $qrd['wpay_fee'] = $item->wpay_fee-$data['pay_fee']; $qrd['apay_fee'] = $item->apay_fee+$data['pay_fee']; $qrd['pay_status'] = ($qrd['wpay_fee']==0 &&$item->pay_fee==0) ? 3:($qrd['apay_fee']==0?1:2); $data['pay_fee']=0; }else{ $data['pay_fee']=$data['pay_fee']-$item->wpay_fee; $qrd['pay_tag_fee'] = $item->wpay_fee; $qrd['wpay_fee'] = 0; $qrd['apay_fee'] = $item->apay_fee+$item->wpay_fee; $qrd['pay_status'] = ($qrd['wpay_fee']==0 &&$item->pay_fee==0) ? 3:($qrd['apay_fee']==0?1:2); } $qrdSave[]=$qrd; $tag[]=$tag_temp; if($data['pay_fee']==0) break; } (new \app\admin\model\QrdInfo)->saveAll($qrdSave); (new \app\admin\model\TagLog)->saveAll($tag); } }