Skip to content

new0hand/ability-wallet

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 

Repository files navigation

钱包能力

功能设计

https://funxi.yuque.com/gwoym1/cgc2f5/il2pl5

使用说明

1、SQL

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 '充值设置';

2、pom.xml

<dependency>
    <groupId>com.qingyangkeji.common</groupId>
    <artifactId>ability-wallet</artifactId>
    <version>0.0.1-SNAPSHOT</version>
</dependency>

3、SpringBoot启动类 @MapperScan扫描该路径

@MapperScan(basePackages = {
        "com.qingyangkeji.common.ability.wallet.dao.mapper"
})

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages