quanwei
2 days ago 04102f7237efefa744090ed7c25f7b5d0807b679
admin/app/api/model/order/Order.php
@@ -25,7 +25,7 @@
use app\common\service\order\OrderRefundService;
use app\common\model\supplier\Balance as supplierBalanceModel;
use app\common\model\supplier\Supplier as SupplierModel;
use app\common\model\payment\PaymentLog as PaymentLogModel;
/**
 * 普通订单模型
 */
@@ -50,7 +50,7 @@
            // 判断订单状态
            $checkPay = CheckPayFactory::getFactory($order['order_source']);
            if (!$checkPay->checkOrderStatus($order)) {
            if (!$checkPay->checkOrderStatus($order, $params)) {
                $this->error = $checkPay->getError();
                return false;
            }
@@ -726,6 +726,11 @@
                    $orderInfo->save(['balance' => $user_balance, 'online_money' => $online_money]);
                }
            }
        }elseif(!empty($params['activation_code'])){
            $payType = 50;
            $orderInfo->save(['activation_code' => $params['activation_code']]);
            $data['attach'] = '{"pay_source":"' . $params['pay_source'] . '"}';
            $this->onPaymentByActivation($orderInfo['trade_no'], $data);
        } else {
            if ($payType <= 10) {
                $this->error = '请选择支付方式';
@@ -739,7 +744,15 @@
            } else {
                $orderInfo->save(['online_money' => $online_money]);
            }
        }
        }$payment = new PaymentLogModel();
        $paylog_data = [
            'app_id'        => $orderInfo['app_id'],
            'order_no'  => $order_no,
            'order_id'      => $orderInfo['order_id'],
            'online_money'  => $online_money,
            'order_source'  => $orderInfo['order_source']
        ];
        $payment->savePaymentLog($paylog_data);
        $online_money > 0 && $payment = self::onOrderPayment($user, $order_no, $payType, $params['pay_source'], $online_money, $multiple, $shop_supplier_id);
        $result['order_id'] = $params['order_id'];
@@ -816,4 +829,19 @@
        }
    }
    /**
     * 激活码支付标记订单已支付
     */
    public function onPaymentByActivation($orderNo, $data)
    {
        // 获取订单详情
        $PaySuccess = new MasterPaySuccessService($orderNo,['multiple'=>0]);
        // 发起激活码支付
        $status = $PaySuccess->onPaySuccess(OrderPayTypeEnum::CTIVATIONCODE, $data);
        if (!$status) {
            $this->error = $PaySuccess->getError();
        }
        return $status;
    }
}