dever 3 years ago
parent
commit
3ed02cd099
1 changed files with 16 additions and 13 deletions
  1. 16 13
      app/shop/lib/Refund.php

+ 16 - 13
app/shop/lib/Refund.php

@@ -415,22 +415,22 @@ class Refund
                         # 还原优惠券
                         Dever::db('shop/user_coupon')->update(array('where_id' => $order['user_coupon_id'], 'status' => 1));
                     }
+                }
+            }
 
-                    $re_cash = $info['re_cash'];
-                    if (isset($order['card_code_id']) && $order['card_code_id'] && $order['card_code_cash'] > 0) {
-                        # 还原礼品卡
-                        if ($re_cash > 0) {
-                            $card_code_cash = $order['card_code_cash'] - $re_cash;
-                            $order['card_code_cash'] = $re_cash;
+            $re_cash = $info['re_cash'];
+            if (isset($order['card_code_id']) && $order['card_code_id'] && $order['card_code_cash'] > 0) {
+                # 还原礼品卡
+                if ($re_cash > 0) {
+                    $card_code_cash = $order['card_code_cash'] - $re_cash;
+                    $order['card_code_cash'] = $re_cash;
 
-                            Dever::db($this->order_table)->update(array('where_id' => $order['id'], 'card_code_cash' => $card_code_cash));
-                        }
-                        Dever::db('card/code')->decUseCash(array('where_id' => $order['card_code_id'], 'set_use_cash' => $order['card_code_cash']));
-                    } elseif (isset($order['wallet_cash']) && $order['wallet_cash'] && $order['wallet_cash'] > 0) {
-                        # 还原钱包
-                        
-                    }
+                    Dever::db($this->order_table)->update(array('where_id' => $order['id'], 'card_code_cash' => $card_code_cash, 'clear' => true));
                 }
+                Dever::db('card/code')->decUseCash(array('where_id' => $order['card_code_id'], 'set_use_cash' => $order['card_code_cash']));
+            } elseif (isset($order['wallet_cash']) && $order['wallet_cash'] && $order['wallet_cash'] > 0) {
+                # 还原钱包
+                
             }
 
             if ($cash && isset($order['source_id']) && $order['source_id'] && $order['source_id'] > 0) {
@@ -502,6 +502,9 @@ class Refund
         if (isset($data['parent_type']) && $data['parent_type'] > 1) {
             return;
         }
+        if (isset($info['cash'] > 0) {
+            return;
+        }
         $refund_cash = $info['cash'];
         $refund_order_id = $info['id'];
         # 退款到原支付账户 待处理