后台管理部署说明.md 4.4 KB

商店限购功能后台管理部署说明

概述

本文档说明如何部署商店限购功能的后台管理界面,包括数据库迁移、菜单配置、权限设置等步骤。

部署步骤

1. 数据库迁移

按顺序执行以下SQL文件:

# 1. 创建限购配置表
mysql -u用户名 -p数据库名 < app/Module/Shop/Databases/GenerateSql/shop_purchase_limits.sql

# 2. 创建用户购买计数表
mysql -u用户名 -p数据库名 < app/Module/Shop/Databases/GenerateSql/shop_user_purchase_counters.sql

# 3. 移除已被替代的max_buy字段(可选,如果已有数据需要迁移)
mysql -u用户名 -p数据库名 < app/Module/Shop/Databases/GenerateSql/remove_shop_items_max_buy_field.sql

2. 后台菜单配置

执行以下命令添加后台管理菜单:

# 添加限购配置菜单(需要先有商店管理菜单)
php artisan admin:insert-shop-purchase-limit-menu

如果还没有商店管理菜单,请先执行:

# 添加商店管理菜单
php artisan admin:insert-shop-menu

3. 创建示例数据(可选)

# 创建限购配置示例数据
php artisan db:seed --class=ShopPurchaseLimitSeeder

4. 清除缓存

# 清除路由缓存
php artisan route:clear

# 清除配置缓存
php artisan config:clear

# 清除视图缓存
php artisan view:clear

后台功能说明

1. 商品管理增强

位置: 商店管理 > 商店商品

新增功能:

  • 商品列表显示"单次限购"列
  • 商品编辑表单的"单次购买限制"字段
  • 每个商品行添加"限购配置"按钮,可快速跳转到限购配置页面
  • 移除了原有的"总限购"功能,由新的限购系统完全替代

2. 限购配置管理

位置: 商店管理 > 限购配置

功能特性:

  • 支持创建、编辑、删除限购规则
  • 支持按商品、限购类型、限购周期筛选
  • 支持批量操作和状态切换
  • 表单验证确保配置的合理性

配置选项:

  • 商品选择: 支持搜索的下拉选择框
  • 限购类型: 单次购买限制 / 周期性购买限制
  • 限购周期: 永久 / 每日 / 每周 / 每月 / 每年
  • 最大数量: 限购的最大数量
  • 状态管理: 启用/禁用限购规则
  • 排序权重: 控制多个规则的检查顺序

权限配置

1. 菜单权限

确保相关用户角色具有以下菜单访问权限:

  • 商店管理
  • 商店商品
  • 限购配置

2. 操作权限

根据需要为用户角色分配以下权限:

  • 查看限购配置
  • 创建限购配置
  • 编辑限购配置
  • 删除限购配置
  • 批量操作限购配置

使用指南

1. 创建限购规则

  1. 进入"商店管理 > 限购配置"
  2. 点击"新增"按钮
  3. 选择要设置限购的商品
  4. 设置限购类型和周期
  5. 输入最大购买数量
  6. 保存配置

2. 管理现有规则

  1. 在限购配置列表中查看所有规则
  2. 使用过滤器快速查找特定规则
  3. 点击"编辑"修改规则参数
  4. 使用状态开关快速启用/禁用规则
  5. 通过排序权重控制规则优先级

3. 商品限购设置

  1. 进入"商店管理 > 商店商品"
  2. 编辑商品,设置"单次购买限制"
  3. 点击"限购配置"按钮管理该商品的详细限购规则

注意事项

1. 数据一致性

  • 删除商品时会自动删除相关的限购配置
  • 修改商品状态不会影响已有的限购配置
  • 限购计数数据会根据周期自动重置

2. 性能考虑

  • 限购配置查询已优化,支持批量查询
  • 建议为活跃商品合理设置限购规则数量
  • 定期清理无效的购买计数记录

3. 业务逻辑

  • 单次购买限制只能使用永久周期
  • 多个限购规则按排序权重依次检查
  • 所有限购规则都必须通过才能购买

故障排除

1. 菜单不显示

检查菜单是否正确创建:

SELECT * FROM admin_menu WHERE title LIKE '%限购%';

2. 路由不存在

清除路由缓存并重新生成:

php artisan route:clear
php artisan route:cache

3. 权限问题

检查用户角色是否具有相应的菜单和操作权限。

技术支持

如遇到问题,请检查:

  1. 数据库表是否正确创建
  2. 菜单权限是否正确配置
  3. 缓存是否已清除
  4. 日志文件中的错误信息

更多技术细节请参考:

  • app/Module/Shop/Docs/商店限购功能优化说明.md
  • AiWork/2024年12月/28日1430-商店限购功能优化.md