首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >【04】Java+若依+vue.js技术栈实现钱包积分管理系统项目-若依框架二次开发准备工作-以及建立初步后端目录菜单列-优雅草卓伊凡商业项目实战

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

原创
作者头像
卓伊凡
发布2025-02-09 02:56:08
发布2025-02-09 02:56:08
3390
举报

【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

项目实战:

若依二次开发筹备

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

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

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

数据库表设计

  1. 用户表 (users)
    • user_id (INT, PRIMARY KEY, AUTO_INCREMENT)
    • username (VARCHAR, UNIQUE)
    • password (VARCHAR)
    • email (VARCHAR, UNIQUE)
    • created_at (TIMESTAMP)
  2. 积分表 (points)
    • point_id (INT, PRIMARY KEY, AUTO_INCREMENT)
    • user_id (INT, FOREIGN KEY -> users.user_id)
    • current_points (INT)
    • last_updated (TIMESTAMP)
  3. 积分来源与消耗记录表 (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)
  4. 转账记录表 (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’))
  5. 分佣渠道包表 (channels)
    • channel_id (INT, PRIMARY KEY, AUTO_INCREMENT)
    • channel_name (VARCHAR)
    • commission_rate (DECIMAL(5, 2))
    • created_at (TIMESTAMP)
  6. 抽佣记录表 (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)
  7. 线下积分同步记录表 (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’))
  8. 积分充值记录表 (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’))
  9. 积分提取记录表 (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语句:

代码语言:javascript
复制
-- 用户表
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 接口详细文档
  • 接口设计原则
  • 接口文档内容

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

菜单结构

  1. 用户管理
    • 查看所有用户列表
    • 搜索特定用户
  2. 积分管理
    • 积分来源管理
      • 来源类型配置
    • 积分消耗管理
      • 跟踪并记录消耗
      • 消耗类型
      • 积分消费记录
  3. 线下积分管理
    • 线下积分同步
      • 线下积分更新接口
      • 同步记录查看
  4. 积分审计与安全
    • 积分日志记录
  5. 积分充值与提取
代码语言:javascript
复制
*   积分充值记录


*   积分提取记录

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

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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 【04】Java+若依+vue.js技术栈实现钱包积分管理系统项目-若依框架二次开发准备工作-以及建立初步后端目录菜单列-优雅草卓伊凡商业项目实战
  • 项目背景
    • 技术栈要求
  • 项目实战:
    • 若依二次开发筹备
      • 数据库表设计
    • 设计菜单列
      • 后端管理端功能需求
      • 6. 积分充值与提取功能(网站系统与线下机器交互)
      • 菜单结构
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档