Current Path : /www/wwwroot/jsnz.xshop.geekdanceshop.com/app/model/order/
Upload File :
Current File : /www/wwwroot/jsnz.xshop.geekdanceshop.com/app/model/order/OrderPay.php

<?php

/**
 * Niushop商城系统 - 团队十年电商经验汇集巨献!
 * =========================================================
 * Copy right 2019-2029 杭州牛之云科技有限公司, 保留所有权利。
 * ----------------------------------------------
 * 官方网址: https://www.niushop.com
 * =========================================================
 */

namespace app\model\order;


use app\model\system\Pay;

/**
 * 订单支付相关
 *
 * @author Administrator
 *
 */
class OrderPay extends OrderCommon
{

    /**
     * 改变订单的交易流水号
     * @param $params
     * @return array
     */
    public function resetorderTradeNo($params)
    {
        $out_trade_no = $params['out_trade_no'];
        $order_condition = array(
            ['pay_status', '=', 0]
        );
        $order_condition[] = ['out_trade_no', '=', $out_trade_no];
        $order_list = model('order')->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;
        $site_id = 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]]);

        $pay_model->addPay($site_id, $new_out_trade_no, '', $order_name, $order_name, $pay_money, '', 'OrderPayNotify', '');
        return $this->success($new_out_trade_no);
    }


}
金穗农资
captcha