diff --git a/app/common/repositories/store/order/StoreRefundOrderRepository.php b/app/common/repositories/store/order/StoreRefundOrderRepository.php index b47ba88b..5d014f67 100644 --- a/app/common/repositories/store/order/StoreRefundOrderRepository.php +++ b/app/common/repositories/store/order/StoreRefundOrderRepository.php @@ -17,7 +17,6 @@ namespace app\common\repositories\store\order; use app\common\dao\store\order\StoreRefundOrderDao; use app\common\model\store\order\StoreOrder; use app\common\model\store\order\StoreRefundOrder; -use app\common\model\system\merchant\FinancialRecord; use app\common\repositories\BaseRepository; use app\common\repositories\store\product\ProductRepository; use app\common\repositories\system\merchant\FinancialRecordRepository; @@ -1137,11 +1136,6 @@ class StoreRefundOrderRepository extends BaseRepository if ($refundOrder->order->commission_rate > 0) { $_refundRate = bcmul($commission_rate, bcsub($refundPrice, $extension, 2), 2); } - $autoMargin = FinancialRecord::getInstance() - ->where(['order_id' => $refundOrder->order->order_id, 'mer_id' => $refundOrder['mer_id'], 'financial_type' => 'auto_margin']) - ->sum('number'); - $refundPrice = bcsub($refundPrice, $autoMargin, 2); - return bcsub(bcsub($refundPrice, $extension, 2), $_refundRate, 2); } diff --git a/app/listener/AfterRefund.php b/app/listener/AfterRefund.php index f8da1957..2e1dcf7e 100644 --- a/app/listener/AfterRefund.php +++ b/app/listener/AfterRefund.php @@ -46,6 +46,7 @@ class AfterRefund $merchant->is_margin = MerchantRepository::NeedMargin; } $merchant->save(); + $this->addMoney($financialRecord); $this->saveFinanceRecord($financialRecord); } } @@ -60,6 +61,14 @@ class AfterRefund $merchantRepository->subLockMoney($financialRecord['mer_id'], 'order', $this->refundOrder['order_id'], (float)$financialRecord['number']); } + public function addMoney($financialRecord) + { + Log::info("refundCommission, mer_id: {$financialRecord['mer_id']}, money: {$financialRecord['number']}"); + /** @var MerchantRepository $merchantRepository */ + $merchantRepository = app()->make(MerchantRepository::class); + $merchantRepository->addMoney($financialRecord['mer_id'], (float)$financialRecord['number']); + } + public function saveFinanceRecord($financialRecord) { /** @var FinancialRecordRepository $financialRecordRepository */