摘要:本文设计并实现了高校迎新报到管理系统。系统面向管理员、志愿者、新生,覆盖社团信息维护、成员与活动管理、经费申请与财务审批、公告发布及数据统计等业务模块,采用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

更多推荐