)
系统亮点DeepSeek流式AI对话、ECharts运营分析、协同过滤推荐、志愿活动发布与报名审核、签到码现场签到、活动与签到双重积分激励、积分商城兑换、志愿服务社区互动一、项目概述智慧志愿服务管理系统采用前后端分离架构面向志愿者和管理员构建“活动发布—在线报名—后台审核—现场签到—积分激励—心得沉淀—社区交流—公益兑换”的志愿服务闭环。志愿者可浏览和检索活动、提交报名、收藏感兴趣的活动、查看报名进度、发布服务心得并通过社区交流志愿服务经验完成活动签到后系统依据积分规则形成积分记录志愿者可在积分商城中兑换公益纪念品。管理员负责志愿者账号、活动类型、活动内容、报名审核、签到记录、心得内容、积分商品、兑换履约、公告消息及社区内容的统一维护并通过数据看板了解平台运营情况。层级主要技术与职责志愿者服务端基于 Vue 3、Vite、Element Plus、Pinia 和 Axios 构建提供活动浏览、条件检索、报名收藏、服务心得、社区互动、积分查询、积分兑换、收货地址、消息中心和 AI 问答等功能。管理工作台基于 Vue 3、Element Plus 与 ECharts 实现。管理员可维护志愿者、活动及类型、报名审核、签到、心得、公告、消息、社区、积分规则、商品和兑换记录并查看平台数据统计。服务端基于 Spring Boot 3、Java 17、Spring MVC、MyBatis-Plus、MySQL、Redis 和 JWT 提供 REST 接口、角色身份解析、分页查询、文件上传、业务状态校验、统一异常处理及数据持久化能力。智能与分析能力集成 DeepSeek 对话接口通过 SSE 持续返回 AI 回答内容管理端基于 ECharts 展示活动状态、活动类型、报名趋势、注册趋势、积分发放和热门活动等运营数据。二.系统实现部分截图2.1 用户2.1.1 首页2.2.2 AI助手2.2.3 志愿活动2.2.4 志愿活动详情2.2.5 社区论坛2.2.6 论坛详情2.2.7 积分商城2.2.8 消息中心2.2.9 我的报名2.2.10 积分明细2.2 管理员2.2.1 志愿活动2.2.2 活动报名2.2.3 活动签到2.2.4 活动心得2.2.5 社区帖子2.2.6 积分规则2.2.7 积分记录2.2.8 积分商品2.2.9 积分兑换2.2.10 数据分析三、核心功能与实现说明3.1 双角色认证、账号维护与访问控制系统设置管理员和志愿者两类角色。用户使用账号、密码和角色登录后服务端校验账号信息并签发携带用户标识、角色信息的 JWT前端保存登录状态在后续请求中携带 Token。服务端拦截器解析当前用户信息前端根据角色呈现管理端或志愿者端功能入口。志愿者可完成注册、资料维护、密码修改和密码找回管理员可按账号、姓名、邮箱、手机号和角色查询用户并进行账号新增、编辑、启用禁用、密码重置与 Excel 导出等操作。注册或登录 → 服务端校验账号与角色 → 签发 JWT → 前端保存登录状态 → 请求携带 Token → 服务端解析当前用户 → 按角色开放对应功能入口业务场景系统处理结果身份认证登录成功后返回 JWTToken 中保存用户 ID 与角色信息当前用户拦截器解析请求身份供活动审核、签到等业务读取当前操作人。志愿者注册注册时校验账号唯一性并对已填写的邮箱和手机号进行重复校验密码经过处理后再写入账号数据。账号维护志愿者可维护个人资料、修改密码或根据绑定的手机号、邮箱找回密码列表查询不会向前端返回密码字段。后台账号管理管理员可按多种条件分页查询账号执行新增、编辑、启用禁用、重置密码、单条或批量删除及导出操作。3.2 活动分类、活动发布与报名审核管理员先维护志愿活动类型再发布活动标题、图文介绍、服务地点、报名起止时间、活动起止时间、人数上限、积分奖励、签到奖励和技能要求等信息。系统根据报名开始时间、报名截止时间及活动时间计算活动的报名中、进行中、已结束和已取消状态。志愿者可按活动类型、关键词和状态检索活动在详情页了解服务时间、地点、名额和积分信息并提交报名理由或收藏活动。报名时系统校验活动当前可报名、名额未满且用户尚未存在有效报名记录管理员审核通过后更新审核信息并增加活动当前参与人数审核拒绝时保留审核结果和说明。维护活动类型 → 发布活动与报名规则 → 志愿者按条件浏览活动 → 查看详情并提交报名 → 系统校验时间、名额与重复报名 → 管理员审核通过或拒绝 → 志愿者在“我的报名”查看处理结果功能环节系统处理结果活动类型与发布活动关联类型、发布人、图文内容、地点、服务时间、报名时间、人数上限、技能要求及积分配置为分类展示和运营维护提供基础数据。动态状态计算系统依据当前时间与报名开始、报名截止、活动开始及结束时间计算展示状态避免依赖人工频繁修改活动进度。报名校验仅报名中活动允许报名已取消、进行中或已结束的活动不能提交报名同时校验人数上限与同一用户的重复有效报名。审核与收藏管理员可审核通过或拒绝报名并记录审核人、审核时间和备注志愿者可建立活动收藏记录在个人中心集中查看感兴趣的活动。3.3 签到码服务、积分奖励与积分明细活动报名审核通过后可关联签到码管理员在现场输入签到码完成签到。系统根据签到码定位报名记录校验报名状态为审核通过、活动存在且未产生过签到记录再创建签到数据。签到成功后系统分别按活动奖励和签到奖励写入积分记录使志愿者参与服务的成果可追溯。管理员可维护积分规则的编码、积分值、有效天数、说明和启用状态志愿者可查看累计积分、已获得积分、已消耗积分和每笔积分变动明细并在积分排行榜中查看志愿服务参与情况。报名审核通过并生成签到码 → 管理员输入签到码 → 校验报名、活动与重复签到 → 创建签到记录 → 写入活动奖励和签到奖励积分 → 志愿者查看积分明细与排行积分场景系统处理结果现场签到签到码只能匹配审核通过的报名记录系统阻止无效签到和同一志愿者在同一活动中的重复签到。积分规则规则包含规则名称、规则编码、积分值、有效天数、说明和启用状态支持管理员根据平台激励方案维护。积分记录积分记录关联志愿者、活动和积分规则保存积分变动、积分类型、过期时间、过期标记和业务备注覆盖活动奖励、签到奖励、兑换扣减和积分过期等类型。积分统计志愿者端汇总可用、已获得和已消耗积分并展示积分排名管理员端可按时间统计积分发放情况。3.4 积分商城、地址维护与兑换状态流转平台通过积分商城将志愿服务激励延伸到公益兑换场景。管理员可维护积分商品名称、说明、图片、所需积分、库存、兑换数量、上架状态和排序志愿者可浏览上架商品选择收货地址并提交兑换。系统创建兑换记录前会计算用户可用积分并检查商品库存兑换成功后扣减库存、增加商品兑换数量并写入对应的积分兑换记录。兑换记录在待发货、已发货、已收货和已取消之间流转管理员可填写发货备注志愿者可确认收货取消待发货兑换时系统同步恢复库存和兑换数量并移除相应的扣分记录。浏览上架商品 → 维护并选择收货地址 → 校验可用积分与库存 → 创建兑换记录、扣减库存和积分 → 管理员发货 → 志愿者确认收货待发货订单取消时恢复库存和积分扣减记录交易场景系统处理结果商品维护管理员可维护商品图文、所需积分、库存、上架状态和展示顺序并查看累计兑换数量。地址与兑换志愿者可新增、编辑和选择收货地址兑换记录保留商品、数量、所耗积分、收货人、联系电话、收货地址与地址关联信息。库存和积分校验提交兑换时必须满足可用积分不少于兑换所需积分且商品库存充足成功后同步更新商品库存、兑换次数和积分流水。履约处理管理员仅可对待发货记录执行发货并登记备注志愿者仅可对已发货记录确认收货待发货记录取消后自动执行库存与积分回退。3.5 服务心得、社区互动与内容沉淀为沉淀志愿服务过程中的真实经验志愿者可围绕参与过的活动发布图文心得管理员可对心得进行审核通过或拒绝并保存审核人、审核时间和审核说明。系统同时提供志愿服务社区志愿者可发布帖子、添加图片、浏览帖子详情、评论和回复其他用户的评论点赞功能分别记录目标类型和目标标识以避免同一用户对同一目标重复点赞。帖子、评论、点赞与浏览数据形成可追踪的互动记录管理员可统一维护帖子分类、帖子内容、评论及点赞记录。参与活动 → 发布图文服务心得 → 管理员审核通过或拒绝 → 在社区发布服务话题 → 用户浏览、评论、回复和点赞 → 系统汇总互动数量 → 管理员统一维护社区内容互动能力系统处理结果心得发布与审核心得关联志愿者和活动保存标题、正文、图片、审核状态、审核意见及审核信息支持在“我的心得”中持续管理。帖子交流帖子保存作者、标题、内容、图片、浏览量、点赞量、评论量和状态前台提供帖子列表、详情和个人发帖管理。评论回复评论关联具体帖子和评论人通过父评论标识组织回复关系形成围绕志愿活动和服务心得的交流内容。点赞统计点赞记录关联用户、目标和目标类型支持帖子及评论的点赞系统根据记录数量汇总帖子互动数据。3.6 公告消息与个性化活动推荐管理员可发布平台公告并向指定志愿者发送系统、活动、审核或兑换等类型的消息。志愿者首页展示已发布公告、热门活动、积分概览和积分排行消息中心支持按类型查看消息、查看未读数量、单条标记已读和一键全部已读。对于已登录志愿者系统基于报名、收藏和签到行为提供个性化活动推荐报名、收藏、签到分别作为不同权重的偏好信号系统计算用户之间的余弦相似度选取相似用户参与但当前用户未参与的未结束活动当用户行为不足或推荐数量不足时再使用热门活动补充结果。管理员发布公告或创建消息 → 首页和消息中心按条件加载 → 志愿者阅读后更新已读状态汇总报名、收藏、签到行为 → 计算相似用户 → 推荐未参与的可用活动 → 热门活动补足推荐结果服务能力系统处理结果公告展示公告维护发布状态和内容已发布公告在志愿者首页轮播展示公告列表接口使用 Redis 缓存热点分页结果并在公告变更时清理对应缓存。消息中心消息关联接收人、标题、内容、消息类型和业务关联标识志愿者可按消息类型筛选并更新单条或全部消息的已读状态。协同过滤推荐报名、收藏、签到行为分别按 3、2、5 的权重构建用户—活动评分矩阵通过余弦相似度选取相近用户的活动偏好。推荐兜底与更新推荐结果排除当前用户已参与、已结束和已取消的活动无行为或推荐数量不足时按活动热度补充报名与收藏变化时同步清理对应用户的推荐缓存。3.7 AI 志愿服务问答与流式会话管理平台接入 DeepSeek 模型提供面向志愿服务场景的 AI 智能助手。用户可新建或选择会话并提问服务端先保存用户消息再读取当前用户、当前会话最近的历史记录作为上下文将系统提示词、历史消息和当前问题一同提交给模型。模型以流式方式返回内容服务端将生成片段通过 SSE 持续推送至前端用户无需等待完整回答即可查看回复生成结束后系统再将完整 AI 回复保存为助手消息。会话列表按最新消息时间展示用户可查看某一会话的历史记录也可删除不再需要的会话及其关联消息。创建或选择会话 → 保存用户问题 → 读取当前会话最近消息 → 调用 DeepSeek 流式生成 → SSE 持续推送回答片段 → 保存完整助手回复 → 更新会话最新消息并支持历史查询或删除AI 能力系统处理结果场景化问答系统提示词限定 AI 以志愿服务平台助手身份回答帮助用户了解平台功能、志愿活动信息及常见志愿服务问题。流式输出后端以font color#262626text/event-stream/font返回生成片段前端逐步拼接和展示内容降低用户等待完整回复时的空白感。上下文隔离聊天记录同时关联用户和会话标识每次请求只读取当前用户当前会话的最近历史保证不同用户及不同话题之间的数据独立。会话管理系统按会话汇总最新消息和时间支持获取会话历史删除会话时同步删除该会话下的聊天记录。3.8 运营数据看板与后台综合维护管理员首页通过统计卡片和 ECharts 图表展示平台运行情况。页面汇总注册用户数、活动总数、今日报名数和活动心得数等基础指标并按活动状态、活动类型、近七天报名、近七天注册、近七天积分发放和热门活动排行展示趋势与分布。热门活动以当前参与人数排序帮助管理员识别关注度较高的服务项目。结合用户账号、活动、报名、签到、心得、社区、公告、消息、积分规则、商品、兑换及收货地址等后台模块管理员能够完成平台日常数据维护并导出用户、活动等列表数据进行归档分析。用户、活动、报名、心得和积分记录 → 服务端按条件分页与聚合查询 → 输出总量、趋势、分布和排行数据 → ECharts 渲染管理首页 → 管理员进入业务模块进行维护和数据导出管理能力系统处理结果核心指标首页以统计卡片显示注册用户、活动、当日报名和活动心得等数量帮助管理员快速掌握平台基础规模。状态与类型分布活动按报名中、进行中、已结束、已取消状态汇总并按活动类型统计数量便于了解活动生命周期和服务领域分布。趋势与排行近七天报名、用户注册、积分发放使用时间序列展示热门活动按当前参与人数排序展示前十个活动的报名热度。综合维护与导出后台提供多模块的条件查询、分页、新增、编辑、删除和批量处理能力账号和活动等业务数据支持导出为 Excel 文件。