<?php

/**
 * 文件功能：为 positions 表补充奖励限额字段
 *
 * 新增字段：
 *  - daily_reward_limit   : 操作人单日累计最多可发放的金币总量（null = 不限）
 *  - recipient_daily_limit: 同一接收者每天最多可接收该职务奖励的次数（null = 不限）
 */

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::table('positions', function (Blueprint $table) {
            // 操作人单日累计发放金币上限（null=不限）
            $table->unsignedInteger('daily_reward_limit')
                ->nullable()
                ->after('max_reward')
                ->comment('操作人单日累计可发奖励金币上限（null=不限）');

            // 同一接收者每日最多收到本职务奖励的次数（null=不限）
            $table->unsignedSmallInteger('recipient_daily_limit')
                ->nullable()
                ->after('daily_reward_limit')
                ->comment('同一接收者每天最多可接收本职务奖励次数（null=不限）');
        });
    }

    /**
     * 回滚迁移
     */
    public function down(): void
    {
        Schema::table('positions', function (Blueprint $table) {
            $table->dropColumn(['daily_reward_limit', 'recipient_daily_limit']);
        });
    }
};
