|
@@ -480,7 +480,32 @@ class Refund
|
|
|
|
|
|
} elseif (isset($order['wallet_cash']) && $order['wallet_cash'] && $order['wallet_cash'] > 0) {
|
|
|
# 还原钱包
|
|
|
+ if ($re_cash > 0) {
|
|
|
+ $wallet_cash = $re_cash;
|
|
|
+ } else {
|
|
|
+ $wallet_cash = $order['wallet_cash'];
|
|
|
+ }
|
|
|
|
|
|
+ if ($re_cash > 0) {
|
|
|
+ $wallet_cash = $order['wallet_cash'] - $re_cash;
|
|
|
+ $order['wallet_cash'] = $re_cash;
|
|
|
+
|
|
|
+ Dever::db($this->order_table)->update(array('where_id' => $order['id'], 'wallet_cash' => $wallet_cash, 'clear' => true));
|
|
|
+ }
|
|
|
+ Dever::load('shop/lib/money')->up($order['uid'], 4, $wallet_cash, $order['id'], '商品退款', 2);
|
|
|
+ $rorder = $order;
|
|
|
+ $rinfo = $info;
|
|
|
+ $rorder['type'] = 1;
|
|
|
+ $rorder['type_id'] = $rorder['shop_id'];
|
|
|
+ $rorder['source_type'] = 4;
|
|
|
+ $rorder['source_id'] = -1;
|
|
|
+ $rorder['num'] = $info['num'];
|
|
|
+ $rinfo['cash'] = $rorder['price'] = $wallet_cash;
|
|
|
+ $rinfo['p_cash'] = $rorder['p_price'] = $order['wallet_cash'];
|
|
|
+ if (isset($update['status'])) {
|
|
|
+ $rorder['status'] = $update['status'];
|
|
|
+ }
|
|
|
+ Dever::load('cash/lib/order')->up($rorder, 2, 2, $rinfo, 3);
|
|
|
}
|
|
|
|
|
|
if ($cash && isset($order['source_id']) && $order['source_id'] && $order['source_id'] > 0) {
|