<?php

$status = array
(
	1 => '未确认',
    2 => '已入账',
);

$fenzhang_status = array
(
    1 => '未分账',
    2 => '已分账',
    3 => '分账失败',
);

$button = array();

$merchant_id = Dever::input('search_option_merchant_id');
$account_id = Dever::input('search_option_account_id');

$info = '';

if ($merchant_id) {
    $info = Dever::load('pay/yspay/cash')->getInfo($merchant_id);

    if (Dever::load('manage/auth')->checkFunc('pay.account', 'huafu', '账户提现')) {
        $button = array
        (
            '账户提现' => array('fast', '', 'yspay_cash_tixian&search_option_merchant_id=' . $merchant_id),
        );
    }

    $button['账户日志'] = array('location', 'l=project/database/list&project=pay&table=yspay_merchant_log&search_option_state=1&search_option_account_id=' . $account_id . '&search_option_merchant_id=' . $merchant_id . '&[refer]');
}

return array
(
    # 表名
    'name' => 'yspay_cash',
    # 显示给用户看的名称
    'lang' => '银联资金记录表',
    'menu' => false,
    'info' => $info,
    # 数据结构
    'struct' => array
    (
    
        'id'        => array
        (
            'type'      => 'int-11',
            'name'      => 'ID',
            'default'   => '',
            'desc'      => '',
            'match'     => 'is_numeric',
            'search'    => 'order',
            'update'    => 'hidden',
            //'list'        => true,
        ),

        'account_id'      => array
        (
            'type'      => 'int-11',
            'name'      => '账户id',
            'default'   => '',
            'desc'      => '账户id',
            'match'     => 'option',
            'search'    => 'hidden',
            'update'    => 'hidden',
            'value'     => $account_id,
        ),

        'merchant_id'      => array
        (
            'type'      => 'int-11',
            'name'      => '商户id',
            'default'   => '',
            'desc'      => '商户id',
            'match'     => 'option',
            'search'    => 'hidden',
            'update'    => 'hidden',
            'value'     => $merchant_id,
            'list_name' => '商户名称',
            'list'      => 'Dever::load("pay/yspay_merchant-one#name", "{merchant_id}")',
        ),

        'order_num'      => array
        (
            'type'      => 'varchar-800',
            'name'      => '流水号',
            'default'   => '',
            'desc'      => '流水号',
            'match'     => 'is_string',
            'update'    => 'text',
            'search'    => 'fulltext',
            'list'		=> true,
        ),

        'source_order_num'      => array
        (
            'type'      => 'varchar-800',
            'name'      => '关联订单号',
            'default'   => '',
            'desc'      => '关联订单号',
            'match'     => 'is_string',
            'update'    => 'text',
            'search'    => 'fulltext',
            'list'		=> true,
        ),

        'ycash'      => array
        (
            'type'      => 'int-11',
            'name'      => '交易金额',
            'default'   => '0',
            'desc'      => '交易金额',
            'match'     => 'option',
            'list'      => 'Dever::number({ycash}/100, 2)',
        ),

        'yl_cash'      => array
        (
            'type'      => 'int-11',
            'name'      => '银联手续费',
            'default'   => '0',
            'desc'      => '银联手续费',
            'match'     => 'option',
            'list'      => 'Dever::number({yl_cash}/100, 2)',
        ),

        'pt_cash'      => array
        (
            'type'      => 'int-11',
            'name'      => '平台手续费',
            'default'   => '0',
            'desc'      => '平台手续费',
            'match'     => 'option',
            'list'      => 'Dever::number({pt_cash}/100, 2)',
        ),

        'cash'      => array
        (
            'type'      => 'int-11',
            'name'      => '实际金额',
            'default'   => '0',
            'desc'      => '实际金额',
            'match'     => 'option',
            'list'      => 'Dever::number({cash}/100, 2)',
        ),

        'hf_cash'      => array
        (
            'type'      => 'int-11',
            'name'      => '商户划付金额',
            'default'   => '0',
            'desc'      => '划付金额',
            'match'     => 'option',
            //'update'    => 'text',
            'list'		=> 'Dever::number({hf_cash}/100, 2)',
        ),

        'fz_cash'      => array
        (
            'type'      => 'int-11',
            'name'      => '平台分账金额',
            'default'   => '0',
            'desc'      => '分账金额',
            'match'     => 'option',
            //'update'    => 'text',
            'list'		=> 'Dever::number({fz_cash}/100, 2)',
        ),

        'fdate'     => array
        (
            'type'      => 'int-11',
            'name'      => '入账时间',
            'default'   => '',
            'match'     => 'is_numeric',
            'desc'      => '',
            'search'    => 'date',
            'list'      => '"{fdate}" ? date("Y-m-d H:i", \'{fdate}\') : "-"',
            'list_order' => 100,
        ),

        'rdate'     => array
        (
            'type'      => 'int-11',
            'name'      => '分账时间',
            'default'   => '',
            'match'     => 'is_numeric',
            'desc'      => '',
            'search'    => 'date',
            'list'      => '"{rdate}" ? date("Y-m-d H:i", \'{rdate}\') : "-"',
            'list_order' => 100,
        ),

        'tdate'     => array
        (
            'type'      => 'int-11',
            'name'      => '提现时间',
            'default'   => '',
            'match'     => 'is_numeric',
            'desc'      => '',
            //'search'    => 'date',
            //'list'      => '"{tdate}" ? date("Y-m-d H:i", \'{tdate}\') : "-"',
            //'list_order' => 101,
        ),

        'status'        => array
        (
            'type'      => 'tinyint-1',
            'name'      => '订单状态',
            'default'   => '1',
            'desc'      => '订单状态',
            'match'     => 'is_numeric',
            'option'    => $status,
            'search'    => 'select',
            'list'      => true,
        ),

        'fenzhang_status'        => array
        (
            'type'      => 'tinyint-1',
            'name'      => '分账状态',
            'default'   => '1',
            'desc'      => '分账状态',
            'match'     => 'is_numeric',
            'option'    => $fenzhang_status,
            'search'    => 'select',
            'list'      => true,
        ),

        'state'     => array
        (
            'type'      => 'tinyint-1',
            'name'      => '状态',
            'default'   => '1',
            'desc'      => '请选择状态',
            'match'     => 'is_numeric',
        ),
        
        'cdate'     => array
        (
            'type'      => 'int-11',
            'name'      => '下单时间',
            'match'     => array('is_numeric', time()),
            'desc'      => '',
            # 只有insert时才生效
            'insert'    => true,
            'search'    => 'date',
            'list'      => 'date("Y-m-d H:i:s", {cdate})',
        ),
    ),

    'manage' => array
    (
        'edit' => false,
        'insert' => false,
        'delete' => false,
        'button' => $button,
    ),

    'request' => array
    (
        'getTotal' => array
        (
            'option' => array
            (
                'merchant_id' => 'yes',
                'status' => array('yes', '>='),
                'state' => 1,
            ),
            'type' => 'one',
            'col' => 'sum(cash) as cash,sum(hf_cash) as hf_cash,sum(fz_cash) as fz_cash,sum(yl_cash) as yl_cash,sum(pt_cash) as pt_cash',
        ),

        'getList' => array
        (
            'option' => array
            (
                'start' => array('yes-cdate', '>='),
                'end' => array('yes-cdate', '<='),
                'fdate_start' => array('yes-fdate', '>='),
                'fdate_end' => array('yes-fdate', '<='),
                'order_num' => array('yes', 'like'),
                'source_order_num' => array('yes', 'like'),
                'merchant_id' => 'yes',
                'status' => 'yes',
                'state' => 1,
            ),
            'type' => 'all',
            'page' => array(20, 'list'),
            'order' => array('id' => 'desc'),
            'col' => '*',
        ),
    ),
);
