getList($order_condition, 'pay_money,order_name,out_trade_no,order_id,pay_status,site_id,member_id,member_card_order'); //判断订单数是否匹配 if (empty($order_list)) return $this->error([], '没有可支付订单!'); $order_name = ''; $pay_money = 0; foreach($order_list as $v){ $site_id = $v['site_id']; $order_name = string_split($order_name, ',', $v['order_name']); $pay_money += $v['pay_money']; } $pay_model = new Pay(); // $pay_info = $pay_model->getPayInfo($out_trade_no)['data'] ?? []; // if(empty($pay_info)) // return $this->error([], '找不到可支付的单据!'); $result = $pay_model->deletePay($out_trade_no);//关闭旧支付单据 if($result['code'] < 0){ return $this->error([], '当前单据已支付!'); } $member_id = $order_list[0]['member_id']; $new_out_trade_no = $pay_model->createOutTradeNo($member_id ?? 0); $update_data = array( 'out_trade_no' => $new_out_trade_no ); model('order')->update($update_data, [['out_trade_no', '=', $out_trade_no], ['pay_status', '=', 0]]); model('member_level_order')->update($update_data, [['out_trade_no', '=', $out_trade_no], ['pay_status', '=', 0]]); $result = $pay_model->addPay($site_id, $new_out_trade_no, '', $order_name, $order_name, $pay_money, '', 'OrderPayNotify', ''); return $this->success($new_out_trade_no); } }