https://funxi.yuque.com/gwoym1/cgc2f5/il2pl5
CREATE TABLE `wallet` (
`id` CHAR(36) NOT NULL DEFAULT '',
`business_type` VARCHAR(36) NOT NULL DEFAULT '' COMMENT '业务对象类型',
`business_id` CHAR(36) NOT NULL DEFAULT '' COMMENT '业务对象ID',
`amount` INT(11) NOT NULL DEFAULT '0' COMMENT '真钱余额 单位:分',
`freeze_amount` INT(11) NOT NULL DEFAULT '0' COMMENT '冻结真钱金额 单位:分',
`withdraw_amount` INT(11) NOT NULL DEFAULT '0' COMMENT '已提现真钱金额 单位:分',
`gift_amount` INT(11) NOT NULL DEFAULT '0' COMMENT '假钱余额 单位:分',
`freeze_gift_amount` INT(11) NOT NULL DEFAULT '0' COMMENT '冻结假钱金额 单位:分',
`withdraw_gift_amount` INT(11) NOT NULL DEFAULT '0' COMMENT '已提现假钱金额 单位:分',
`is_blocked` TINYINT(1) NOT NULL DEFAULT '0' COMMENT '是否已冻结',
`enable_gift_amount_withdraw` TINYINT(1) NOT NULL DEFAULT '0' COMMENT '是否允许假钱提现',
`created_at` DATETIME DEFAULT NULL,
`updated_at` DATETIME DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `uk_business_id_business_type` (`business_id`,`business_type`)
) ENGINE=INNODB DEFAULT CHARSET=utf8 COMMENT '钱包';
CREATE TABLE `wallet_change_record` (
`id` CHAR(36) NOT NULL DEFAULT '',
`wallet_id` CHAR(36) NOT NULL DEFAULT '' COMMENT '钱包id',
`wallet_change_record_type` VARCHAR(36) NOT NULL DEFAULT '' COMMENT '流水类型',
`amount` INT(11) NOT NULL DEFAULT 0 COMMENT '真钱金额 单位:分',
`gift_amount` INT(11) NOT NULL DEFAULT 0 COMMENT '假钱金额 单位:分',
`business_type` VARCHAR(36) NOT NULL DEFAULT '' COMMENT '业务对象类型',
`business_id` CHAR(36) NOT NULL DEFAULT '' COMMENT '业务对象id',
`reason` varchar(512) NOT NULL DEFAULT '' COMMENT '说明',
`invoice_id` CHAR(36) NOT NULL DEFAULT '' COMMENT '发票id',
`unfreeze_at` DATETIME DEFAULT NULL COMMENT '预期解冻时间',
`created_at` DATETIME DEFAULT NULL,
`updated_at` DATETIME DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `uk_business_id_business_type_wallet_change_record_type` (`business_id`,`business_type`,`wallet_change_record_type`),
KEY `idx_wallet_id` (`wallet_id`)
) ENGINE=INNODB DEFAULT CHARSET=utf8 COMMENT '钱包流水';
CREATE TABLE `wallet_withdraw_applications` (
`id` CHAR(36) NOT NULL DEFAULT '',
`wallet_id` CHAR(36) NOT NULL DEFAULT '' COMMENT '钱包ID',
`amount` INT(11) NOT NULL DEFAULT 0 COMMENT '真钱金额(单位:分)',
`gift_amount` INT(11) NOT NULL DEFAULT 0 COMMENT '假钱金额(单位:分)',
`status` INT(11) NOT NULL DEFAULT 0 COMMENT '状态 0创建 1通过 2不通过 3失败',
`out_trade_no` VARCHAR(255) NOT NULL DEFAULT '' COMMENT '微信商户订单号',
`reply_at` DATETIME DEFAULT NULL COMMENT '批复时间',
`created_at` DATETIME DEFAULT NULL COMMENT '创建时间',
`updated_at` DATETIME DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`id`)
) ENGINE=INNODB DEFAULT CHARSET=utf8 COMMENT='钱包提现申请';
CREATE TABLE `payment` (
`id` CHAR(36) NOT NULL DEFAULT '',
`wallet_id` CHAR(36) NOT NULL DEFAULT '' COMMENT '钱包id',
`amount` INT(11) NOT NULL DEFAULT 0 COMMENT '金额 单位:分',
`status` INT(11) NOT NULL DEFAULT 0 COMMENT '状态 0初始化 1发起 2成功 3失败',
`out_trade_no` VARCHAR(255) NOT NULL DEFAULT '' COMMENT '微信商户订单号',
`recharge_scheme_id` INT(11) NOT NULL DEFAULT 0 COMMENT '充值模板id',
`created_at` DATETIME DEFAULT NULL,
`updated_at` DATETIME DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `idx_wallet_id` (`wallet_id`)
) ENGINE=INNODB DEFAULT CHARSET=utf8 COMMENT '充值记录';
CREATE TABLE `recharge_scheme` (
`id` INT(10) AUTO_INCREMENT,
`amount` INT(11) UNSIGNED NOT NULL DEFAULT '0' COMMENT '充值金额 单位:分',
`gift_amount` INT(11) UNSIGNED NOT NULL DEFAULT '0' COMMENT '赠送金额 单位:分',
`status` TINYINT(1) NOT NULL DEFAULT '0' COMMENT '是否可用',
`is_advice` TINYINT(1) NOT NULL DEFAULT '0' COMMENT '是否推荐',
`sort` INT(11) NOT NULL DEFAULT '0' COMMENT '排序(小的在前)',
`created_at` DATETIME DEFAULT NULL,
`updated_at` DATETIME DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `uk_amount` (`amount`)
) ENGINE=INNODB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT '充值设置';
<dependency>
<groupId>com.qingyangkeji.common</groupId>
<artifactId>ability-wallet</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
@MapperScan(basePackages = {
"com.qingyangkeji.common.ability.wallet.dao.mapper"
})