|
@@ -2,8 +2,8 @@
|
|
|
/**
|
|
|
* 支付行为
|
|
|
*
|
|
|
-
|
|
|
*/
|
|
|
+
|
|
|
defined('InShopNC') or exit('Access Invalid!');
|
|
|
|
|
|
class paymentLogic
|
|
@@ -41,9 +41,11 @@ class paymentLogic
|
|
|
$model_pd = Model('predeposit');
|
|
|
$member_id = intval($member_info['member_id']);
|
|
|
|
|
|
- try {
|
|
|
+ try
|
|
|
+ {
|
|
|
DB::beginTransaction();
|
|
|
- foreach ($order_list as $order_info) {
|
|
|
+ foreach ($order_list as $order_info)
|
|
|
+ {
|
|
|
// 使用全部预存款(红包逻辑)
|
|
|
$data_order = array();
|
|
|
$change_type = '';
|
|
@@ -67,19 +69,25 @@ class paymentLogic
|
|
|
$data_pd['order_sn'] = $order_info['order_sn'];
|
|
|
//预存款立即支付,订单支付完成
|
|
|
$ret = $model_pd->changePd($change_type, $data_pd);
|
|
|
- if (0 == $ret) throw new Exception("订单更新失败");
|
|
|
+ if (0 == $ret) {
|
|
|
+ throw new Exception("订单更新失败");
|
|
|
+ }
|
|
|
|
|
|
// 修改订单
|
|
|
$data_order["pd_amount"] = $order_info['pd_amount'];
|
|
|
$ret = $model_order->editOrder($data_order, array('order_id' => $order_info['order_id']));
|
|
|
- if (0 == $ret) throw new Exception("订单更新失败");
|
|
|
+
|
|
|
+ if (0 == $ret) {
|
|
|
+ throw new Exception("订单更新失败");
|
|
|
+ }
|
|
|
+
|
|
|
DB::commit();
|
|
|
|
|
|
if (ORDER_STATE_PAY == $data_order["order_state"]) {
|
|
|
// 推送到oms
|
|
|
}
|
|
|
}
|
|
|
- }catch (Exception $e) {
|
|
|
+ } catch (Exception $e) {
|
|
|
DB::rollback();
|
|
|
}
|
|
|
|
|
@@ -134,7 +142,6 @@ class paymentLogic
|
|
|
*/
|
|
|
public function getVrOrderInfo($order_sn, $member_id = null)
|
|
|
{
|
|
|
-
|
|
|
//验证订单信息
|
|
|
$model_order = Model('vr_order');
|
|
|
$condition = array();
|
|
@@ -167,7 +174,6 @@ class paymentLogic
|
|
|
*/
|
|
|
public function getPdOrderInfo($pdr_sn, $member_id = null)
|
|
|
{
|
|
|
-
|
|
|
$model_pd = Model('predeposit');
|
|
|
$condition = array();
|
|
|
$condition['pdr_sn'] = $pdr_sn;
|
|
@@ -244,7 +250,6 @@ class paymentLogic
|
|
|
*/
|
|
|
public function updatePdOrder($out_trade_no, $trade_no, $payment_info, $recharge_info)
|
|
|
{
|
|
|
-
|
|
|
$condition = array();
|
|
|
$condition['pdr_sn'] = $recharge_info['pdr_sn'];
|
|
|
$condition['pdr_payment_state'] = 0;
|
|
@@ -276,7 +281,6 @@ class paymentLogic
|
|
|
$model_pd->changePd('recharge', $data);
|
|
|
$model_pd->commit();
|
|
|
return callback(true);
|
|
|
-
|
|
|
} catch (Exception $e) {
|
|
|
$model_pd->rollback();
|
|
|
return callback(false, $e->getMessage());
|