【毕设源码二期01】校园失物招领系统:从发布线索到核验交接

校园里丢了校园卡、耳机或笔记,信息经常散落在不同群聊中。物品找到了谁保管,认领人凭什么证明归属,最后有没有完成交接,都需要有记录。

这个项目围绕一条完整流程展开:发布线索 → 审核公开 → 提交认领证据 → 管理员核验 → 线下交接 → 归档统计。规模按本科毕业设计收敛,提供 Spring Boot 后端和 React Web 页面,可以用于功能演示、权限设计和数据库事务方面的答辩。

本文截图来自当前分支的真实页面,统一为1440×900桌面视口。账号、物品及认领资料均为虚构演示数据。演示环境采用独立MySQL数据库;配套视频为真实网页完整功能操作录屏,使用百炼配音。

谁在使用系统

角色 主要操作
学生 发布寻物或拾物信息、检索大厅、查看本人发布、提交及跟进认领、撤回待核验申请
招领管理员 审核发布、核验认领、确认交接、撤销尚未交接的批准、人工归档及查看业务统计
系统管理能力 复用底座的用户、角色与菜单权限,可将招领管理权限分配给专职管理角色

本次截图使用admin与student01两个角色账号,另一个虚构学生账号参与流程。并未为了凑角色数量增加额外管理层级。

1. 角色与权限先分清

学生拥有业务入口,管理员额外拥有审核管理权限。菜单用于组织页面,接口仍独立检查权限和数据归属,不能仅凭"前端没有按钮"判断安全性。

学生不能通过修改请求访问管理员列表,也不能查看其他学生的待审发布或认领资料。专职招领管理员可以使用自定义角色,只分配必要的业务权限。

角色:管理员。角色管理页面沿用基础框架,可配置角色及菜单权限。

2. 管理员先看业务概览

工作台集中展示已发布、发布待审、待交接、已归还、已归档和认领待核验数量。管理员看到全校业务统计,学生看到本人发布状态及自己的待核验申请,两者统计范围不同。

大厅保留寻物和拾物两种信息,支持按类型、物品分类、状态以及标题或地点筛选。已经归还或归档的信息会显示对应状态,不再接受认领。

角色:管理员。图中已发布、待审核、待交接、已归还与归档状态均来自实际业务操作。

3. 发布信息先审核,驳回后可以修改重提

发布时分别填写公开描述和私密核验特征。公开描述用于提供线索,私密特征留给本人和管理员核验,避免把证明归属的答案直接公布出来。

管理员审核通过后信息进入大厅;信息不完整时可以填写理由驳回。发布者在"我的发布"中修改被驳回的信息并重新提交,历史处理动作仍留有记录。

角色:管理员。页面同时展示待发布审核、已驳回、已发布等状态及相应操作。

4. 认领通过后,还需要完成交接

申请人提交文字举证和联系方式,管理员将其与物品的私密特征核对。认领证据、联系方式、核验意见和交接说明只向申请人及管理员开放,拾物发布者不能直接查看他人的认领资料。

核验通过后,物品进入"待交接",其他待审申请关闭。管理员在线下核对认领人与实物后登记交接,申请显示"已交接",物品显示"已归还"。如果交接前发现核验不符,可填写理由撤销批准并释放物品。

角色:管理员。待核验、已交接和核验通过待交接是三个不同状态。

这里的技术重点是事务一致性:每次写操作先锁定物品,再检查和处理认领。两名管理员同时批准同一物品时,只能有一份申请成功保留物品;重复确认交接不会再次产生交接结果。

5. 流程结束后人工归档

寻物启事已经找到,或招领记录不再继续处理时,管理员可以对未保留的已发布记录填写原因并归档。仍在等待交接的物品不能直接归档,需要先完成交接或处理已批准的申请。

角色:管理员。图中寻物启事已通过实际归档操作结束,不是直接修改数据库状态。

6. 学生在大厅找线索

学生登录后直接进入失物招领。大厅可以看到公开信息和状态,不显示管理员审核入口。符合条件的已发布拾物可以申请认领;自己发布的物品、寻物启事以及已保留或结束的物品不接受认领。

角色:学生。管理员页签与系统管理菜单不会向学生开放。

7. 本人发布和本人认领分别跟进

"我的发布"用于跟进自己发布的信息。被驳回的内容提供"修改重提"入口,发布者可以根据审核意见补充资料。

角色:学生。只查询本人发布,并按状态提供可执行的操作。

"我的认领"用于跟进申请,查看核验及交接结果。待核验申请可以撤回;已关闭或驳回的申请保留历史,物品仍可认领时可以重新申请。

角色:学生。图中校园卡套已完成核验和线下交接。

技术栈与毕设展示点

  • 后端:Java 25、Spring Boot 4.0.6、MyBatis-Plus 3.5.15、Sa-Token 1.45.0。
  • 前端:React 18.3、TypeScript、Umi Max 4、Ant Design 5。
  • 数据库:MySQL 8.4.8,自动化测试同时使用H2。
  • 可讲解内容:角色权限、本人数据隔离、敏感字段投影、状态流转、父记录事务锁、重复提交与交接防重、操作留痕。

项目附数据库初始化与升级SQL、虚构演示数据和验证命令。已经完成后端回归、MySQL并发专项、前端lint、类型检查及生产构建,也通过浏览器验证了认领、核验和交接流程。

首版聚焦单校区、文字举证和人工归档,没有加入AI、即时聊天、图片附件、自动到期、真实支付或移动端业务。适合希望把一个业务闭环做完整、又能说明权限和事务设计的本科毕设。

演示视频与源码

观看完整功能演示视频

视频时长约3分41秒,包含真实网页操作与中文讲解;采用虚构演示数据。视频发布状态以B站页面为准。

下载校园失物招领系统源码

提取码:rrNv

源码包含项目运行需要的后端、前端、数据库脚本及启动说明。

相关推荐
vx_Biye_Design1 小时前
django房屋租赁推荐系统78455-计算机课程设计、毕业设计
vue.js·spring boot·后端·python·django·课程设计·express
Thomas.Sir3 小时前
第2课:SpringBoot4.x 项目构建:Maven/Gradle配置详解,父工程与依赖管理
java·spring boot
jay神4 小时前
基于 YOLOv8 与 Faster R-CNN 的盲道障碍检测系统
人工智能·深度学习·yolo·计算机视觉·cnn·课程设计·计算机毕业设计
jay神6 小时前
基于 YOLOv8 的无人机识别与检测系统
人工智能·深度学习·yolo·计算机视觉·无人机·课程设计·计算机毕业设计
不像程序员的程序媛8 小时前
springboot支持的web容器
前端·spring boot·后端
计算机毕设定制辅导-无忧学长9 小时前
《基于微信小程序的个人智能刷题助手的设计与实现》
java·spring boot·mysql·微信小程序·uniapp·个人智能刷题助手系统
Thomas.Sir9 小时前
第3课:SpringBoot4.x 自动配置原理:@EnableAutoConfiguration底层源码剖析
java·spring boot
devilnumber9 小时前
springboot的保护机制怎么实现的,为何能做到服务不宕机
java·spring boot·后端
星辰云-11 小时前
基于Spring Boot+Vue的高校校园二手物品交易平台(论文+源码+演示视频)
毕业设计·课程设计·论文笔记·毕设