【原创唯一】基于SpringBoot+Vue+AI大模型的高校新生迎新报到系统
摘要:本文设计并实现了高校迎新报到管理系统。系统面向管理员、志愿者、新生,覆盖社团信息维护、成员与活动管理、经费申请与财务审批、公告发布及数据统计等业务模块,采用Spring Boot 框架、MyBatis 持久层、JWT 身份认证、MySQL 数据库、Vue 前端技术等技术完成前后端分离实现,包含约15张数据表与18组业务接口。需求分析明确多角色权限边界与核心流程;系统设计给出总体架构、数据库表结构与REST接口;并对活跃度评分、AI活动策划、经费多级审批、活动报名名额控制等重点功能给出实现说明。通过功能与流程测试验证主要业务可闭环运行,能够支撑高校社团日常管理与经费审批演示需求。需求分析明确管理员、志愿者、新生的权限边界与核心业务流程;系统设计给出总体架构、数据库表结构与REST接口划分;并对系统重点业务模块的实现思路进行说明。经功能与流程测试验证,主要业务可闭环运行,能够支撑高校迎新报到管理系统的演示与应用需求,为同类信息化系统建设提供参考。
技术栈: Spring Boot 3 + MyBatis-Plus + MySQL + Vue 3 + Element Plus + AI大模型
数据库表:15张
创新点:报到流程可视化与自助确认、绿色通道在线申请与审核联动、宿舍在线选择与室友信息展示、AI大模型迎新智能问答辅助报到
演示视频
高校新生迎新报到系统
🍅文末获取联系🍅
🍅文末获取联系🍅
作者介绍:专注计算机编程,个人开发,坚持原创,非工作室,源码全网唯一。
✅ 技术主流:SpringBoot + Vue 前后端分离,MySQL,AI大模型,可本地运行
✅ 配套资料:源码 + 数据库 + 实验报告/论文 + 答辩 PPT+部署演示+远程调试+问题解答
技术范围:SpringBoot、Vue、数据可视化、小程序、HLMT、Nodejs、uni-app、MySQL数据库、ElementUi等设计与开发。
适用范围:软件工程、软件技术、计算机科学与技术、大数据、云计算、JavaWeb开发、JavaEE、Java、Web应用开发、动态网页设计、小程序的毕设参考
开发文档:创新点说明、功能需求分析、数据库表结构设计、后端接口设计、创新点代码分析




功能展示
新生






志愿者



管理员





数据库及架构
系统数据库设计为:


