107 lines
3.0 KiB
PHP
107 lines
3.0 KiB
PHP
<?php
|
|
|
|
|
|
namespace Yunshop\TeamDividend\models;
|
|
|
|
|
|
use app\common\models\BaseModel;
|
|
use app\common\models\Member;
|
|
use Illuminate\Database\Eloquent\Builder;
|
|
use Yunshop\TeamDividend\services\upgrate\UplogService;
|
|
|
|
class Uplog extends BaseModel
|
|
{
|
|
public $table = 'yz_team_dividend_uplog';
|
|
public $timestamps = true;
|
|
protected $guarded = [''];
|
|
|
|
protected $casts = [
|
|
'before_level_setting' => 'json',
|
|
'after_level_setting' => 'json',
|
|
'conditions' => 'json',
|
|
];
|
|
|
|
protected $appends = [
|
|
'type_name', 'code_name'
|
|
];
|
|
|
|
// 后台修改
|
|
const CODE_ADMIN = 0;
|
|
// 自主升级
|
|
const CODE_SELF = 1;
|
|
// 激活码
|
|
const CODE_KEY = 2;
|
|
|
|
public function getTypeNameAttribute()
|
|
{
|
|
$name = '与';
|
|
if ($this->up_type == 1) {
|
|
$name = '或';
|
|
}
|
|
return $name;
|
|
}
|
|
|
|
public function getCodeNameAttribute()
|
|
{
|
|
$name = '后台修改';
|
|
if ($this->up_code == self::CODE_SELF) {
|
|
$name = '自主升级';
|
|
}
|
|
if ($this->up_code == self::CODE_KEY) {
|
|
$name = '激活码';
|
|
}
|
|
return $name;
|
|
}
|
|
|
|
public function scopeSearch($query, $search)
|
|
{
|
|
if ($search['uid']) {
|
|
$query->where('uid', $search['uid']);
|
|
}
|
|
if ($search['before_level_id'] > 0) {
|
|
$query->where('before_level_id', $search['before_level_id']);
|
|
}
|
|
if ($search['after_level_id'] > 0) {
|
|
$query->where('after_level_id', $search['after_level_id']);
|
|
}
|
|
return $query;
|
|
}
|
|
|
|
public function member()
|
|
{
|
|
return $this->hasOne(Member::class, 'uid', 'uid');
|
|
}
|
|
|
|
public function beforeLevel()
|
|
{
|
|
return $this->hasOne(TeamDividendLevelModel::class, 'id', 'before_level_id');
|
|
}
|
|
|
|
public function afterLevel()
|
|
{
|
|
return $this->hasOne(TeamDividendLevelModel::class, 'id', 'after_level_id');
|
|
}
|
|
|
|
public static function addLog($agency, $beforeLevel, $afterLevel, $upCode = Uplog::CODE_ADMIN)
|
|
{
|
|
$beforeLevelSetting = !is_null($beforeLevel) ? $beforeLevel->toArray() : [];
|
|
|
|
$afterLevelSetting = $afterLevel->toArray();
|
|
$uplogService = new UplogService($agency->uid, $agency->uniacid, $beforeLevelSetting['id']);
|
|
$beforeLevelSetting['has_one_upgrade_set']['parase'] = unserialize($beforeLevelSetting['has_one_upgrade_set']['parase']);
|
|
$uplogService->setBeforeLevelSetting($beforeLevelSetting);
|
|
$afterLevelSetting['has_one_upgrade_set']['parase'] = unserialize($afterLevelSetting['has_one_upgrade_set']['parase']);
|
|
$uplogService->setAfterLevelSetting($afterLevelSetting);
|
|
$uplogService->setAfterLevelId($afterLevelSetting['id']);
|
|
$uplogService->setUpCode($upCode);
|
|
$uplogService->store();
|
|
}
|
|
|
|
public static function boot()
|
|
{
|
|
parent::boot();
|
|
static::addGlobalScope(function (Builder $builder) {
|
|
$builder->uniacid();
|
|
});
|
|
}
|
|
} |