|
@@ -91,16 +91,14 @@ class Refund
|
|
{
|
|
{
|
|
$refund = Dever::db('porder/source_refund')->find($refund['id']);
|
|
$refund = Dever::db('porder/source_refund')->find($refund['id']);
|
|
if ($refund['status'] == 2 || $refund['status'] == 3) {
|
|
if ($refund['status'] == 2 || $refund['status'] == 3) {
|
|
-
|
|
|
|
- # 更新状态
|
|
|
|
- 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');
|
|
|
|
+ # 更新状态
|
|
|
|
+ Dever::db('porder/source_refund')->update($refund['id'], ['status' => 4, 'fdate' => time()]);
|
|
$score = Dever::load(\Pscore\Lib\Info::class)->get($order['score_id']);
|
|
$score = Dever::load(\Pscore\Lib\Info::class)->get($order['score_id']);
|
|
|
|
|
|
# 检测订单是否全都退了
|
|
# 检测订单是否全都退了
|
|
- if ($history >= $order['cash']) {
|
|
|
|
|
|
+ if ($history + $refund['cash'] >= $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'], '订单已全额退款');
|
|
# 退货 恢复库存
|
|
# 退货 恢复库存
|