<?php

$type = Dever::config('base', 'pay')->pay['type'];

$account = function()
{
	return Dever::db('pay/account')->state();
};

$project = function()
{
	return Dever::db('pay/project')->state();
};

$status = Dever::config('base', 'pay')->pay['status'];

return array
(
	# 表名
	'name' => 'order',
	# 显示给用户看的名称
	'lang' => '订单管理',
	'order' => 1,
	# 数据结构
	'struct' => array
	(
	
		'id' 		=> array
		(
			'type' 		=> 'int-11',
			'name' 		=> 'ID',
			'default' 	=> '',
			'desc' 		=> '',
			'match' 	=> 'is_numeric',
			'search'	=> 'order',
			//'list'		=> true,
		),

		'uid'		=> array
		(
			'type' 		=> 'int-11',
			'name' 		=> '用户',
			'default' 	=> '1',
			'desc' 		=> '用户',
			'match' 	=> 'is_numeric',
			'update'	=> 'text',
			/*
			'search'	=> array
			(
				'api' => 'passport/user-all',
				'col' => 'username',
				'result' => 'id',
			),
			'list'		=> 'Dever::load("passport/user-one#username", {uid})',
			*/
		),

		'username'		=> array
		(
			'type' 		=> 'varchar-200',
			'name' 		=> '用户名称',
			'default' 	=> '',
			'desc' 		=> '用户名称',
			'match' 	=> 'is_string',
			'update'	=> 'text',
			'search'	=> 'fulltext',
			'list'		=> true,
		),

		'name'		=> array
		(
			'type' 		=> 'varchar-200',
			'name' 		=> '订单名称',
			'default' 	=> '',
			'desc' 		=> '订单名称',
			'match' 	=> 'is_string',
			'update'	=> 'text',
			'search'	=> 'fulltext',
			'list'		=> true,
		),

		'order_id'		=> array
		(
			'type' 		=> 'varchar-200',
			'name' 		=> '订单id',
			'default' 	=> '',
			'desc' 		=> '订单id',
			'match' 	=> 'is_numeric',
			'update'	=> 'text',
			'search'	=> 'fulltext',
			'list'		=> true,
		),

		'type'		=> array
		(
			'type' 		=> 'varchar-30',
			'name' 		=> '支付类型',
			'default' 	=> 'wechat',
			'desc' 		=> '支付类型',
			'match' 	=> 'is_string',
			'update'	=> 'radio',
			'option'	=> $type,
			'search'	=> 'select',
			'list'		=> true,
			'control'	=> 'type',
		),

		'product_id'		=> array
		(
			'type' 		=> 'varchar-800',
			'name' 		=> '产品id-可能为多个',
			'default' 	=> '',
			'desc' 		=> '产品id',
			'match' 	=> 'is_string',
			'update'	=> 'text',
		),

		'account_id'		=> array
		(
			'type' 		=> 'int-11',
			'name' 		=> '支付账户',
			'default' 	=> '1',
			'desc' 		=> '支付账户',
			'match' 	=> 'is_numeric',
			'update'	=> 'select',
			'option'	=> $account,
			'search'	=> 'select',
			'list'		=> true,
		),

		'project_id'		=> array
		(
			'type' 		=> 'int-11',
			'name' 		=> '所属项目',
			'default' 	=> '0',
			'desc' 		=> '所属项目',
			'match' 	=> 'is_numeric',
			'update'	=> 'select',
			'option'	=> $project,
			'search'	=> 'select',
			'list'		=> true,
		),

		'cash'		=> array
		(
			'type' 		=> 'varchar-11',
			'name' 		=> '金额',
			'default' 	=> '',
			'desc' 		=> '金额',
			'match' 	=> 'is_string',
			'update'	=> 'text',
			'list'		=> true,
		),

		'refund_cash'		=> array
		(
			'type' 		=> 'varchar-11',
			'name' 		=> '退款金额',
			'default' 	=> '',
			'desc' 		=> '退款金额',
			'match' 	=> 'is_string',
			'update'	=> 'text',
			'list'		=> true,
		),

		'status'		=> array
		(
			'type' 		=> 'tinyint-1',
			'name' 		=> '支付状态',
			'default' 	=> '1',
			'desc' 		=> '支付状态',
			'match' 	=> 'is_numeric',
			'update'	=> 'radio',
			'option'	=> $status,
			'search'	=> 'select',
			'list'      => 'Dever::load("pay/lib/manage.showOrderStatus", "{id}")',
			'control'	=> 'status',
		),

		'status_desc'		=> array
		(
			'type' 		=> 'varchar-300',
			'name' 		=> '支付状态说明',
			'default' 	=> '',
			'desc' 		=> '请输入支付状态说明',
			'match' 	=> 'option',
			//'update'	=> 'textarea',
			'show'		=> 'status=3',
		),

		'tk_pic'     => array
        (
            'type'      => 'varchar-150',
            'name'      => '退款截图',
            'default'   => '',
            'desc'      => '退款截图',
            'match'     => 'is_string',
            'update'    => 'image',
            'key'       => 1
        ),

        'tk_time'       => array
        (
            'type'      => 'int-11',
            'name'      => '退款时间',
            'default'   => '',
            'desc'      => '退款时间',
            'match'     => 'option',
            //'list'        => true,
            //'update'    => 'date',
            'callback'  => 'maketime',
            'show'      => 'status=5',
        ),

        'tk_admin'      => array
        (
            'type'      => 'int-11',
            'name'      => '退款审核人',
            'default'   => '1',
            'desc'      => '退款审核人',
            'match'     => 'option',
            //'list'        => true,
            'show'      => 'status=5',
        ),

        'tk_desc'       => array
        (
            'type'      => 'varchar-300',
            'name'      => '退款备注',
            'default'   => '',
            'desc'      => '退款备注',
            'match'     => 'option',
            'update'    => 'textarea',
            //'show'        => 'status=5',
        ),

		'param'		=> array
		(
			'type' 		=> 'text-255',
			'name' 		=> '支付信息-用于二次支付',
			'default' 	=> '',
			'desc' 		=> '支付信息',
			'match' 	=> 'option',
		),

		'state'		=> array
		(
			'type' 		=> 'tinyint-1',
			'name' 		=> '状态',
			'default' 	=> '1',
			'desc' 		=> '请选择状态',
			'match' 	=> 'is_numeric',
		),

		'pay_time'       => array
        (
            'type'      => 'int-11',
            'name'      => '付款时间',
            'default'   => '',
            'desc'      => '付款时间',
            'match'     => 'option',
            //'list'        => true,
            //'update'    => 'date',
            'callback'  => 'maketime',
        ),
		
		'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
	(
		'insert' => false,
		'edit' => false,
		'delete' => false,
		'excel' => true,

		/*
		'list_button' => array(
            'edit' => array('退款', 'status,tk_time,tk_pic,tk_desc,tk_admin', '{status} > 1'),
        ),
        */
	),
);
