面向社区食堂与邻里餐饮点餐场景,为微信小程序客户端提供菜品分类浏览、商品查询、自取或配送下单、订单状态查看和取餐核销等后端能力,通过 REST API 与 MySQL 数据库完成点餐业务数据访问及订单履约处理。
点击空白处退出提示
面向社区食堂与邻里餐饮点餐场景,为微信小程序客户端提供菜品分类浏览、商品查询、自取或配送下单、订单状态查看和取餐核销等后端能力,通过 REST API 与 MySQL 数据库完成点餐业务数据访问及订单履约处理。
系统提供菜品分类列表、按分类筛选商品和商品详情接口;支持自取与配送两种订单模式,创建订单时重新读取商品价格,计算商品金额、包装费和配送费,并写入订单、明细及履约信息。支持订单列表、订单详情、履约查询和取餐码核销;下单时校验商品状态与库存,在事务内通过条件更新原子扣减库存,并使用 clientRequestId 在单实例内完成短时防重复提交。
后端使用 Java 8、Spring Boot 2.7.18 与 Maven 构建,采用 Controller、Service、Mapper 分层,使用 MyBatis XML 和 MySQL 5.7 持久化。接口遵循 Spring MVC REST 风格,配合 Bean Validation 参数校验、统一返回结构和全局异常处理;订单创建与取餐核销使用 Spring 事务,库存通过带数量条件的 SQL UPDATE 原子扣减。当前为单库单实例实现,采用固定用户上下文,并通过 JUnit 5 与 Mockito 对订单金额、库存、幂等、列表详情和取餐核销逻辑进行单元测试。




评论