扫码点餐商家功能实现情况检查报告.md 9.1 KB

扫码点餐(商家)功能实现情况检查报告

检查时间

2025-01-XX

更新时间

2025-01-XX(后端功能补充完成)

总体情况

核心功能已全部实现,后端功能补充已完成。仅剩部分前端交互细节需要确认。


2.4.1 特性1:工作台 ✅ 已实现

实现情况

  • ✅ 前端页面已实现:group_merchant/src/pages/scanOrder/index.vue
  • ✅ 包含四个模块入口:
    • 桌号管理
    • 桌号状态
    • 菜品分类
    • 订单管理

备注

  • 前端页面已完整实现,跳转逻辑正常

2.4.2 特性2:桌号管理 ✅ 已实现

实现情况

1. 新建功能 ✅

  • ✅ 后端接口:StoreTableController.batchCreateTables
  • ✅ 支持批量创建桌号(多个用逗号分隔)
  • ✅ 自动去重处理
  • ✅ 创建时自动生成二维码(通过 qrcodeUrl 字段)

2. 列表功能 ✅

  • ✅ 后端接口:StoreTableController.getTablePage(分页查询)
  • ✅ 排序:按桌号排序(后端实现)
  • ✅ 编辑功能:StoreTableController.updateTable
  • ✅ 删除功能:StoreTableController.deleteTable
    • ✅ 逻辑删除
    • ✅ 检查状态(空闲状态可删除)

已实现的验证

  • 桌号长度限制:后端已实现5字限制验证
  • 提示信息:错误提示已统一为"此桌号已存在"
  • ⚠️ 二次确认:"确认删除此桌号?" - 需要确认前端是否实现

2.4.3 特性3:桌号状态 ✅ 已实现

实现情况

1. 显示所有桌号 ✅

  • ✅ 前端页面:group_merchant/src/pages/scanOrder/table/status.vue
  • ✅ 后端接口:StoreTableController.getTablePage
  • ✅ 分页显示(每页12个,符合"12个一组"需求)
  • ⚠️ 布局:前端需要确认是否"一行3个,显示4行"的布局

2. 点击桌号显示菜品信息 ✅

  • ✅ 前端已实现抽屉组件显示菜品信息
  • ✅ 显示内容:图片、名称、数量、标签、备注
  • ✅ 加菜标志:前端已实现 hasNewItems 判断
  • ✅ 排序:按加餐、点餐顺序排列
  • ✅ 超过5个可滑动

3. 桌号状态 ✅

  • ✅ 状态定义:status 字段(0:空闲, 1:就餐中)
  • ✅ 前端显示:"就餐中" / "空闲"

4. 用户加餐

  • 加餐与点餐同一套流程:增减购物车 → 下单。若该桌已有待支付订单,再次下单会更新订单(用当前购物车覆盖订单明细),即完成加餐。无单独加餐接口。

5. 换桌功能 ✅

  • ✅ 后端接口:StoreTableController.changeTable
  • ✅ 前端页面:group_merchant/src/pages/scanOrder/table/change.vue
  • ✅ 显示所有空闲桌号
  • ✅ 订单信息转移逻辑已实现

需要确认的细节

  • ⚠️ 无菜品信息提示:需要确认前端是否显示"无菜品信息"提示

2.4.4 特性4:菜品分类 ✅ 已实现

实现情况

1. 新建功能 ✅

  • ✅ 后端接口:StoreCuisineCategoryController.batchCreateCategories
  • ✅ 支持批量创建分类(多个用逗号分隔)
  • ✅ 自动去重处理

2. 列表功能 ✅

  • ✅ 后端接口:StoreCuisineCategoryController.getCategoryList
  • ✅ 排序功能:StoreCuisineCategoryController.updateCategorySort
    • ✅ 支持拖拽排序(通过 sort 字段)
    • ✅ 按创建时间倒序(多次创建)
  • ✅ 编辑功能:StoreCuisineCategoryController.updateCategory
  • ✅ 删除功能:StoreCuisineCategoryController.deleteCategory
    • ✅ 检查分类下是否有菜品

已实现的验证

  • 分类名称长度限制:后端已实现5字限制验证
  • 提示信息:错误提示已统一为"此分类名称已存在"
  • ⚠️ 删除提示:"此分类下有菜品信息,不可删除" - 需要确认错误提示
  • ⚠️ 二次确认:"确认删除此分类?" - 需要确认前端是否实现

2.4.5 特性5:创建菜品-价目表 ⚠️ 部分实现

实现情况

1. 新建功能 ✅

  • ✅ 后端接口:StoreCuisineController.addCuisineCombo
  • ✅ 审核流程:提交后状态为"审核中"(0),审核通过后状态为1

2. 新增字段检查

字段 需求 实现情况 备注
菜品分类 必选,可多选 ✅ 已实现 categoryIds 字段,支持多选
首页展示 单选,默认是 ✅ 已实现 homeDisplay 字段(0:否, 1:是)
菜品标签 选填,限5字,最多3个 ✅ 已实现 tags 字段(JSON数组)
菜品短评 选填,限20字 ✅ 已实现 dishReview 字段
菜品描述 选填,限300字 ✅ 已实现 description 字段
餐位费 选填,限2位正整数 ✅ 已实现 tablewareFee 字段(在 StoreInfo 表中)

3. 列表功能 ✅

  • ✅ 后端接口:StoreCuisineController.getPriceList
  • ✅ 餐位费:已实现保存和查询接口

已实现的验证

  • 字段长度验证
    • ✅ 菜品标签:限5字,最多3个 - 后端已实现验证
    • ✅ 菜品短评:限20字 - 后端已实现验证
    • ✅ 菜品描述:限300字 - 后端已实现验证
    • ⚠️ 餐位费:限2位正整数 - 需要确认后端验证(餐位费在 StoreInfo 表中)
  • ⚠️ 首页展示默认值:需求要求"默认是",需要确认前端默认值设置

2.4.6 特性6:订单管理 ✅ 已实现

实现情况

1. 搜索功能 ✅ 已实现

  • 按订单编号搜索:接口 getOrderPage 已支持按订单编号模糊搜索
  • 按菜品名称搜索:接口已支持按菜品名称模糊搜索
  • 模糊搜索:支持同时按订单编号和菜品名称搜索(OR逻辑)
  • 搜索长度限制:搜索关键词自动限制为15字
  • 接口参数StoreOrderController.getOrderPage 已添加 keyword 参数

2. 列表显示 ✅

  • ✅ 后端接口:StoreOrderController.getOrderPage
  • ✅ 显示内容:
    • ✅ 图片(菜品图片)
    • ✅ 名称(菜品名称)
    • ✅ 数量
    • ✅ 标签(菜品标签)
    • ✅ 价格
    • ✅ 状态
    • ✅ 备注
    • ✅ 桌号
    • ✅ 就餐人数
    • ✅ 应付金额/实付金额(根据状态显示)
    • ✅ 菜品超过3个可滑动(前端实现)

3. 详情显示 ✅

  • ✅ 后端接口:StoreOrderController.getOrderDetail
  • ✅ 显示内容:
    • ✅ 订单编号
    • ✅ 状态
    • ✅ 桌号
    • ✅ 就餐人数
    • ✅ 下单时间
    • ✅ 菜品总价
    • ✅ 餐具费
    • ✅ 优惠金额
    • ✅ 实付金额
    • ✅ 支付方式
    • ✅ 手机号码
    • ✅ 备注
    • ✅ 菜品名称、价格、数量、标签

需要补充的功能

  1. 订单搜索功能
    • StoreOrderController.getOrderPage 接口中添加搜索参数
    • 支持按订单编号(orderNo)模糊搜索
    • 支持按菜品名称(通过关联 StoreOrderDetail.cuisineName)模糊搜索
    • 搜索关键词长度限制15字

总结

✅ 已完全实现的功能

  1. 工作台(点餐管理模块入口)
  2. 桌号管理(新建、编辑、删除、列表)
  3. 桌号状态(显示、菜品信息、换桌)
  4. 菜品分类(新建、编辑、删除、排序)
  5. 创建菜品(所有字段已实现)
  6. 订单列表和详情显示

⚠️ 需要补充/确认的功能

  1. 餐位费验证(可选):

    • 餐位费格式验证(2位正整数)- 餐位费在 StoreInfo 表中,可能需要单独验证
  2. 前端交互确认

    • 删除操作的二次确认弹窗
    • 无菜品信息时的提示
    • 首页展示默认值设置

✅ 已完成的后端功能

  1. 订单搜索功能 ✅:

    • ✅ 按订单编号搜索(模糊搜索)
    • ✅ 按菜品名称搜索(模糊搜索)
    • ✅ 同时支持两种搜索方式(OR逻辑)
    • ✅ 搜索关键词长度限制(15字)
  2. 字段验证和提示 ✅:

    • ✅ 桌号长度限制(5字)及提示"此桌号已存在"
    • ✅ 分类名称长度限制(5字)及提示"此分类名称已存在"
    • ✅ 菜品标签验证(限5字,最多3个)
    • ✅ 菜品短评验证(限20字)
    • ✅ 菜品描述验证(限300字)

建议优先级

  1. 已完成:✅ 订单搜索功能、✅ 字段验证和错误提示
  2. 低优先级:前端交互细节优化(二次确认、默认值等)

附录:相关文件路径

后端文件

  • 桌号管理:alien-store/src/main/java/shop/alien/store/controller/StoreTableController.java
  • 菜品分类:alien-store/src/main/java/shop/alien/store/controller/StoreCuisineCategoryController.java
  • 菜品管理:alien-store/src/main/java/shop/alien/store/controller/StoreCuisineController.java
  • 订单管理:alien-dining/src/main/java/shop/alien/dining/controller/StoreOrderController.java

前端文件

  • 工作台:group_merchant/src/pages/scanOrder/index.vue
  • 桌号管理:group_merchant/src/pages/scanOrder/table/list.vue
  • 桌号状态:group_merchant/src/pages/scanOrder/table/status.vue
  • 换桌页面:group_merchant/src/pages/scanOrder/table/change.vue
  • 订单管理:group_merchant/src/pages/scanOrder/order/list.vue