业务背景:电商业务中,需要给电商app设计一个用户钱包,用户可以往钱包中充值,购买商品时用户可以使用钱包中的钱消费,商品申请退款成功后钱会退回钱包中,用户也可以申请提现把钱提到银行卡中 用程序实现如下api接口 1. 查询用户钱包余额 2. 用户消费100元的接口 3. 用户退款20元接口 4. 查询用户钱包金额变动明细的接口 请给出建表语句和对应的代码(只要能实现上面api接口要求即可,不相关的表和代码不用写)
时间: 2023-03-14 21:54:31 浏览: 79
建表语句:CREATE TABLE wallet (
user_id INT NOT NULL,
balance INT NOT NULL,
change_detail TEXT,
PRIMARY KEY (user_id)
);代码:// 查询用户钱包余额
function queryBalance(userId) {
let sql = `SELECT balance FROM wallet WHERE user_id = ?`;
let params = [userId];
let result = db.query(sql, params);
return result;
}// 用户消费100元的接口
function consume(userId, amount) {
let sql = `UPDATE wallet SET balance = balance - ? WHERE user_id = ?`;
let params = [amount, userId];
let result = db.query(sql, params);
return result;
}// 用户退款20元接口
function refund(userId, amount) {
let sql = `UPDATE wallet SET balance = balance + ? WHERE user_id = ?`;
let params = [amount, userId];
let result = db.query(sql, params);
return result;
}// 查询用户钱包金额变动明细的接口
function queryChangeDetail(userId) {
let sql = `SELECT change_detail FROM wallet WHERE user_id = ?`;
let params = [userId];
let result = db.query(sql, params);
return result;
}