chore: init saasshop repo + sql migrations runner + gitee go

This commit is contained in:
萝卜
2026-03-10 11:31:02 +00:00
commit 50f15cdea8
210 changed files with 29534 additions and 0 deletions

View File

@@ -0,0 +1,63 @@
# merchant 语义重构收口记录
## 背景
项目在基础阶段曾短暂使用 `tenant` 语义,但当前产品定位已经明确为“总台管理 + 站点后台 + 商家后台”的 SaaS 电商结构,因此数据库层、代码层、页面层统一收口到 `merchant / 商家` 更符合后续长期演进方向。
## 本轮结论
`tenant -> merchant` 主链路重构已基本完成,当前项目基线统一采用:
- 表:`merchants`
- 外键:`merchant_id`
- 领域模型:`Merchant`
- 页面文案:`商家`
- 总台站点管理入口:`/admin/merchants`
- 商家后台入口:`/merchant-admin`
## 已完成项
### 数据库基线
- 基线表已统一为 `merchants`
- 相关业务表统一使用 `merchant_id`
- 相关外键已指向 `merchants`
- 已通过 `php artisan migrate:fresh --seed` 验证
### 代码层
- 模型关系已统一使用 `merchant()`
- 总台管理控制器已切到 `MerchantController`
- 商家后台上下文统一使用 `admin_merchant_id`
- 总台管理与商家后台鉴权边界均已验证通过
- API 入参 / 返回中的商家归属字段已统一为 `merchant_id`
### 页面与文案
- 总台管理 dashboard / 商品 / 分类 / 订单 / 渠道配置页已改为商家语义
- 总台站点管理页统一为 `admin/merchants`
- 首页与后台入口文案均已完成阶段性收口
### 缓存与配置
- 总台站点列表缓存 key 已统一为 `platform:merchants:list:page:{page}`
- 总台基础配置项已从 `tenant_mode` 调整为 `merchant_mode`
### 验证结果
已完成以下验证:
- `php artisan migrate:fresh --seed`
- `php artisan optimize:clear`
- `php artisan route:list --path=admin`
- `php artisan route:list --path=merchant-admin`
- `php artisan route:list --path=api/v1`
- 总台账号登录总台管理成功
- 商家账号登录商家后台成功
- 商家账号访问总台管理返回 403
- 总台账号访问商家后台返回 403
- 总台 / 商家关键页面与基础 API 返回正常
## 收尾原则
为了保持开发环境基线干净:
1. 不再继续引入新的 `tenant` 语义
2. 不再新增兼容性双命名
3. 文档、配置、缓存 key、页面文案统一使用 `merchant`
4. 后续新功能在此基线上继续推进
## 当前剩余事项
1. 继续补表单 `old()` 回填
2. 给总台 / 商家订单列表增加筛选条件
3. 补总台配置编辑能力
4. 后续视情况升级分页缓存失效策略