<?php

namespace App\Http\Requests\Company\DynamicQrcode;

use App\Http\Requests\BaseRequest;

/**
 * 活码工具-动态二维码接口验证
 * @author 唐远望
 * @version 1.0
 * @date 2025-08-21
 * 
 */
class Qrcodes extends BaseRequest
{
    /**
     * 获取应用于请求的规则
     *
     * @return array
     */
    public function rules()
    {
        // 返回结果
        return      [
            'name'                 => 'required',
            'id'                => 'required|integer|gt:0',
            'status'            => 'required|integer|in:0,1',
            'page'              => 'integer|min:1',
            'limit'             => 'integer|min:1',
            'sort'              => 'required|integer|min:0',
            'priority'          => 'required|integer|min:0',
            'file_name'         => 'required',
            'qrcodes_url'       => 'required',
            'qrcode_url'       => 'required',
            'expiry_date'       => 'required|date',
            'access_limit'      => 'required|integer|min:0',
            'template_id'       => 'required|integer|gt:0',
            'ids'               => 'required',
            'qrcodes_urls' => 'required|string',
            'file_names' => 'required|string',
            'prioritys' => 'required|string',
            'expiry_dates' => 'required|string',
            'access_limits' => 'required|string',
        ];
    }


    // 场景列表
    protected   $scenes         = [
        'detail'             => ['id'],
        'list'               => ['page', 'limit','template_id'],
        'batch_add'                      => ['template_id','qrcodes_urls'],
        'edit'                  => ['id','priority','file_name','qrcode_url','expiry_date','access_limit'],
        'set_status'              => ['id', 'status'],
        'delete'                  => ['id'],
        'batch_update_access_limit'       => ['ids', 'access_limit'],
        'batch_delete'            => ['ids'],
    ];

    /**
     * 获取已定义验证规则的错误消息
     *
     * @return array
     */
    public function messages()
    {
        return [
            'name.required'     => '名称必填',
            'id.required'       => 'ID未知',
            'id.integer'        => 'ID格式错误',
            'id.gt'               => 'ID格式错误',
            'status.required'   => '状态未知',
            'status.integer'    => '状态格式错误',
            'status.in'         => '状态格式错误',
            'page.integer'      => '页码格式错误',
            'page.min'          => '页码格式错误',
            'limit.integer'     => '每页数量格式错误',
            'limit.min'         => '每页数量格式错误',
            'sort.required'         => '排序未知',
            'sort.integer'          => '排序格式错误',
            'sort.min'              => '排序格式错误',
            'priority.required'     => '优先级未知',
            'priority.integer'      => '优先级格式错误',
            'priority.min'          => '优先级格式错误',
            'file_name.required'    => '文件名未知',
            'qrcodes_url.required'  => '二维码集合URL未知',
            'qrcode_url.required'  => '二维码URL未知',
            'expiry_date.required'  => '过期时间未知',
            'expiry_date.date'      => '过期时间格式错误',
            'access_limit.required' => '访问限制未知',
            'access_limit.integer'  => '访问限制格式错误',
            'access_limit.min'      => '访问限制格式错误',
            'template_id.required'  => '模板ID未知',
            'template_id.integer'   => '模板ID格式错误',
            'template_id.gt'        => '模板ID格式错误',
            'ids.required'          => 'ID未知',
            'qrcodes_urls.required' =>'二维码地址集合不能为空',
            'qrcodes_urls.string' =>'二维码地址集合格式错误',
            'file_names.required' =>'文件名称集合不能为空',
            'file_names.string' =>'文件名称集合格式错误',
            'prioritys.required' =>'优先级集合不能为空',
            'prioritys.string' =>'优先级集合格式错误',
            'expiry_dates.required' =>'过期时间集合不能为空',
            'expiry_dates.string' =>'过期时间集合格式错误',
            'access_limits.required' =>'上限限制集合不能为空',
            'access_limits.string' =>'上限限制集合格式错误',
        ];
    }
}
