基于SpringBoot的宠物咖啡馆平台

1. 在线演示:

后台:http://springbootx9rzc.xiaobias.com/springbootx9rzc/admin/dist/index.html

前台:http://springbootx9rzc.xiaobias.com/springbootx9rzc/front/index.html

管理员:abo/abo

用户:用户1/123456、用户2/123456

看护师:看护师1/123456、看护师2/123456

资源:https://fifteen.xiaobias.com/source/68

2. 项目简介

该项目是一个集宠物服务与咖啡餐饮于一体的综合性在线平台。系统主要分为前台用户端和后台管理端。前台面向普通用户,提供咖啡菜品点单、宠物信息浏览与互动体验(如体验、寄养、购买)、周边商品购买等功能。后台面向管理员、看护师等角色,提供全面的内容管理、订单处理、健康状况跟踪、看护服务记录等功能。该系统旨在为用户提供一个可以线上享受咖啡、与宠物互动、购买宠物及周边商品的便捷环境。

3. 技术栈

该项目是一个典型的基于 Spring Boot 的全栈项目,具体技术栈如下:

层次 技术选型
后端框架 Spring Boot 2.2.2.RELEASE, Mybatis-Plus 2.3, Shiro 1.3.2 (权限控制)
数据库 MySQL 5.7
前端框架 后台管理端: Vue 2 + Element-UI 前台用户端: 基于 Layui 的传统多页应用 (MPA)
构建工具 Maven
其他技术 FastJson (JSON处理), Hutool (Java工具库), ECharts (图表), 百度AI Java SDK (预留), Vue AMap (高德地图)

4. 详细介绍

4.1 系统功能模块

系统主要包含三大核心模块和对应的管理功能:

  1. 咖啡菜品模块

    • 前台: 用户浏览咖啡菜单、点单、评论。
    • 后台: 管理员管理菜品信息、分类、处理菜品订单。
  2. 宠物信息模块

    • 前台: 用户浏览宠物信息、预约宠物互动体验、申请宠物寄养、购买宠物。
    • 后台: 管理员管理宠物信息;看护师记录宠物的健康状况、提供看护服务(喂食、剪毛、上传视频)。
  3. 周边商品模块

    • 前台: 用户浏览和购买宠物零食、用品等商品。
    • 后台: 管理员管理商品信息、类型、入库记录,处理商品购买订单。

4.2 数据库设计

数据库 springbootx9rzc 包含了约20张表,核心表包括:

  • yonghu (用户表)
  • kanhushi (看护师表)
  • kafeicaipin (咖啡菜品表)
  • caipindingdan (菜品订单表)
  • chongwuxinxi (宠物信息表)
  • chongwutiyan (宠物体验表)
  • chongwujiyang (宠物寄养表)
  • chongwudingdan (宠物订单表)
  • jiankangzhuangkuang (健康状况表)
  • kanhufuwu (看护服务表)
  • zhoubianshangpin (周边商品表)
  • shangpingoumai (商品购买表)
  • discuss... (系列评论表)
  • config (系统配置表,用于存储轮播图等)
  • storeup (收藏表)

4.3 权限与角色管理

系统通过 Shiro 和前端路由控制实现了精细的权限管理,定义了三种角色及其权限:

  • 管理员 (users): 拥有所有模块的增删改查、审核权限。
  • 用户 (yonghu): 可进行前台所有消费操作(点单、体验、寄养、购买)、管理自己的订单和收藏。
  • 看护师 (kanhushi): 主要负责宠物寄养、健康状况、看护服务等相关模块的管理。

权限细节在 menu.js 配置文件中明确定义。

5. 部分代码

5.1 后端 API 接口示例 (MyBatis-Plus Mapper)

/mapper/ChongwuxinxiDao.xml 中的查询片段展示了数据访问层的配置:

xml 复制代码
<select id="selectListView" resultType="com.entity.view.ChongwuxinxiView" >
    SELECT  chongwuxinxi.* FROM chongwuxinxi  chongwuxinxi         
    <where> 1=1 ${ew.sqlSegment}</where>
</select>

5.2 前端权限判断 (Vue)

/admin/admin/src/utils/utils.js 中的 isAuth 方法展示了前端如何根据用户角色和菜单配置控制按钮权限:

javascript 复制代码
export function isAuth(tableName,key) {
    let role = storage.get("role");
    // ... 从menu配置中查找当前角色对当前表(tableName)的操作权限(key)
    let buttons = menus[i].backMenu[j].child[k].buttons.join(',');
    return buttons.indexOf(key) !== -1 || false;
}

5.3 前台页面组件

前台首页 index.html 使用 Vue 和 Layui 动态生成导航:

html 复制代码
<li v-for="(item,index) in indexNav" v-bind:key="index">
    <a :href="'javascript:navPage(\''+item.url+'\')'">{{item.name}}</a>
</li>
javascript 复制代码
// 导航配置来自 config.js
var indexNav = [ {name: '咖啡菜品', url: './pages/kafeicaipin/list.html'}, ... ]

6. 部分截图










































7. 项目总结

项目特点:

  1. 业务融合创新: 巧妙地将"咖啡馆"与"宠物服务"两种业态结合,满足了特定用户群体的需求。
  2. 权限设计清晰: 三权分立的角色设计(管理员、用户、看护师)使得业务流程清晰,责任明确。
  3. 技术栈选型合理: 采用 Spring Boot + Vue 的前后端分离架构(后台管理端)和 Spring Boot + Layui 的多页架构(前台用户端),兼顾了开发效率与传统部署的便利性。
  4. 功能完整: 涵盖了从商品/内容管理、订单流程、线下服务跟踪(看护服务)、到用户互动(评论、收藏)的完整业务链。
相关推荐
我认不到你4 小时前
JVM分析(OOM、死锁、死循环)(JProfiler、arthas、jdk调优工具(命令行))
java·linux·开发语言·jvm·spring boot
繁依Fanyi4 小时前
给URL加上参数,图片就能显示文字?
后端
繁依Fanyi5 小时前
我把“Word 一键转 PDF”做成了一件顺手的小工具
后端
君不见,青丝成雪6 小时前
如何能使单个springboot并发性能最优
spring boot
@Dai7 小时前
【跨境电商】上中下游解释,以宠物行业为例
经验分享·笔记·学习·其他·宠物
桦说编程7 小时前
使用注解写出更优雅的代码,以CFFU为例
java·后端·函数式编程
悟空聊架构8 小时前
一次Feign超时引发的血案:生产环境故障排查全记录
运维·后端·架构
一行•坚书8 小时前
Redisson分布式锁会发生死锁问题吗?怎么发生的?
java·分布式·后端
赵得C8 小时前
Spring Boot 实现数据库表变更监听的 Redis 消息队列方案
数据库·spring boot·redis·监听