|
@@ -15,7 +15,7 @@ class paymentLogic
|
|
|
* @param int $member_id
|
|
|
* @return array
|
|
|
*/
|
|
|
- public function getRealOrderInfo($pay_sn, $member_id = null)
|
|
|
+ public function getRealOrderInfo_Moblie($pay_sn, $member_id = null)
|
|
|
{
|
|
|
//验证订单信息
|
|
|
$model_order = Model('order');
|
|
@@ -47,27 +47,34 @@ class paymentLogic
|
|
|
$obj_member = Model('member');
|
|
|
|
|
|
$member_id = intval($member_id);
|
|
|
- $member_info = $this->getMemberInfo(array('member_id'=>$member_id));
|
|
|
+ $usebonus = $_GET['usebonus'];
|
|
|
|
|
|
foreach ($order_list as $order_info) {
|
|
|
if (intval($usebonus) === 1) { // 使用全部预存款(红包逻辑)
|
|
|
+ $data_order = array();
|
|
|
+ $change_type = '';
|
|
|
if (floatval($pd_amount) > floatval($order_info['order_amount'])) {
|
|
|
// 余额大于订单金额的情况
|
|
|
$order_info['pd_amount'] = floatval($order_info['order_amount']);
|
|
|
$pd_amount = floatval($pd_amount) - floatval($order_info['pd_amount']);
|
|
|
+ $data_order["order_state"] = ORDER_STATE_PAY;
|
|
|
+ //$data_order["order_amount"] = 0;
|
|
|
+ $change_type = 'order_pay';
|
|
|
} else if (floatval($pd_amount) > 0) { // 余额小于等于订单金额的情况, $pd_amount不能等于0
|
|
|
$order_info['pd_amount'] = floatval($pd_amount);
|
|
|
+ $data_order["order_amount"] = floatval($order_info['order_amount']) - floatval($order_info['pd_amount']);
|
|
|
$pd_amount = 0;
|
|
|
+ $change_type = 'order_freeze';
|
|
|
}
|
|
|
$data_pd = array();
|
|
|
$data_pd['member_id'] = $member_id;
|
|
|
- $data_pd['member_name'] = $member_info['member_name'];
|
|
|
+ $data_pd['member_name'] = "红包系统";
|
|
|
$data_pd['amount'] = $order_info['pd_amount'];
|
|
|
$data_pd['order_sn'] = $order_info['order_sn'];
|
|
|
//预存款立即支付,订单支付完成
|
|
|
- $model_pd->changePd('order_pay',$data_pd);
|
|
|
+ $model_pd->changePd($change_type,$data_pd);
|
|
|
// 修改订单
|
|
|
- $data_order = array("pd_amount" => $order_info['pd_amount']);
|
|
|
+ $data_order["pd_amount"] = $order_info['pd_amount'];
|
|
|
$model_order->editOrder($data_order,array('order_id'=>$order_info['order_id']));
|
|
|
}
|
|
|
$pay_amount += ncPriceFormat(floatval($order_info['order_amount']) - floatval($order_info['pd_amount']));
|
|
@@ -81,6 +88,55 @@ class paymentLogic
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
+ * 取得实物订单所需支付金额等信息
|
|
|
+ * @param int $pay_sn
|
|
|
+ * @param int $member_id
|
|
|
+ * @return array
|
|
|
+ */
|
|
|
+ public function getRealOrderInfo($pay_sn, $member_id = null)
|
|
|
+ {
|
|
|
+ //验证订单信息
|
|
|
+ $model_order = Model('order');
|
|
|
+ $condition = array();
|
|
|
+ $condition['pay_sn'] = $pay_sn;
|
|
|
+ if (!empty($member_id)) {
|
|
|
+ $condition['buyer_id'] = $member_id;
|
|
|
+ }
|
|
|
+ $order_pay_info = $model_order->getOrderPayInfo($condition);
|
|
|
+ if (empty($order_pay_info)) {
|
|
|
+ return callback(false, '该支付单不存在');
|
|
|
+ }
|
|
|
+
|
|
|
+ $order_pay_info['subject'] = '实物订单_' . $order_pay_info['pay_sn'];
|
|
|
+ $order_pay_info['order_type'] = 'real_order';
|
|
|
+
|
|
|
+ $condition = array();
|
|
|
+ $condition['pay_sn'] = $pay_sn;
|
|
|
+ $order_list = $model_order->getNormalOrderList($condition);
|
|
|
+
|
|
|
+ // 获取余额数据
|
|
|
+ $obj_member = Model('member');
|
|
|
+ $pd_amount = $obj_member->getPdAmount($member_id);
|
|
|
+ //计算本次需要在线支付的订单总金额
|
|
|
+ $pay_amount = 0;
|
|
|
+ if (!empty($order_list)) {
|
|
|
+ $model_order = Model('order');
|
|
|
+ $model_pd = Model('predeposit');
|
|
|
+ $obj_member = Model('member');
|
|
|
+
|
|
|
+ $member_id = intval($member_id);
|
|
|
+ foreach ($order_list as $order_info) {
|
|
|
+ $pay_amount += ncPriceFormat(floatval($order_info['order_amount']) - floatval($order_info['pd_amount']));
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ $order_pay_info['api_pay_amount'] = $pay_amount;
|
|
|
+ $order_pay_info['order_list'] = $order_list;
|
|
|
+
|
|
|
+ return callback(true, '', $order_pay_info);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
* 取得虚拟订单所需支付金额等信息
|
|
|
* @param int $order_sn
|
|
|
* @param int $member_id
|