1
0
Files
lkafu/app/Listeners/UpgradePaidListener.php
2020-08-06 14:45:56 +08:00

65 lines
2.0 KiB
PHP

<?php
namespace App\Listeners;
use App\Events\UpgradePaid as UpgradePaidEvent;
use App\Models\UserPerf;
use Illuminate\Contracts\Queue\ShouldQueue;
class UpgradePaidListener implements ShouldQueue
{
public $queue = 'LISTENER';
/**
* Handle the event.
*
* @param VipPaidEvent $event
* @return void
*/
public function handle(UpgradePaidEvent $event)
{
$upgrade_payment = $event->upgrade_payment;
if ($upgrade_payment->type == 'vip') {
$whereType = 'UpgradeVip';
} else {
$whereType = 'UpgradeAgency';
}
$perf = UserPerf::where('source->type', $whereType)->where('source->payment_id', $upgrade_payment->id)->first();
if (!$perf) {
$user = $upgrade_payment->user;
if ($upgrade_payment->type == 'vip') {
//升级会员执行分润
$user->identityUpdate(1, 'AutoUp');
\App\Bonus\DirectVip::settlement($upgrade_payment);
$source = [
'user_id' => $upgrade_payment->user->id,
'type' => 'UpgradeVip',
'payment_id' => $upgrade_payment->id,
];
\App\Bonus\AddPerf::settlement($upgrade_payment->user, $upgrade_payment->amount, $source);
} else {
//升级代理执行分润
$upgrade_payment->user->identityUpdate(2, 'AutoUp');
\App\Bonus\DirectAgency::settlement($upgrade_payment);
$source = [
'user_id' => $upgrade_payment->user->id,
'type' => 'UpgradeAgency',
'payment_id' => $upgrade_payment->id,
];
\App\Bonus\AddPerf::settlement($upgrade_payment->user, $upgrade_payment->amount, $source);
//记录代理商激活时间
$user->activationd_at = time();
$user->save();
}
}
}
}