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

发布于:2025-02-12 ⋅ 阅读:(45) ⋅ 点赞:(0)

【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)
  1. 积分表 (points)
    • point_id (INT, PRIMARY KEY, AUTO_INCREMENT)
    • user_id (INT, FOREIGN KEY -> users.user_id)
    • current_points (INT)
    • last_updated (TIMESTAMP)
  1. 积分来源与消耗记录表 (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)
  1. 转账记录表 (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’))
  1. 分佣渠道包表 (channels)
    • channel_id (INT, PRIMARY KEY, AUTO_INCREMENT)
    • channel_name (VARCHAR)
    • commission_rate (DECIMAL(5, 2))
    • created_at (TIMESTAMP)
  1. 抽佣记录表 (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)
  1. 线下积分同步记录表 (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’))
  1. 积分充值记录表 (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’))
  1. 积分提取记录表 (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 接口详细文档
  • 接口设计原则
  • 接口文档内容

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

菜单结构

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


*   积分提取记录

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

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