<?php

/**
 * 文件功能：神秘箱子领取记录表迁移
 *
 * 记录每个箱子被哪位用户在何时用什么暗号领取，以及实际奖励金额。
 *
 * @author  ChatRoom Laravel
 *
 * @version 1.0.0
 */

use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;

return new class extends Migration
{
    /**
     * 创建神秘箱子领取记录表。
     */
    public function up(): void
    {
        Schema::create('mystery_box_claims', function (Blueprint $table) {
            $table->id();

            // 关联箱子
            $table->unsignedBigInteger('mystery_box_id')->comment('关联神秘箱子ID');
            $table->foreign('mystery_box_id')->references('id')->on('mystery_boxes')->cascadeOnDelete();

            // 领取用户
            $table->unsignedBigInteger('user_id')->comment('领取用户ID');
            $table->foreign('user_id')->references('id')->on('users')->cascadeOnDelete();

            // 实际奖励（正数=获得，负数=被扣）
            $table->integer('reward_amount')->comment('实际奖励金额（负数表示扣除）');

            $table->timestamps();

            $table->index('mystery_box_id');
            $table->index('user_id');
        });
    }

    /**
     * 回滚：删除领取记录表。
     */
    public function down(): void
    {
        Schema::dropIfExists('mystery_box_claims');
    }
};
