首页 分享 【04】Java+若依+vue.js技术栈实现钱包积分管理系统项目

【04】Java+若依+vue.js技术栈实现钱包积分管理系统项目

来源:萌宠菠菠乐园 时间:2025-02-11 22:10

【04】Java+若依+vue.js技术栈实现钱包积分管理系统项目-若依框架二次开发准备工作-以及建立初步后端目录菜单列-优雅草卓伊凡商业项目实战

项目背景

本项目经费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

项目实战:

若依二次开发筹备

菜单列的开发部分 在系统管理这部分

对已经设计的数据库结构,进行转换

以下是我们在第二篇幅设计的数据库

数据库表设计 用户表 (users) user_id (INT, PRIMARY KEY, AUTO_INCREMENT)username (VARCHAR, UNIQUE)password (VARCHAR)email (VARCHAR, UNIQUE)created_at (TIMESTAMP) 积分表 (points) point_id (INT, PRIMARY KEY, AUTO_INCREMENT)user_id (INT, FOREIGN KEY -> users.user_id)current_points (INT)last_updated (TIMESTAMP) 积分来源与消耗记录表 (points_history) 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) 转账记录表 (transfers) 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’)) 分佣渠道包表 (channels) channel_id (INT, PRIMARY KEY, AUTO_INCREMENT)channel_name (VARCHAR)commission_rate (DECIMAL(5, 2))created_at (TIMESTAMP) 抽佣记录表 (commission) 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) 线下积分同步记录表 (offline_sync) 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) 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’)) 积分提取记录表 (withdrawals) 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)

);

在系统工具-代码生成-创建这里

对于数据库的详细设计内容还需要在下篇来分析逻辑。

设计菜单列

首先我们再来看看整理好的后台需求大纲文档

后端管理端功能需求 4.1 用户积分管理 查看所有用户的积分信息搜索特定用户积分管理功能 4.2 积分来源管理 来源类型积分分配规则调整策略 4.3 积分消耗管理 跟踪并记录消耗消耗类型积分扣除规则积分消费记录 4.4 线下积分同步功能 线下积分更新接口定期同步同步记录查看 4.5 积分审计与安全 日志记录安全性异常检测 6. 积分充值与提取功能(网站系统与线下机器交互) 6.1 功能概述 介绍积分充值和提取功能 6.2 积分充值功能 系统连接充值流程 6.3 积分提取功能 系统连接提取流程 6.4 积分充值相关 API 接口详细文档 接口设计原则接口文档内容

我们了解了菜单列如何创建,根据目前的后台需求信息,创建的菜单列分析应该为:

菜单结构 用户管理 查看所有用户列表搜索特定用户 积分管理 积分来源管理 来源类型配置 积分消耗管理 跟踪并记录消耗消耗类型积分消费记录 线下积分管理 线下积分同步 线下积分更新接口同步记录查看 积分审计与安全 积分日志记录 积分充值与提取

* 积分充值记录

* 积分提取记录

因此,我们创建用户管理,积分管理,线下积分管理,积分审计与安全,积分充值与提取五项菜单。

主菜单列创建完成,下一篇详细构建后台管理功能以及对应数据库关联关系。

相关知识

flask毕设宠物店管理系统(论文+程序)
flask框架宠物店管理系统毕设源码+论文
flask毕设宠物酒店管理系统设计与实现(论文+程序)
(开题)flask框架宠物店管理系统的设计与实现(程序+论文+python)
【2024】基于springboot的宠物领养管理系统设计与实现研究思路
jsp爱宠宠物医院管理系统设计与实现0685i
python毕设瑞奇宠物店宠物寄存管理系统的设计与实现x0ax1程序+论文
基于nodejs+vue宠物救助管理系统的设计与实现[程序+论文+开题]
(开题)flask框架技术的宠物领养系统设计与实现(程序+论文+python)
jsp宠物医院管理系统的设计与实现q5n20

网址: 【04】Java+若依+vue.js技术栈实现钱包积分管理系统项目 https://www.mcbbbk.com/newsview1059143.html

所属分类:萌宠日常
上一篇: 津南区海棠街:绘就文明画卷,共建
下一篇: 学校买的学平险被猫抓了怎么报销

推荐分享