提交代码
This commit is contained in:
55
app/Bonus/AddPerf.php
Normal file
55
app/Bonus/AddPerf.php
Normal file
@@ -0,0 +1,55 @@
|
||||
<?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);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user