整体实现了一个外卖平台,包含对员工,菜品,套餐和分类的增删改查。本项目拥有两个身份,管理员身份可以进行基本的增删改查和控制员工菜品等的状态,而用户身份只具备只读权限,只能查看启用中的物品,没有其他修改的权限。
技术选型:SpringBoot + MyBatis + MySQL + Redis + JWT
分层架构:
Controller层:thmeleaf前后端合并开发
Service层:业务逻辑,事务管理
Mapper层:数据库交互,MyBatis动态SQL
实体层:POJO实体类
核心模块:
用户端:菜品浏览、购物车、订单支付
商家端:菜品管理、订单处理、数据统计
基础支撑:JWT令牌认证、全局异常处理、Redis缓存高频数据
设计亮点:采用充血模型,将业务方法封装在实体类;使用策略模式处理不同订单状态;通过AOP实现操作日志记录。