数据库设计:
/*
Navicat Premium Data Transfer
Source Server : 1
Source Server Type : MySQL
Source Server Version : 50722
Source Host : localhost:3306
Source Schema : 1vuez_orientation_system
Target Server Type : MySQL
Target Server Version : 50722
File Encoding : 65001
Date: 17/08/2026 20:46:42
*/
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
-- ----------------------------
-- Table structure for admins
-- ----------------------------
DROP TABLE IF EXISTS `admins`;
CREATE TABLE `admins` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
`username` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '账号',
`password` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '密码',
`name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '姓名',
`phone` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '手机号',
`enabled` tinyint(4) NULL DEFAULT 1 COMMENT '是否启用:0禁用/1启用',
PRIMARY KEY (`id`) USING BTREE,
UNIQUE INDEX `username`(`username`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 3 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '管理员' ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Table structure for batches
-- ----------------------------
DROP TABLE IF EXISTS `batches`;
CREATE TABLE `batches` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
`name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '批次名称',
`year` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '学年',
`start_date` date NULL DEFAULT NULL COMMENT '开始日期',
`end_date` date NULL DEFAULT NULL COMMENT '结束日期',
`status` tinyint(4) NULL DEFAULT 1 COMMENT '状态:0关闭/1开放',
`description` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '说明',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 3 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '迎新批次' ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Table structure for consults
-- ----------------------------
DROP TABLE IF EXISTS `consults`;
CREATE TABLE `consults` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
`freshman_id` bigint(20) NOT NULL COMMENT '新生',
`volunteer_id` bigint(20) NULL DEFAULT NULL COMMENT '志愿者',
`question` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '咨询问题',
`answer` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '回复内容',
`status` tinyint(4) NULL DEFAULT 0 COMMENT '状态:0待回复/1已回复/2已上报',
`report_remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '上报说明',
`created_at` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '咨询时间',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 4 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '在线咨询' ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Table structure for dorm_buildings
-- ----------------------------
DROP TABLE IF EXISTS `dorm_buildings`;
CREATE TABLE `dorm_buildings` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
`name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '楼栋名称',
`gender_type` tinyint(4) NULL DEFAULT NULL COMMENT '性别限制:0女/1男',
`floors` int(11) NULL DEFAULT NULL COMMENT '楼层数',
`description` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '说明',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 4 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '宿舍楼' ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Table structure for dorm_rooms
-- ----------------------------
DROP TABLE IF EXISTS `dorm_rooms`;
CREATE TABLE `dorm_rooms` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
`building_id` bigint(20) NOT NULL COMMENT '所属楼栋',
`room_no` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '房间号',
`capacity` int(11) NULL DEFAULT 4 COMMENT '床位数',
`occupied` int(11) NULL DEFAULT 0 COMMENT '已入住',
`gender_type` tinyint(4) NULL DEFAULT NULL COMMENT '性别限制:0女/1男',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 6 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '宿舍房间' ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Table structure for freshmen
-- ----------------------------
DROP TABLE IF EXISTS `freshmen`;
CREATE TABLE `freshmen` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
`username` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '账号',
`password` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '密码',
`name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '姓名',
`student_no` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '学号',
`gender` tinyint(4) NULL DEFAULT NULL COMMENT '性别:0女/1男',
`phone` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '手机号',
`id_card` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '身份证号',
`college` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '学院',
`major` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '专业',
`avatar` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '头像',
`batch_id` bigint(20) NULL DEFAULT NULL COMMENT '迎新批次',
`dorm_room_id` bigint(20) NULL DEFAULT NULL COMMENT '宿舍房间',
`report_status` tinyint(4) NULL DEFAULT 0 COMMENT '报到状态:0未开始/1进行中/2已完成',
`enabled` tinyint(4) NULL DEFAULT 1 COMMENT '是否启用:0禁用/1启用',
PRIMARY KEY (`id`) USING BTREE,
UNIQUE INDEX `username`(`username`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 6 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '新生' ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Table structure for green_channels
-- ----------------------------
DROP TABLE IF EXISTS `green_channels`;
CREATE TABLE `green_channels` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
`freshman_id` bigint(20) NOT NULL COMMENT '新生',
`reason` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '申请原因',
`material_images` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '证明材料',
`status` tinyint(4) NULL DEFAULT 0 COMMENT '状态:0待审核/1通过/2驳回',
`review_remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '审核备注',
`created_at` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '申请时间',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 4 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '绿色通道' ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Table structure for messages
-- ----------------------------
DROP TABLE IF EXISTS `messages`;
CREATE TABLE `messages` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
`sender_id` bigint(20) NULL DEFAULT NULL COMMENT '发送人',
`receiver_id` bigint(20) NOT NULL COMMENT '接收人',
`receiver_role` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '接收人角色:FRESHMAN/VOLUNTEER/ADMIN',
`title` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '标题',
`content` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '内容',
`read_flag` tinyint(4) NULL DEFAULT 0 COMMENT '是否已读:0未读/1已读',
`ref_type` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '关联类型',
`ref_id` bigint(20) NULL DEFAULT NULL COMMENT '关联对象',
`created_at` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '发送时间',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 4 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '系统消息' ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Table structure for notices
-- ----------------------------
DROP TABLE IF EXISTS `notices`;
CREATE TABLE `notices` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
`title` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '标题',
`content` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '内容',
`status` tinyint(4) NULL DEFAULT 1 COMMENT '状态:0草稿/1已发布',
`created_at` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '发布时间',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 4 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '迎新公告' ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Table structure for payment_rules
-- ----------------------------
DROP TABLE IF EXISTS `payment_rules`;
CREATE TABLE `payment_rules` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
`batch_id` bigint(20) NOT NULL COMMENT '所属批次',
`item_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '缴费项目',
`amount` decimal(10, 2) NOT NULL COMMENT '金额',
`sort_order` int(11) NULL DEFAULT 0 COMMENT '排序',
`required_flag` tinyint(4) NULL DEFAULT 1 COMMENT '是否必缴:0否/1是',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 4 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '缴费规则' ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Table structure for payments
-- ----------------------------
DROP TABLE IF EXISTS `payments`;
CREATE TABLE `payments` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
`freshman_id` bigint(20) NOT NULL COMMENT '新生',
`rule_id` bigint(20) NULL DEFAULT NULL COMMENT '缴费规则',
`item_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '缴费项目',
`amount` decimal(10, 2) NOT NULL COMMENT '金额',
`status` tinyint(4) NULL DEFAULT 0 COMMENT '状态:0未缴/1已缴',
`paid_at` datetime NULL DEFAULT NULL COMMENT '缴费时间',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 16 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '缴费记录' ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Table structure for registration_progress
-- ----------------------------
DROP TABLE IF EXISTS `registration_progress`;
CREATE TABLE `registration_progress` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
`freshman_id` bigint(20) NOT NULL COMMENT '新生',
`step_id` bigint(20) NOT NULL COMMENT '报到环节',
`status` tinyint(4) NULL DEFAULT 0 COMMENT '状态:0未开始/2已完成',
`operator_id` bigint(20) NULL DEFAULT NULL COMMENT '操作人',
`operator_role` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '操作角色:FRESHMAN/VOLUNTEER/ADMIN',
`remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注',
`completed_at` datetime NULL DEFAULT NULL COMMENT '完成时间',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 26 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '报到进度' ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Table structure for registration_steps
-- ----------------------------
DROP TABLE IF EXISTS `registration_steps`;
CREATE TABLE `registration_steps` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
`batch_id` bigint(20) NOT NULL COMMENT '所属批次',
`step_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '环节名称',
`step_order` int(11) NULL DEFAULT 0 COMMENT '排序',
`location` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '办理地点',
`description` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '说明',
`required_flag` tinyint(4) NULL DEFAULT 1 COMMENT '是否必办:0否/1是',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 6 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '报到环节' ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Table structure for volunteer_assigns
-- ----------------------------
DROP TABLE IF EXISTS `volunteer_assigns`;
CREATE TABLE `volunteer_assigns` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
`volunteer_id` bigint(20) NOT NULL COMMENT '志愿者',
`batch_id` bigint(20) NOT NULL COMMENT '迎新批次',
`station_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '岗位名称',
`location` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '岗位地点',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 4 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '志愿者分配' ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Table structure for volunteers
-- ----------------------------
DROP TABLE IF EXISTS `volunteers`;
CREATE TABLE `volunteers` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
`username` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '账号',
`password` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '密码',
`name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '姓名',
`student_no` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '学号',
`phone` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '手机号',
`avatar` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '头像',
`batch_id` bigint(20) NULL DEFAULT NULL COMMENT '负责批次',
`enabled` tinyint(4) NULL DEFAULT 1 COMMENT '是否启用:0禁用/1启用',
PRIMARY KEY (`id`) USING BTREE,
UNIQUE INDEX `username`(`username`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 4 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '迎新志愿者' ROW_FORMAT = DYNAMIC;
SET FOREIGN_KEY_CHECKS = 1;
擅长:功能设计、开题报告、任务书、中期检查PPT、系统功能实现、代码编写、论文编写和辅导、论文降重、长期答辩答疑辅导、腾讯会议一对一专业讲解辅导答辩、模拟答辩演练、和理解代码逻辑思路等。
获取联系
项目功能完整,可在本地运行,并可远程调试,确保运行顺利!
👇🏻👇🏻获取联系方式👇🏻👇🏻
毕业设计获取
https://blog.csdn.net/qq_59059632/article/details/163759879?spm=1011.2415.3001.5331
更多推荐

所有评论(0)