# 钱包 CREATE TABLE IF NOT EXISTS `{PREFIX}plugins_wallet` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增id', `user_id` bigint(20) unsigned NOT NULL DEFAULT '0' COMMENT '用户id', `status` tinyint(2) unsigned NOT NULL DEFAULT '0' COMMENT '状态(0正常, 1异常, 2已注销)', `normal_money` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT '有效金额(包含赠送金额)', `frozen_money` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT '冻结金额', `give_money` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT '赠送金额(所有赠送金额总计)', `add_time` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '添加时间', `upd_time` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '更新时间', PRIMARY KEY (`id`), UNIQUE KEY `user_id` (`user_id`) USING BTREE, KEY `status` (`status`) ) ENGINE=InnoDB DEFAULT CHARSET={CHARSET} ROW_FORMAT=DYNAMIC COMMENT='钱包 - 钱包'; # 钱包日志 CREATE TABLE IF NOT EXISTS `{PREFIX}plugins_wallet_log` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增id', `user_id` bigint(20) unsigned NOT NULL DEFAULT '0' COMMENT '用户id', `wallet_id` bigint(20) unsigned NOT NULL DEFAULT '0' COMMENT '钱包id', `business_type` tinyint(2) unsigned NOT NULL DEFAULT '0' COMMENT '业务类型(0系统, 1充值, 2提现, 3消费, 4转账)', `money_type` tinyint(2) unsigned NOT NULL DEFAULT '0' COMMENT '金额类型(0正常, 1冻结, 2赠送)', `operation_type` tinyint(2) unsigned NOT NULL DEFAULT '0' COMMENT '操作类型( 0减少, 1增加)', `operation_money` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT '操作金额', `original_money` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT '原始金额', `latest_money` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT '最新金额', `msg` char(200) NOT NULL DEFAULT '' COMMENT '变更说明', `operate_id` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '操作人id', `operate_name` char(30) NOT NULL DEFAULT '' COMMENT '操作人名称', `add_time` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '添加时间', PRIMARY KEY (`id`), KEY `wallet_id` (`wallet_id`), KEY `user_id` (`user_id`) ) ENGINE=InnoDB DEFAULT CHARSET={CHARSET} ROW_FORMAT=DYNAMIC COMMENT='钱包日志 - 钱包'; # 充值 CREATE TABLE IF NOT EXISTS `{PREFIX}plugins_wallet_recharge` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增id', `user_id` bigint(20) unsigned NOT NULL DEFAULT '0' COMMENT '用户id', `wallet_id` bigint(20) unsigned NOT NULL DEFAULT '0' COMMENT '钱包id', `recharge_no` char(60) NOT NULL DEFAULT '' COMMENT '充值单号', `status` tinyint(2) unsigned NOT NULL DEFAULT '0' COMMENT '状态(0未支付, 1已支付)', `money` decimal(10,2) unsigned NOT NULL DEFAULT '0.00' COMMENT '金额', `pay_money` decimal(10,2) unsigned NOT NULL DEFAULT '0.00' COMMENT '支付金额', `payment_id` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '支付方式id', `payment` char(60) NOT NULL DEFAULT '' COMMENT '支付方式标记', `payment_name` char(60) NOT NULL DEFAULT '' COMMENT '支付方式名称', `operate_id` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '操作人id', `operate_name` char(30) NOT NULL DEFAULT '' COMMENT '操作人名称', `pay_time` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '支付时间', `add_time` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '添加时间', PRIMARY KEY (`id`), UNIQUE KEY `recharge_no` (`recharge_no`), KEY `status` (`status`), KEY `user_id` (`user_id`) ) ENGINE=InnoDB DEFAULT CHARSET={CHARSET} ROW_FORMAT=DYNAMIC COMMENT='钱包充值 - 钱包'; # 钱包提现 CREATE TABLE IF NOT EXISTS `{PREFIX}plugins_wallet_cash` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增id', `user_id` bigint(20) unsigned NOT NULL DEFAULT '0' COMMENT '用户id', `wallet_id` bigint(20) unsigned NOT NULL DEFAULT '0' COMMENT '钱包id', `cash_no` char(60) NOT NULL DEFAULT '' COMMENT '提现单号', `cash_type` tinyint(2) unsigned NOT NULL DEFAULT '0' COMMENT '提现方式(0其他方式, 1微信, 2支付宝)', `status` tinyint(2) unsigned NOT NULL DEFAULT '0' COMMENT '状态(0未打款, 1待收款, 2已打款, 3打款失败)', `money` decimal(10,2) unsigned NOT NULL DEFAULT '0.00' COMMENT '提现金额', `commission` decimal(10,2) unsigned NOT NULL DEFAULT '0.00' COMMENT '手续费', `pay_money` decimal(10,2) unsigned NOT NULL DEFAULT '0.00' COMMENT '打款金额', `bank_name` char(60) NOT NULL DEFAULT '' COMMENT '收款平台', `bank_accounts` char(60) NOT NULL DEFAULT '' COMMENT '收款账号', `bank_username` char(60) NOT NULL DEFAULT '' COMMENT '开户人姓名', `accounts_other_type` char(60) NOT NULL DEFAULT '' COMMENT '账号其他类型(比如 web,weixin)', `msg` char(200) NOT NULL DEFAULT '' COMMENT '描述(用户可见)', `pay_time` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '打款时间', `add_time` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '添加时间', `upd_time` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '更新时间', PRIMARY KEY (`id`), UNIQUE KEY `cash_no` (`cash_no`), KEY `cash_type` (`cash_type`), KEY `status` (`status`), KEY `user_id` (`user_id`), KEY `wallet_id` (`wallet_id`) ) ENGINE=InnoDB DEFAULT CHARSET={CHARSET} ROW_FORMAT=DYNAMIC COMMENT='钱包提现 - 钱包'; # 钱包提现支付 CREATE TABLE IF NOT EXISTS `{PREFIX}plugins_wallet_cash_payment` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增id', `user_id` bigint(20) unsigned NOT NULL DEFAULT '0' COMMENT '用户id', `wallet_id` bigint(20) unsigned NOT NULL DEFAULT '0' COMMENT '钱包id', `cash_id` bigint(20) unsigned NOT NULL DEFAULT '0' COMMENT '提现id', `cash_no` char(60) NOT NULL DEFAULT '' COMMENT '提现单号', `pay_no` char(60) NOT NULL DEFAULT '' COMMENT '支付单号', `pay_type` tinyint(2) unsigned NOT NULL DEFAULT '0' COMMENT '付款方式(0微信, 1支付宝)', `status` tinyint(2) unsigned NOT NULL DEFAULT '0' COMMENT '状态(0待处理, 1待收款, 2已支付, 3已失败, 4已关闭)', `reason` text COMMENT '请求失败原因', `out_order_no` char(160) NOT NULL DEFAULT '' COMMENT '外部订单号', `request_params` mediumtext COMMENT '请求参数(数组则json字符串存储)', `response_data` mediumtext COMMENT '响应参数(数组则json字符串存储)', `tsc` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '耗时时间(单位秒)', `add_time` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '添加时间', `upd_time` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '更新时间', PRIMARY KEY (`id`), KEY `user_id` (`user_id`), KEY `wallet_id` (`wallet_id`), KEY `cash_id` (`cash_id`), KEY `cash_no` (`cash_no`), KEY `pay_no` (`pay_no`), KEY `pay_type` (`pay_type`), KEY `status` (`status`) ) ENGINE=InnoDB DEFAULT CHARSET={CHARSET} ROW_FORMAT=DYNAMIC COMMENT='钱包提现支付 - 钱包'; # 转账记录 CREATE TABLE IF NOT EXISTS `{PREFIX}plugins_wallet_transfer` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增id', `transfer_no` char(60) NOT NULL DEFAULT '' COMMENT '转账单号', `send_user_id` bigint(20) unsigned NOT NULL DEFAULT '0' COMMENT '发起用户id', `send_wallet_id` bigint(20) unsigned NOT NULL DEFAULT '0' COMMENT '发起钱包id', `receive_user_id` bigint(20) unsigned NOT NULL DEFAULT '0' COMMENT '收款用户id', `receive_wallet_id` bigint(20) unsigned NOT NULL DEFAULT '0' COMMENT '收款钱包id', `money` decimal(10,2) unsigned NOT NULL DEFAULT '0.00' COMMENT '金额', `note` char(230) NOT NULL DEFAULT '' COMMENT '备注', `add_time` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '添加时间', PRIMARY KEY (`id`), KEY `transfer_no` (`transfer_no`), KEY `send_user_id` (`send_user_id`), KEY `send_wallet_id` (`send_wallet_id`), KEY `receive_user_id` (`receive_user_id`), KEY `receive_wallet_id` (`receive_wallet_id`), KEY `money` (`money`) ) ENGINE=InnoDB DEFAULT CHARSET={CHARSET} ROW_FORMAT=DYNAMIC COMMENT='转账记录 - 钱包'; # 付款码 CREATE TABLE IF NOT EXISTS `{PREFIX}plugins_wallet_payment_code` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增id', `user_id` bigint(20) unsigned NOT NULL DEFAULT '0' COMMENT '用户id', `wallet_id` bigint(20) unsigned NOT NULL DEFAULT '0' COMMENT '钱包id', `code` char(30) NOT NULL DEFAULT '' COMMENT '付款码', `add_time` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '添加时间', PRIMARY KEY (`id`), KEY `wallet_id` (`wallet_id`), KEY `user_id` (`user_id`), KEY `code` (`code`) ) ENGINE=InnoDB DEFAULT CHARSET={CHARSET} ROW_FORMAT=DYNAMIC COMMENT='付款码 - 钱包';