
本项目经费43000元,需求文档如下,工期25天,目前已经过了8天,时间不多了,我们需要在2月27日之前完成,此前这里日期写错了,写的是17号。
前端vue.js 前端客户端框架 uniapp-x 服务端 java 后台管理 java+vue java框架选择:若依框架 数据库:mysql 版本要求5.7+ 推荐版本:8.0 JDK版本 1.8+ node版本 12+
卓伊凡的环境为jdk17,node18,mysql8.0
菜单列的开发部分 在系统管理这部分

对已经设计的数据库结构,进行转换
以下是我们在第二篇幅设计的数据库
user_id (INT, PRIMARY KEY, AUTO_INCREMENT)username (VARCHAR, UNIQUE)password (VARCHAR)email (VARCHAR, UNIQUE)created_at (TIMESTAMP)point_id (INT, PRIMARY KEY, AUTO_INCREMENT)user_id (INT, FOREIGN KEY -> users.user_id)current_points (INT)last_updated (TIMESTAMP)history_id (INT, PRIMARY KEY, AUTO_INCREMENT)user_id (INT, FOREIGN KEY -> users.user_id)change_type (ENUM(‘source’, ‘consume’))source_type (VARCHAR, NULL)consume_type (VARCHAR, NULL)points_changed (INT)timestamp (TIMESTAMP)notes (VARCHAR, NULL)transfer_id (INT, PRIMARY KEY, AUTO_INCREMENT)sender_id (INT, FOREIGN KEY -> users.user_id)receiver_id (INT, FOREIGN KEY -> users.user_id)transfer_points (INT)transfer_notes (VARCHAR)transfer_timestamp (TIMESTAMP)status (ENUM(‘pending’, ‘confirmed’, ‘failed’))channel_id (INT, PRIMARY KEY, AUTO_INCREMENT)channel_name (VARCHAR)commission_rate (DECIMAL(5, 2))created_at (TIMESTAMP)commission_id (INT, PRIMARY KEY, AUTO_INCREMENT)channel_id (INT, FOREIGN KEY -> channels.channel_id)user_id (INT, FOREIGN KEY -> users.user_id)amount (DECIMAL(10, 2))commission_type (ENUM(‘platform’, ‘user’))status (ENUM(‘pending’, ‘completed’))timestamp (TIMESTAMP)sync_id (INT, PRIMARY KEY, AUTO_INCREMENT)user_id (INT, FOREIGN KEY -> users.user_id)sync_points (INT)sync_timestamp (TIMESTAMP)status (ENUM(‘pending’, ‘completed’))recharge_id (INT, PRIMARY KEY, AUTO_INCREMENT)user_id (INT, FOREIGN KEY -> users.user_id)amount (DECIMAL(10, 2))recharge_timestamp (TIMESTAMP)status (ENUM(‘pending’, ‘completed’))withdrawal_id (INT, PRIMARY KEY, AUTO_INCREMENT)user_id (INT, FOREIGN KEY -> users.user_id)amount (DECIMAL(10, 2))withdrawal_timestamp (TIMESTAMP)status (ENUM(‘pending’, ‘completed’))ok 我们做成为可用的数据库表sql创建表sql语句:
-- 用户表
CREATE TABLE users (
user_id INT AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(255) UNIQUE,
password VARCHAR(255),
email VARCHAR(255) UNIQUE,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
-- 积分表
CREATE TABLE points (
point_id INT AUTO_INCREMENT PRIMARY KEY,
user_id INT,
current_points INT,
last_updated TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (user_id) REFERENCES users(user_id)
);
-- 积分来源与消耗记录表
CREATE TABLE points_history (
history_id INT AUTO_INCREMENT PRIMARY KEY,
user_id INT,
change_type ENUM('source', 'consume'),
source_type VARCHAR(255),
consume_type VARCHAR(255),
points_changed INT,
timestamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
notes VARCHAR(255),
FOREIGN KEY (user_id) REFERENCES users(user_id)
);
-- 转账记录表
CREATE TABLE transfers (
transfer_id INT AUTO_INCREMENT PRIMARY KEY,
sender_id INT,
receiver_id INT,
transfer_points INT,
transfer_notes VARCHAR(255),
transfer_timestamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
status ENUM('pending', 'confirmed', 'failed'),
FOREIGN KEY (sender_id) REFERENCES users(user_id),
FOREIGN KEY (receiver_id) REFERENCES users(user_id)
);
-- 分佣渠道包表
CREATE TABLE channels (
channel_id INT AUTO_INCREMENT PRIMARY KEY,
channel_name VARCHAR(255),
commission_rate DECIMAL(5, 2),
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
-- 抽佣记录表
CREATE TABLE commission (
commission_id INT AUTO_INCREMENT PRIMARY KEY,
channel_id INT,
user_id INT,
amount DECIMAL(10, 2),
commission_type ENUM('platform', 'user'),
status ENUM('pending', 'completed'),
timestamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (channel_id) REFERENCES channels(channel_id),
FOREIGN KEY (user_id) REFERENCES users(user_id)
);
-- 线下积分同步记录表
CREATE TABLE offline_sync (
sync_id INT AUTO_INCREMENT PRIMARY KEY,
user_id INT,
sync_points INT,
sync_timestamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
status ENUM('pending', 'completed'),
FOREIGN KEY (user_id) REFERENCES users(user_id)
);
-- 积分充值记录表
CREATE TABLE recharge (
recharge_id INT AUTO_INCREMENT PRIMARY KEY,
user_id INT,
amount DECIMAL(10, 2),
recharge_timestamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
status ENUM('pending', 'completed'),
FOREIGN KEY (user_id) REFERENCES users(user_id)
);
-- 积分提取记录表
CREATE TABLE withdrawals (
withdrawal_id INT AUTO_INCREMENT PRIMARY KEY,
user_id INT,
amount DECIMAL(10, 2),
withdrawal_timestamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
status ENUM('pending', 'completed'),
FOREIGN KEY (user_id) REFERENCES users(user_id)
);
在系统工具-代码生成-创建这里
对于数据库的详细设计内容还需要在下篇来分析逻辑。
首先我们再来看看整理好的后台需求大纲文档
我们了解了菜单列如何创建,根据目前的后台需求信息,创建的菜单列分析应该为:
* 积分充值记录
* 积分提取记录因此,我们创建用户管理,积分管理,线下积分管理,积分审计与安全,积分充值与提取五项菜单。

主菜单列创建完成,下一篇详细构建后台管理功能以及对应数据库关联关系。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。