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

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

【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语句:

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

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

设计菜单列

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

后端管理端功能需求

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. 积分充值与提取

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

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

目录
相关文章
|
20天前
|
JSON 自然语言处理 前端开发
【01】对APP进行语言包功能开发-APP自动识别地区ip后分配对应的语言功能复杂吗?-成熟app项目语言包功能定制开发-前端以uniapp-基于vue.js后端以laravel基于php为例项目实战-优雅草卓伊凡
【01】对APP进行语言包功能开发-APP自动识别地区ip后分配对应的语言功能复杂吗?-成熟app项目语言包功能定制开发-前端以uniapp-基于vue.js后端以laravel基于php为例项目实战-优雅草卓伊凡
119 72
【01】对APP进行语言包功能开发-APP自动识别地区ip后分配对应的语言功能复杂吗?-成熟app项目语言包功能定制开发-前端以uniapp-基于vue.js后端以laravel基于php为例项目实战-优雅草卓伊凡
|
1月前
|
前端开发 JavaScript Java
【03】Java+若依+vue.js技术栈实现钱包积分管理系统项目-若依框架搭建-服务端-后台管理-整体搭建-优雅草卓伊凡商业项目实战
【03】Java+若依+vue.js技术栈实现钱包积分管理系统项目-若依框架搭建-服务端-后台管理-整体搭建-优雅草卓伊凡商业项目实战
148 13
【03】Java+若依+vue.js技术栈实现钱包积分管理系统项目-若依框架搭建-服务端-后台管理-整体搭建-优雅草卓伊凡商业项目实战
|
1月前
|
网络协议 Java Shell
java spring 项目若依框架启动失败,启动不了服务提示端口8080占用escription: Web server failed to start. Port 8080 was already in use. Action: Identify and stop the process that’s listening on port 8080 or configure this application to listen on another port-优雅草卓伊凡解决方案
java spring 项目若依框架启动失败,启动不了服务提示端口8080占用escription: Web server failed to start. Port 8080 was already in use. Action: Identify and stop the process that’s listening on port 8080 or configure this application to listen on another port-优雅草卓伊凡解决方案
83 7
|
1月前
|
缓存 Java 应用服务中间件
java语言后台管理若依框架-登录提示404-接口异常-系统接口404异常如何处理-登录验证码不显示prod-api/captchaImage 404 (Not Found) 如何处理-解决方案优雅草卓伊凡
java语言后台管理若依框架-登录提示404-接口异常-系统接口404异常如何处理-登录验证码不显示prod-api/captchaImage 404 (Not Found) 如何处理-解决方案优雅草卓伊凡
224 5
|
27天前
|
存储 监控 Java
【Java并发】【线程池】带你从0-1入门线程池
欢迎来到我的技术博客!我是一名热爱编程的开发者,梦想是编写高端CRUD应用。2025年我正在沉淀中,博客更新速度加快,期待与你一起成长。 线程池是一种复用线程资源的机制,通过预先创建一定数量的线程并管理其生命周期,避免频繁创建/销毁线程带来的性能开销。它解决了线程创建成本高、资源耗尽风险、响应速度慢和任务执行缺乏管理等问题。
162 60
【Java并发】【线程池】带你从0-1入门线程池
|
16天前
|
存储 网络协议 安全
Java网络编程,多线程,IO流综合小项目一一ChatBoxes
**项目介绍**:本项目实现了一个基于TCP协议的C/S架构控制台聊天室,支持局域网内多客户端同时聊天。用户需注册并登录,用户名唯一,密码格式为字母开头加纯数字。登录后可实时聊天,服务端负责验证用户信息并转发消息。 **项目亮点**: - **C/S架构**:客户端与服务端通过TCP连接通信。 - **多线程**:采用多线程处理多个客户端的并发请求,确保实时交互。 - **IO流**:使用BufferedReader和BufferedWriter进行数据传输,确保高效稳定的通信。 - **线程安全**:通过同步代码块和锁机制保证共享数据的安全性。
67 23
|
23天前
|
Java 调度
【源码】【Java并发】【线程池】邀请您从0-1阅读ThreadPoolExecutor源码
当我们创建一个`ThreadPoolExecutor`的时候,你是否会好奇🤔,它到底发生了什么?比如:我传的拒绝策略、线程工厂是啥时候被使用的? 核心线程数是个啥?最大线程数和它又有什么关系?线程池,它是怎么调度,我们传入的线程?...不要着急,小手手点上关注、点赞、收藏。主播马上从源码的角度带你们探索神秘线程池的世界...
94 0
【源码】【Java并发】【线程池】邀请您从0-1阅读ThreadPoolExecutor源码
|
1月前
|
Java 程序员 开发者
Java社招面试题:一个线程运行时发生异常会怎样?
大家好,我是小米。今天分享一个经典的 Java 面试题:线程运行时发生异常,程序会怎样处理?此问题考察 Java 线程和异常处理机制的理解。线程发生异常,默认会导致线程终止,但可以通过 try-catch 捕获并处理,避免影响其他线程。未捕获的异常可通过 Thread.UncaughtExceptionHandler 处理。线程池中的异常会被自动处理,不影响任务执行。希望这篇文章能帮助你深入理解 Java 线程异常处理机制,为面试做好准备。如果你觉得有帮助,欢迎收藏、转发!
136 14
|
1月前
|
安全 Java 程序员
Java 面试必问!线程构造方法和静态块的执行线程到底是谁?
大家好,我是小米。今天聊聊Java多线程面试题:线程类的构造方法和静态块是由哪个线程调用的?构造方法由创建线程实例的主线程调用,静态块在类加载时由主线程调用。理解这些细节有助于掌握Java多线程机制。下期再见! 简介: 本文通过一个常见的Java多线程面试题,详细讲解了线程类的构造方法和静态块是由哪个线程调用的。构造方法由创建线程实例的主线程调用,静态块在类加载时由主线程调用。理解这些细节对掌握Java多线程编程至关重要。
61 13
|
1月前
|
安全 Java 开发者
【JAVA】封装多线程原理
Java 中的多线程封装旨在简化使用、提高安全性和增强可维护性。通过抽象和隐藏底层细节,提供简洁接口。常见封装方式包括基于 Runnable 和 Callable 接口的任务封装,以及线程池的封装。Runnable 适用于无返回值任务,Callable 支持有返回值任务。线程池(如 ExecutorService)则用于管理和复用线程,减少性能开销。示例代码展示了如何实现这些封装,使多线程编程更加高效和安全。