You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
57 lines
1.3 KiB
PHTML
57 lines
1.3 KiB
PHTML
2 years ago
|
<?php
|
||
|
|
||
|
declare(strict_types=1);
|
||
|
|
||
|
namespace App\Model;
|
||
|
|
||
|
use App\Scopes\CommonPromoteScopes;
|
||
|
use App\Scopes\PlayerRoleScopes;
|
||
|
use App\Helper\DeviceType;
|
||
|
|
||
|
class PlayerRole extends Model
|
||
|
{
|
||
|
use CommonPromoteScopes;
|
||
|
use PlayerRoleScopes;
|
||
|
|
||
|
protected $table = 'tab_user_play_info';
|
||
|
|
||
|
public $timestamps = false;
|
||
|
|
||
|
public function promote()
|
||
|
{
|
||
|
return $this->belongsTo(Promote::class, 'promote_id', 'id');
|
||
|
}
|
||
|
|
||
|
public function user()
|
||
|
{
|
||
|
return $this->belongsTo(User::class, 'user_id', 'id');
|
||
|
}
|
||
|
|
||
|
public function testingBinding()
|
||
|
{
|
||
|
return $this->hasOne(TestingBinding::class, 'role_key', 'role_key');
|
||
|
}
|
||
|
|
||
|
public function bindTestingBinding()
|
||
|
{
|
||
|
return $this->hasOne(TestingBinding::class, 'bind_role_key', 'role_key');
|
||
|
}
|
||
|
|
||
|
public function getDeviceTypeNameAttribute()
|
||
|
{
|
||
|
return DeviceType::getDeviceTypeText($this->sdk_version);
|
||
|
}
|
||
|
|
||
|
public function getBaseGameNameAttribute()
|
||
|
{
|
||
|
return strtr($this->game_name, ['(安卓版)' => '', '(苹果版)' => '']);
|
||
|
}
|
||
|
|
||
|
public static function generateUniqueCode($gameId, $userId, $roleId)
|
||
|
{
|
||
|
if (is_null($roleId)) {
|
||
|
$roleId = 'UNKNOW';
|
||
|
}
|
||
|
return substr(md5($gameId . '#' . $userId . '#' . $roleId), 8, 16);
|
||
|
}
|
||
|
}
|