迁移合作订单完整能力,并统一 AppRoleCode 角色权限与首页菜单展示。
新增 CooperationOrder 模块(双 Tab 列表、获客员绑定、主 Tab 扫码)、订单来源/带客单绑定及配套 API 测试;同步引入 roleCode 权限匹配与相关单元测试。 Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
57
suixinkan/Features/CooperationOrder/CooperationOrder.md
Normal file
57
suixinkan/Features/CooperationOrder/CooperationOrder.md
Normal file
@ -0,0 +1,57 @@
|
||||
# 合作订单模块
|
||||
|
||||
## 职责
|
||||
|
||||
合作订单模块面向摄影师/门店角色,管理合作获客业务:
|
||||
|
||||
- **获客员线索**:查看合作获客员上报的潜在客户线索(手机号、备注、图片)
|
||||
- **获客订单**:查看通过合作渠道产生的订单,支持关键词搜索
|
||||
- **合作获客员**:查看已绑定获客员列表,扫码绑定新获客员
|
||||
|
||||
权限 URI:`cooperation_order`(与 Android `CooperationOrderFeature.URI` 一致)。
|
||||
|
||||
## 核心流程
|
||||
|
||||
### 首页入口
|
||||
|
||||
1. 用户点击首页「合作订单」菜单(`cooperation_order`)
|
||||
2. `CooperationOrderAccessView` 校验 `PermissionContext.canAccess("cooperation_order")`
|
||||
3. 无权限时 Toast 提示并返回;有权限进入 `CooperationOrderListView`
|
||||
|
||||
### 双 Tab 列表
|
||||
|
||||
| Tab | API | 说明 |
|
||||
| --- | --- | --- |
|
||||
| 获客员线索 | `GET .../sale-user/referral-leads` | 分页 10 条,下拉刷新/加载更多 |
|
||||
| 获客订单 | `GET .../sale-user/acquisition-orders` | 支持 `keyword` 搜索 |
|
||||
|
||||
### 获客员绑定
|
||||
|
||||
1. 列表页右上角「合作获客员」→ `CooperationAcquirerView`
|
||||
2. 扫码或主 Tab 扫码识别 `{"method":"sale_user_bind","sale_user_id":N}`
|
||||
3. `BindAcquirerView` 加载邀请信息 → 确认 → `POST .../sale-user/accept-bind`
|
||||
|
||||
## 与订单模块关系
|
||||
|
||||
订单管理(`orderType` 11 摄影师跟拍 / 14 线下扫码)在订单卡片展示「订单来源」:
|
||||
|
||||
- Sheet 内选择获客员 → 带客单 → `POST .../bind-referral-order`
|
||||
- 全页流程见 `ReferralOrderSelectView`
|
||||
- 订单退款成功后,若已绑定带客单,调用 `POST .../referral-orders/{id}/status`(status=3)
|
||||
|
||||
## 主要文件
|
||||
|
||||
| 文件 | 说明 |
|
||||
| --- | --- |
|
||||
| `API/CooperationOrderAPI.swift` | 8 个 sale-user / cooperative 接口 |
|
||||
| `Models/CooperationOrderModels.swift` | 实体与解码 |
|
||||
| `Services/CooperationOrderFeature.swift` | 权限 URI 常量 |
|
||||
| `ViewModels/*` | 列表、获客员、绑定 ViewModel |
|
||||
| `Views/*` | SwiftUI 页面与卡片组件 |
|
||||
|
||||
## 依赖
|
||||
|
||||
- `@Environment(\.cooperationOrderAPI)` 注入网络层
|
||||
- `@EnvironmentObject PermissionContext` 权限校验
|
||||
- `@EnvironmentObject ToastCenter` 用户提示
|
||||
- Kingfisher 加载线索图片
|
||||
Reference in New Issue
Block a user