'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(); }); } }