123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161 |
- <?php
- namespace App\Http\Models;
- use Auth;
- use Eloquent;
- use Illuminate\Database\Eloquent\Builder;
- use Illuminate\Database\Eloquent\Collection;
- use Illuminate\Foundation\Auth\User as Authenticatable;
- use Illuminate\Notifications\DatabaseNotification;
- use Illuminate\Notifications\DatabaseNotificationCollection;
- use Illuminate\Notifications\Notifiable;
- use Illuminate\Support\Carbon;
- /**
- * 用户信息
- * Class User
- *
- * @package App\Http\Models
- * @mixin Eloquent
- * @property int $id
- * @property string $email 邮箱
- * @property string $username 用户名
- * @property string $password 密码
- * @property int $port 代理端口
- * @property string $passwd 代理密码
- * @property string $vmess_id V2Ray用户ID
- * @property int $transfer_enable 可用流量,单位字节,默认1TiB
- * @property int $u 已上传流量,单位字节
- * @property int $d 已下载流量,单位字节
- * @property int $t 最后使用时间
- * @property string|null $ip 最后连接IP
- * @property int $enable 代理状态
- * @property string $method 加密方式
- * @property string $protocol 协议
- * @property string|null $protocol_param 协议参数
- * @property string $obfs 混淆
- * @property string|null $obfs_param 混淆参数
- * @property int $speed_limit_per_con 单连接限速,默认10G,为0表示不限速,单位Byte
- * @property int $speed_limit_per_user 单用户限速,默认10G,为0表示不限速,单位Byte
- * @property string|null $wechat 微信
- * @property string|null $qq QQ
- * @property string $usage 用途:1-手机、2-电脑、3-路由器、4-其他
- * @property int $pay_way 付费方式:0-免费、1-季付、2-月付、3-半年付、4-年付
- * @property int $balance 余额,单位分
- * @property string|null $enable_time 开通日期
- * @property string $expire_time 过期时间
- * @property int $ban_time 封禁到期时间
- * @property string|null $remark 备注
- * @property int $level 等级:可定义名称
- * @property int $is_admin 是否管理员:0-否、1-是
- * @property string $reg_ip 注册IP
- * @property int $last_login 最后登录时间
- * @property int $referral_uid 邀请人
- * @property string|null $reset_time 流量重置日期,NULL表示不重置
- * @property int $invite_num 可生成邀请码数
- * @property int $status 状态:-1-禁用、0-未激活、1-正常
- * @property string|null $remember_token
- * @property Carbon|null $created_at
- * @property Carbon|null $updated_at
- * @property-read Collection|UserLabel[] $label
- * @property-read int|null $label_count
- * @property-read Level $levelList
- * @property-read DatabaseNotificationCollection|DatabaseNotification[] $notifications
- * @property-read int|null $notifications_count
- * @property-read Collection|Payment[] $payment
- * @property-read int|null $payment_count
- * @property-read User $referral
- * @property-read UserSubscribe $subscribe
- * @method static Builder|User newModelQuery()
- * @method static Builder|User newQuery()
- * @method static Builder|User query()
- * @method static Builder|User uid()
- * @method static Builder|User whereEmail($value)
- * @method static Builder|User whereBalance($value)
- * @method static Builder|User whereBanTime($value)
- * @method static Builder|User whereCreatedAt($value)
- * @method static Builder|User whereD($value)
- * @method static Builder|User whereEnable($value)
- * @method static Builder|User whereEnableTime($value)
- * @method static Builder|User whereExpireTime($value)
- * @method static Builder|User whereId($value)
- * @method static Builder|User whereInviteNum($value)
- * @method static Builder|User whereIp($value)
- * @method static Builder|User whereIsAdmin($value)
- * @method static Builder|User whereLastLogin($value)
- * @method static Builder|User whereLevel($value)
- * @method static Builder|User whereMethod($value)
- * @method static Builder|User whereObfs($value)
- * @method static Builder|User whereObfsParam($value)
- * @method static Builder|User wherePasswd($value)
- * @method static Builder|User wherePassword($value)
- * @method static Builder|User wherePayWay($value)
- * @method static Builder|User wherePort($value)
- * @method static Builder|User whereProtocol($value)
- * @method static Builder|User whereProtocolParam($value)
- * @method static Builder|User whereQq($value)
- * @method static Builder|User whereReferralUid($value)
- * @method static Builder|User whereRegIp($value)
- * @method static Builder|User whereRemark($value)
- * @method static Builder|User whereRememberToken($value)
- * @method static Builder|User whereResetTime($value)
- * @method static Builder|User whereSpeedLimitPerCon($value)
- * @method static Builder|User whereSpeedLimitPerUser($value)
- * @method static Builder|User whereStatus($value)
- * @method static Builder|User whereT($value)
- * @method static Builder|User whereTransferEnable($value)
- * @method static Builder|User whereU($value)
- * @method static Builder|User whereUpdatedAt($value)
- * @method static Builder|User whereUsage($value)
- * @method static Builder|User whereUsername($value)
- * @method static Builder|User whereVmessId($value)
- * @method static Builder|User whereWechat($value)
- */
- class User extends Authenticatable
- {
- use Notifiable;
- protected $table = 'user';
- protected $primaryKey = 'id';
- function scopeUid($query)
- {
- return $query->whereId(Auth::user()->id);
- }
- function levelList()
- {
- return $this->hasOne(Level::class, 'level', 'level');
- }
- function payment()
- {
- return $this->hasMany(Payment::class, 'user_id', 'id');
- }
- function label()
- {
- return $this->hasMany(UserLabel::class, 'user_id', 'id');
- }
- function subscribe()
- {
- return $this->hasOne(UserSubscribe::class, 'user_id', 'id');
- }
- function referral()
- {
- return $this->hasOne(User::class, 'id', 'referral_uid');
- }
- function getBalanceAttribute($value)
- {
- return $value/100;
- }
- function setBalanceAttribute($value)
- {
- return $this->attributes['balance'] = $value*100;
- }
- }
|