宠物医疗管理系统 - 项目总结一、项目背景随着宠物行业的快速发展宠物主人对宠物健康管理的需求日益增长。传统的宠物医疗记录方式存在信息分散、查询困难、疫苗接种提醒不及时等问题。为此我开发了 宠物医疗管理系统 旨在为宠物主人提供一站式的宠物健康管理平台同时为宠物医院/诊所提供高效的后台管理工具。二、技术选型前端技术栈技术说明HTML5 CSS3页面结构与响应式样式JavaScript前端交互逻辑Axios异步 HTTP 请求后端技术栈技术说明Python 3.12开发语言FastAPI高性能异步 Web 框架SQLAlchemy ORM数据库操作Pydantic数据验证与序列化JWT (JSON Web Token)无状态身份认证MySQL关系型数据库AI 集成技术说明Dify 工作流AI 能力集成httpx异步 HTTP 客户端三、系统架构技术架构架构特点前后端分离 前端与后端通过 RESTful API 通信可独立部署和扩展关注点分离 各模块职责清晰便于维护和团队协作异步处理 FastAPI httpx 实现全链路异步提升并发性能四、核心功能模块4.1 用户端功能模块功能描述宠物档案管理添加/编辑宠物信息支持多品种选择记录宠物生日、性别、毛色等商品商城浏览宠物商品支持分类筛选和关键词搜索模糊匹配算法购物车与结算添加商品到购物车支持余额支付和先用后付两种支付方式订单管理查看订单状态确认收货查看订单历史AI 智能助手接入 Dify 实现智能问诊、宠物取名、健康咨询健康记录体重记录追踪、疫苗计划及记录、医疗记录4.2 管理端功能模块功能描述数据仪表盘用户、商品、订单、宠物数据统计近 7 日订单趋势可视化图表用户管理查看用户列表余额充值会员等级管理商品管理商品 CRUD 操作图片上传上下架管理订单管理查看所有订单修改订单状态待付款→已发货→已完成宠物管理代用户添加宠物宠物分类管理疫苗管理AI 智能计算疫苗接种计划疫苗记录管理管理员管理查看管理员列表修改个人信息用户名/密码五、数据库设计系统采用 MySQL 数据库主要数据表如下表名说明核心字段users用户表id, username, phone, balance, member_leveladmins管理员表id, username, password_hash, permissionsproducts商品表id, name, brand, category, price, stock, salesorders订单表id, user_id, total, status, pay_methodorder_items订单明细id, order_id, product_id, name, price, qtypets宠物档案id, user_id, category_id, name, breed, birthdaypet_categories宠物分类id, name, descriptionvaccines疫苗记录id, pet_id, vaccine_name, inject_date, next_datemedical_records医疗记录id, pet_id, diagnosis, treatment, visit_dateweight_records体重记录id, pet_id, weight, dateai_chatsAI 对话id, user_id, title, created_atai_messagesAI 消息id, chat_id, role, content, created_atrecharge_records充值记录id, user_id, amount, status六、项目亮点6.1 AI 智能疫苗接种计划接入 Dify 工作流平台根据疫苗类型和首次接种日期自动计算后续接种时间猫三联/四联间隔 21 天犬联疫苗间隔 21 天狂犬疫苗间隔 365 天6.2 商品搜索优化实现三级搜索策略精确子串匹配 搜索词直接出现在商品名中分词匹配 搜索词的每个字都出现在商品名中编辑距离相似度 阈值 0.5处理拼写错误和简称6.3 先用后付支付流程完整的先用后付支付链路用户选择先用后付下单管理员发货用户确认收货系统自动扣费6.4 数据可视化管理端仪表盘展示近 7 日订单趋势使用纯 CSS 柱状图无需第三方图表库。七、项目结构前端文件结构后端文件结构八、开发过程中遇到的问题与解决方案问题 1时区导致订单日期错误现象 种子数据使用 UTC 时间查询使用北京时间导致 5 月 31 日的订单显示为 6 月 1 日。解决 修改种子数据生成逻辑统一使用北京时间简化查询逻辑只按北京时间查询问题 2AI 疫苗接种计划计算错误现象 狂犬疫苗提示词中写1 年但代码只处理天和月导致日期不变。解决 修改 Dify 提示词将年统一改为365 天。问题 3管理员退出登录报 403 错误现象 管理员退出时调用用户专属的清除聊天记录接口。解决 退出时判断角色只有用户角色才调用清除接口。九、项目总结宠物医疗管理系统是一个功能完整的宠物健康管理平台采用前后端分离架构集成 AI 智能服务。项目实现了用户端和管理端的完整业务流程包括宠物档案管理、商品商城、订单管理、疫苗接种、AI 问诊等核心功能。技术收获掌握了 FastAPI 框架的使用理解了异步编程的优势学习了 SQLAlchemy ORM 的使用理解了数据模型设计实践了 JWT 认证机制理解了无状态认证的原理集成了 Dify AI 平台体验了 AI 工作流的强大能力实现了前后端分离架构理解了 RESTful API 设计规范未来展望前端可升级为 Vue框架提升开发效率后端可引入 Redis 缓存提升查询性能可增加微信小程序端方便用户移动端使用可接入短信/邮件通知实现疫苗接种提醒