# walletDemo **Repository Path**: fgc2000/walletDemo ## Basic Information - **Project Name**: walletDemo - **Description**: 业务背景:电商业务中,需要给电商app设计一个用户钱包,用户可以往钱包中充值,购买商品时用户可以使用钱包中的钱消费,商品申请退款成功后钱会退回钱包中,用户也可以申请提现把钱提到银行卡中 用程序实现如下api接口 1. 查询用户钱包余额 2. 用户消费100元的接口 3. 用户退款20元接口 4. 查询用户钱包金额变动明细的接口 - **Primary Language**: Unknown - **License**: GPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-02-18 - **Last Updated**: 2023-02-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 工程简介 业务背景:电商业务中,需要给电商app设计一个用户钱包,用户可以往钱包中充值,购买商品时用户可以使用钱包中的钱消费,商品申请退款成功后钱会退回钱包中,用户也可以申请提现把钱提到银行卡中 用程序实现如下api接口 1. 查询用户钱包余额 2. 用户消费100元的接口 3. 用户退款20元接口 4. 查询用户钱包金额变动明细的接口 # 延伸阅读 springboot + mybatis + sawwger2 表: wallet(钱包表):记录用户余额 orders(订单表):记录订单信息,包含商品名称,金额,类型(消费1,还是退款2) record(消费记录表):记录了用户余额的变化 bank_card(银行卡表):记录用户绑定的银行卡,银行卡余额 建表语句 CREATE TABLE `wallet` ( `id` int(11) NOT NULL AUTO_INCREMENT, `username` varchar(32) COLLATE utf8_bin DEFAULT NULL, `balance` decimal(12,0) NOT NULL, `updatetime` datetime DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COLLATE=utf8_bin; CREATE TABLE `orders` ( `oid` int(11) NOT NULL AUTO_INCREMENT, `commodity` varchar(32) COLLATE utf8_bin DEFAULT NULL, `status` char(32) COLLATE utf8_bin NOT NULL, `money` decimal(12,0) DEFAULT NULL, `createTime` datetime DEFAULT NULL, `wid` int(11) DEFAULT NULL, PRIMARY KEY (`oid`) ) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8 COLLATE=utf8_bin; CREATE TABLE `record` ( `rid` int(11) NOT NULL AUTO_INCREMENT, `money` decimal(12,0) DEFAULT NULL, `balance` decimal(12,0) DEFAULT NULL, `rType` char(32) COLLATE utf8_bin DEFAULT NULL, `createTime` datetime DEFAULT NULL, `wid` int(11) DEFAULT NULL, PRIMARY KEY (`rid`) ) ENGINE=InnoDB AUTO_INCREMENT=14 DEFAULT CHARSET=utf8 COLLATE=utf8_bin; CREATE TABLE `bank_card` ( `bid` int(11) NOT NULL AUTO_INCREMENT, `cardNo` varchar(32) COLLATE utf8_bin DEFAULT NULL, `balance` decimal(12,0) DEFAULT NULL, `wid` int(11) DEFAULT NULL, `updateTime` datetime DEFAULT NULL, PRIMARY KEY (`bid`) ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COLLATE=utf8_bin; INSERT INTO `wallet` VALUES ('1', 'usera', '150', '2022-12-21 14:19:03'); INSERT INTO `bank_card` VALUES ('1', '123456', '130', '1', '2022-12-21 14:19:03'); INSERT INTO `record` VALUES ('8', '10', '90', '1', '2022-12-21 13:50:26', '1'); INSERT INTO `record` VALUES ('9', '10', '80', '1', '2022-12-21 14:05:45', '1'); INSERT INTO `record` VALUES ('10', '10', '70', '1', '2022-12-21 14:08:29', '1'); INSERT INTO `record` VALUES ('11', '10', '80', '2', '2022-12-21 14:11:00', '1'); INSERT INTO `record` VALUES ('12', '30', '50', '4', '2022-12-21 14:17:10', '1'); INSERT INTO `record` VALUES ('13', '100', '150', '3', '2022-12-21 14:19:03', '1'); INSERT INTO `orders` VALUES ('6', '西红柿', '2', '10', '2022-12-21 13:50:26', '1'); INSERT INTO `orders` VALUES ('7', '土豆', '1', '10', '2022-12-21 14:05:45', '1');