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

56 lines
1.2 KiB
PHP

<?php
namespace App\Bonus;
use App\Models\User;
use App\Models\UserPerf;
use RuLong\Bonus\Contracts\Settlement;
use RuLong\Bonus\Models\Bonus;
use RuLong\Bonus\Traits\Settlementable;
/**
* 添加业绩
*/
class AddPerf implements Settlement
{
use Settlementable;
public $user;
public $perf;
public $source;
public function __construct(User $user, $perf, $source = [])
{
$this->user = $user->fresh();
$this->perf = $perf;
$this->source = $source;
}
/**
* 添加业绩
* @return [type] [description]
*/
public function fire()
{
$data = [
'user_id' => $this->user->id,
'perf' => $this->perf,
'from_id' => $this->user->id,
'source' => json_encode($this->source),
'created_at' => now()->format('Y-m-d H:i:s'),
'updated_at' => now()->format('Y-m-d H:i:s'),
];
$parent = $this->user;
$lists = [];
while ($parent) {
$data['user_id'] = $parent->id;
$lists[] = $data;
$parent = $parent->parent;
}
if (count($lists) > 0) {
UserPerf::insert($lists);
}
}
}