table('wechatpay_transfer_bill', ['comment' => '微信支付转账账单表']) ->addColumn('user_id', 'integer', ['signed' => false, 'comment' => '用户ID 用户表的主键id']) ->addColumn('mch_id', 'string', ['limit' => 32, 'comment' => '商户号 微信支付分配的商户号']) ->addColumn('out_bill_no', 'string', ['limit' => 32, 'comment' => '商户单号 商户系统内部的商家单号,要求此参数只能由数字、大小写字母组成,在商户系统内部唯一']) ->addColumn('transfer_bill_no', 'string', ['limit' => 32, 'null' => true, 'comment' => '商家转账订单号 商家转账订单的主键,唯一定义此资源的标识']) ->addColumn('appid', 'string', ['limit' => 32, 'comment' => '商户AppID 微信开放平台和微信公众平台为开发者的应用程序提供的唯一标识']) ->addColumn('state', 'enum', [ 'values' => ['APPLYING', 'ACCEPTED', 'PROCESSING', 'WAIT_USER_CONFIRM', 'TRANSFERING', 'SUCCESS', 'FAIL', 'CANCELING', 'CANCELLED'], 'comment' => '单据状态 APPLYING:申请中;ACCEPTED:转账已受理;PROCESSING:转账锁定资金中;WAIT_USER_CONFIRM:待收款用户确认;TRANSFERING:转账中;SUCCESS:转账成功;FAIL:转账失败;CANCELING:转账撤销中;CANCELLED:转账撤销完成' ]) ->addColumn('transfer_amount', 'integer', ['signed' => false, 'comment' => '转账金额 转账金额单位为"分"']) ->addColumn('fee', 'integer', ['signed' => false, 'comment' => '手续费 转账手续费,单位为"分"']) ->addColumn('transfer_remark', 'string', ['limit' => 32, 'comment' => '转账备注 单条转账备注(微信用户会收到该备注),UTF8编码,最多允许32个字符']) ->addColumn('fail_reason', 'string', ['limit' => 255, 'null' => true, 'comment' => '失败原因 订单已失败或者已退资金时,会返回订单失败原因']) ->addColumn('openid', 'string', ['limit' => 64, 'null' => true, 'comment' => '收款用户OpenID 用户在商户appid下的唯一标识']) ->addColumn('user_name', 'string', ['limit' => 20, 'null' => true, 'comment' => '收款用户姓名 收款方真实姓名']) ->addColumn('create_time', 'timestamp', ['comment' => '单据创建时间 单据受理成功时返回,按照使用rfc3339所定义的格式,格式为yyyy-MM-DDThh:mm:ss+TIMEZONE']) ->addColumn('update_time', 'timestamp', ['comment' => '最后一次状态变更时间 单据最后更新时间,按照使用rfc3339所定义的格式,格式为yyyy-MM-DDThh:mm:ss+TIMEZONE']) ->addIndex(['out_bill_no'], ['unique' => true, 'name' => 'uniq_out_bill_no']) ->create(); } }