|
@@ -95,11 +95,12 @@ class Refund
|
|
# 更新状态
|
|
# 更新状态
|
|
Dever::db('porder/source_refund')->update($refund['id'], ['status' => 4, 'fdate' => time()]);
|
|
Dever::db('porder/source_refund')->update($refund['id'], ['status' => 4, 'fdate' => time()]);
|
|
|
|
|
|
- # 查找历史已退款金额
|
|
|
|
|
|
+ # 查找已退款金额
|
|
$history = Dever::db('porder/source_refund')->sum(['order_id' => $order['id'], 'status' => 4], 'cash');
|
|
$history = Dever::db('porder/source_refund')->sum(['order_id' => $order['id'], 'status' => 4], 'cash');
|
|
|
|
+ $score = Dever::load(\Pscore\Lib\Info::class)->get($order['score_id']);
|
|
|
|
|
|
# 检测订单是否全都退了
|
|
# 检测订单是否全都退了
|
|
- if ($history + $refund['cash'] >= $order['cash']) {
|
|
|
|
|
|
+ if ($history >= $order['cash']) {
|
|
Dever::db('porder/source')->update($order['id'], ['status' => 8, 'fdate' => time(), 'refund_status' => 2, 'refund_cash' => $order['cash']]);
|
|
Dever::db('porder/source')->update($order['id'], ['status' => 8, 'fdate' => time(), 'refund_status' => 2, 'refund_cash' => $order['cash']]);
|
|
Dever::load(\Porder\Lib\Source\Log::class)->up(1, $order['uid'], $order['id'], '订单已全额退款');
|
|
Dever::load(\Porder\Lib\Source\Log::class)->up(1, $order['uid'], $order['id'], '订单已全额退款');
|
|
# 退货 恢复库存
|
|
# 退货 恢复库存
|
|
@@ -124,7 +125,6 @@ class Refund
|
|
if ($rebate) {
|
|
if ($rebate) {
|
|
$detail = Dever::db('porder/source_detail')->select(['order_id' => $order['id']]);
|
|
$detail = Dever::db('porder/source_detail')->select(['order_id' => $order['id']]);
|
|
if ($detail) {
|
|
if ($detail) {
|
|
- $score = Dever::load(\Pscore\Lib\Info::class)->get($order['score_id']);
|
|
|
|
$rebate = ['rule' => []];
|
|
$rebate = ['rule' => []];
|
|
Dever::db('porder/rebate')->delete(['table' => 'source', 'table_id' => $order['id']]);
|
|
Dever::db('porder/rebate')->delete(['table' => 'source', 'table_id' => $order['id']]);
|
|
Dever::db('pscore/user_log')->delete(['relation' => 'source_order_' . $order['id']]);
|
|
Dever::db('pscore/user_log')->delete(['relation' => 'source_order_' . $order['id']]);
|
|
@@ -170,7 +170,21 @@ class Refund
|
|
# 退支付金额
|
|
# 退支付金额
|
|
if ($cash['pay_cash'] > 0) {
|
|
if ($cash['pay_cash'] > 0) {
|
|
# 走支付退款流程
|
|
# 走支付退款流程
|
|
|
|
+ $sector_id = $place_id = 0;
|
|
|
|
+ if (class_exists('\\Place')) {
|
|
|
|
+ $sector_id = Dever::get('Place')->sector['id'];
|
|
|
|
+ $place_id = Dever::get('Place')->info['id'];
|
|
|
|
+ } elseif ($muser = Dever::getData('muser')) {
|
|
|
|
+ $sector_id = $muser['select']['info_id'];
|
|
|
|
+ $place_id = $muser['select']['data_id'];
|
|
|
|
+ }
|
|
|
|
+ $money = Dever::math('mul', $cash['pay_cash'], $score['exp']);
|
|
|
|
+ $state = Dever::load(\Place\Lib\Account::class)->refund($order['order_num'], $order['pay_money_cash'], $money, $order['order_num'] . '_' . $refund['id'], $sector_id, $place_id, 'source');
|
|
|
|
+ print_r($state);die;
|
|
|
|
+
|
|
|
|
+ Dever::db('porder/source_refund')->update($refund['id'], ['pay_status' => 2]);
|
|
}
|
|
}
|
|
|
|
+ echo 11;die;
|
|
|
|
|
|
# 退余额
|
|
# 退余额
|
|
if ($cash['wallet_cash'] > 0) {
|
|
if ($cash['wallet_cash'] > 0) {
|
|
@@ -180,13 +194,13 @@ class Refund
|
|
# 退礼品卡
|
|
# 退礼品卡
|
|
if ($cash['gift_cash'] > 0) {
|
|
if ($cash['gift_cash'] > 0) {
|
|
$order['gift_cash'] = $cash['gift_cash']*-1;
|
|
$order['gift_cash'] = $cash['gift_cash']*-1;
|
|
- Dever::load(\Puser\Lib\Gift::class)->use('source', $order);
|
|
|
|
|
|
+ Dever::load(\Puser\Lib\Gift::class)->use('source', $order, $score);
|
|
}
|
|
}
|
|
|
|
|
|
# 退优惠券
|
|
# 退优惠券
|
|
if ($cash['coupon_cash'] > 0) {
|
|
if ($cash['coupon_cash'] > 0) {
|
|
$order['coupon_cash'] = $cash['coupon_cash']*-1;
|
|
$order['coupon_cash'] = $cash['coupon_cash']*-1;
|
|
- Dever::load(\Puser\Lib\Coupon::class)->use('source', $order);
|
|
|
|
|
|
+ Dever::load(\Puser\Lib\Coupon::class)->use('source', $order, $score);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|