- 新建 vip_levels 表(名称、图标、颜色、经验/金币倍率、专属进入/离开模板) - 默认4个等级种子:白银🥈(×1.5)、黄金🥇(×2.0)、钻石💎(×3.0)、至尊👑(×5.0) - 后台 VIP 等级 CRUD 管理(新增/编辑/删除,配置模板和倍率) - 后台用户编辑弹窗支持设置 VIP 等级和到期时间 - ChatController 心跳经验按 VIP 倍率加成 - FishingController 正向奖励按 VIP 倍率加成(负面惩罚不变) - 在线名单显示 VIP 图标和管理员🛡️标识 - VIP 用户进入/离开使用专属颜色和标题 - 后台侧栏新增「👑 VIP 会员等级」入口
72 lines
1.4 KiB
PHP
72 lines
1.4 KiB
PHP
<?php
|
||
|
||
/**
|
||
* 文件功能:AI 使用日志模型
|
||
*
|
||
* 对应 ai_usage_logs 表,记录每次 AI 接口调用的详细信息,
|
||
* 包括 token 消耗、响应时间、成功/失败状态等。
|
||
*
|
||
* @author ChatRoom Laravel
|
||
*
|
||
* @version 1.0.0
|
||
*/
|
||
|
||
namespace App\Models;
|
||
|
||
use Illuminate\Database\Eloquent\Model;
|
||
|
||
class AiUsageLog extends Model
|
||
{
|
||
/**
|
||
* 关联的数据库表名
|
||
*
|
||
* @var string
|
||
*/
|
||
protected $table = 'ai_usage_logs';
|
||
|
||
/**
|
||
* 可批量赋值的属性
|
||
*
|
||
* @var array<int, string>
|
||
*/
|
||
protected $fillable = [
|
||
'company_id',
|
||
'user_id',
|
||
'provider',
|
||
'model',
|
||
'action',
|
||
'prompt_tokens',
|
||
'completion_tokens',
|
||
'total_tokens',
|
||
'cost',
|
||
'response_time_ms',
|
||
'success',
|
||
'error_message',
|
||
];
|
||
|
||
/**
|
||
* 属性类型转换
|
||
*
|
||
* @return array<string, string>
|
||
*/
|
||
protected function casts(): array
|
||
{
|
||
return [
|
||
'prompt_tokens' => 'integer',
|
||
'completion_tokens' => 'integer',
|
||
'total_tokens' => 'integer',
|
||
'cost' => 'float',
|
||
'response_time_ms' => 'integer',
|
||
'success' => 'boolean',
|
||
];
|
||
}
|
||
|
||
/**
|
||
* 关联用户
|
||
*/
|
||
public function user(): \Illuminate\Database\Eloquent\Relations\BelongsTo
|
||
{
|
||
return $this->belongsTo(User::class);
|
||
}
|
||
}
|