<?php

namespace app\admin\validate\setting;

use app\admin\validate\AdminBaseValidate;

class ContractValidate extends AdminBaseValidate
{

    protected $rule = [
        'trade_name' => 'require|alphaDash',
        'status' => 'require|in:0,1',
        'is_owner' => 'require|in:0,1',
        'limit' => 'require|alphaNum',
        'order_id' => 'alphaNum',
        'user_no' => 'alphaNum',
        'digital_id' => 'upper',
        'contract_id' => 'alphaDash',
        'stock_id' => 'alphaDash',
        'start_time' => 'date|dateFormat:Y-m-d H:i:s',
        'end_time' => 'date|dateFormat:Y-m-d H:i:s',
    ];

    protected $message = [
        'page.require' => '分页参数无效',
        'page.alphaNum' => '分页参数无效',
        'limit.require' => '分页参数无效',
        'limit.alphaNum' => '分页参数无效',
        'order_id.alphaNum' => '订单号无效',
        'user_no.alphaNum' => '用户号无效',
        'digital_id.upper' => '交易对无效',
        'contract_id.upper' => '合约代码无效',
        'stock_id.upper' => '股票代码无效',
        'start_time.date' => '搜索日期无效',
        'start_time.dateFormat' => '搜索日期无效',
        'end_time.date' => '搜索日期无效',
        'end_time.dateFormat' => '搜索日期无效',
    ];

    protected $scene = [
        // 现货
        'digitalPlace' => ['page','limit','order_id', 'user_no', 'digital_id', 'start_time', 'end_time'],
        'digitalBack' => ['page','limit','order_id', 'user_no', 'digital_id', 'start_time', 'end_time'],
        'digitalDeal' => ['page','limit','order_id', 'user_no', 'digital_id', 'start_time', 'end_time'],

        // 合约
        'contractHold' => ['page','limit','order_id', 'user_no', 'contract_id', 'start_time', 'end_time'],
        'contractPlace' => ['page','limit','order_id', 'user_no', 'contract_id', 'start_time', 'end_time'],
        'contractBack' => ['page','limit','order_id', 'user_no', 'contract_id', 'start_time', 'end_time'],
        'contractClear' => ['page','limit','order_id', 'user_no', 'contract_id', 'start_time', 'end_time'],

        // 股票
        'stockHold' => ['page','limit','order_id', 'user_no', 'stock_id', 'start_time', 'end_time'],
        'stockPlace' => ['page','limit','order_id', 'user_no', 'stock_id', 'start_time', 'end_time'],
        'stockBack' => ['page','limit','order_id', 'user_no', 'stock_id', 'start_time', 'end_time'],
        'stockClear' => ['page','limit','order_id', 'user_no', 'stock_id', 'start_time', 'end_time'],
    ];
}