项目背景 本项目经费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 项目实战:若依二次开发筹备菜单列的开发部分 在系统管理这部分 对已经设计的数据库结构,进行转换 以下是我们在第二篇幅设计的数据库 数据库表设计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));在系统工具-代码生成-创建这里 对于数据库的详细设计内容还需要在下篇来分析逻辑。 设计菜单列首先我们再来看看整理好的后台需求大纲文档 后端管理端功能需求4.1 用户积分管理4.2 积分来源管理4.3 积分消耗管理4.4 线下积分同步功能4.5 积分审计与安全6. 积分充值与提取功能(网站系统与线下机器交互)6.1 功能概述6.2 积分充值功能6.3 积分提取功能6.4 积分充值相关 API 接口详细文档我们了解了菜单列如何创建,根据目前的后台需求信息,创建的菜单列分析应该为: 菜单结构* 积分充值记录* 积分提取记录因此,我们创建用户管理,积分管理,线下积分管理,积分审计与安全,积分充值与提取五项菜单。 主菜单列创建完成,下一篇详细构建后台管理功能以及对应数据库关联关系。
|