6
0
Fork 0
jiqu-library-server/app/Services/Dealer/ManageSubsidyService.php

44 lines
1.2 KiB
PHP

<?php
namespace App\Services\Dealer;
use App\Enums\DealerEarningStatus;
use App\Enums\DealerManageSubsidyStatus;
use App\Enums\DealerWalletAction;
use App\Exceptions\BizException;
use App\Models\DealerEarning;
use App\Models\DealerManageSubsidy;
class ManageSubsidyService
{
/**
* @param \App\Models\DealerManageSubsidy $dealerManageSubsidy
* @return void
*/
public function pay(DealerManageSubsidy $dealerManageSubsidy)
{
if (! $dealerManageSubsidy->isPending()) {
throw new BizException('管理津贴 不是待付款状态');
}
$dealerManageSubsidy->update([
'status' => DealerManageSubsidyStatus::Completed,
]);
$dealerManageSubsidy->earning->update([
'pay_way' => DealerEarning::PAY_WAY_WALLET,
'pay_at' => now(),
'pay_info' => null,
'status' => DealerEarningStatus::Completed,
]);
(new WalletService())->changeBalance(
$dealerManageSubsidy->user,
$dealerManageSubsidy->real_amount,
DealerWalletAction::ManageSubsidyIn,
'收入-管理津贴',
$dealerManageSubsidy
);
}
}