Files
suixinkan_ios_new/suixinkan/Features/CooperationOrder/CooperationOrder.md

2.6 KiB
Raw Blame History

合作订单模块

职责

合作订单模块面向摄影师/门店角色,管理合作获客业务:

  • 获客员线索:查看合作获客员上报的潜在客户线索(手机号、备注、图片)
  • 获客订单:查看通过合作渠道产生的订单,支持关键词搜索
  • 合作获客员:查看已绑定获客员列表,扫码绑定新获客员

权限 URIcooperation_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

获客员备注名

  1. 合作获客员列表每行右上角「修改备注」→ 弹窗编辑备注名
  2. 保存 → POST .../sale-user/update-remarkBody{ "sale_user_id": Int, "photog_remark_name": String }
  3. 展示规则:优先 photog_remark_name,为空时回退获客员原名(name / saler_name / sale_user_name
  4. 绑定确认页(BindAcquirerView)仍展示真实获客员名,不使用备注名

与订单模块关系

订单管理(orderType 11 摄影师跟拍 / 14 线下扫码)在订单卡片展示「订单来源」:

  • Sheet 内选择获客员 → 带客单 → POST .../bind-referral-order
  • 全页流程见 ReferralOrderSelectView
  • 订单退款成功后,若已绑定带客单,调用 POST .../referral-orders/{id}/statusstatus=3

主要文件

文件 说明
API/CooperationOrderAPI.swift 9 个 sale-user / cooperative 接口
Models/CooperationOrderModels.swift 实体与解码
Services/CooperationOrderFeature.swift 权限 URI 常量
ViewModels/* 列表、获客员、绑定 ViewModel
Views/* SwiftUI 页面与卡片组件

依赖

  • @Environment(\.cooperationOrderAPI) 注入网络层
  • @EnvironmentObject PermissionContext 权限校验
  • @EnvironmentObject ToastCenter 用户提示
  • Kingfisher 加载线索图片