07 — 列表与汇总查询

来源:api/applications.ts fetchOrders + api/home.ts fetchHomeData
涉及页面:Applications PRD / Home PRD
共 2 个接口


业务上下文

SA 工作日常的”工作汇总视图”:

  1. 首页(Home):一眼看到「Pending Work」各状态的订单数 + 公告(推动 SA 立刻处理待办)
  2. 进件列表(Applications):按状态 / 时间 / merchant 筛选历史订单(支持复借场景的同号搜索)

关键设计

  • 首页汇总是 轻量计数 + 公告(不返回订单详情;点 Pending Work 卡片跳进 Applications 用对应筛选)
  • 列表接口支持多维筛选 + 分页(应对 SA 长期工作 → 数百单累积)

1. 进件列表查询

订单状态机完整定义见 手机分期订单状态机(SoT)。本文涉及 status / close_reason / fix_reason / offer_type 等枚举取值与 UI Tab 映射,均以 SoT 为准。

业务描述:拉取该 SA 历史订单列表 — 支持按状态分类(4 Tab:UI 标签 Pending / Reviewing / Completed / Closed;技术字段 status_tab = pending / in_approval / completed / closed)+ merchant 筛选 + 关键字搜索 + 分页。

触发场景

  • Applications 页 mount / Tab 切换 / 筛选变化 / 搜索 / 下拉刷新 / 加载更多

入参

字段类型必填说明
status_tabenumpending / in_approval / completed / closed(技术字段名;UI Tab label 分别为 Pending / Reviewing / Completed / Closed;映射规则见下方)
merchant_idstringmerchant 筛选;不传 = 全部 merchant
searchstring关键字(按客户姓名 / 手机号 / 订单短码搜索)
cursorstring分页 cursor;首次拉取不传
page_sizeint每页数量;默认 20

status_tab 与 order.status 映射规则

status_tab包含的 status
pendingDrafting / FixRequired / Approved / Signed / Paid(SA 待处理的)
in_approvalReviewing(已提交风控审批中)
completedCompleted(已交付 + 锁机激活)
closedClosed(含 close_reason 细分原因,见 OrderListItem 字段)

出参

字段类型说明
itemsarray<OrderListItem>订单列表项
next_cursorstring?下一页 cursor;null 表示无更多
totalint?总数(可选;MVP 不强求)

OrderListItem 结构

字段类型说明
order_idstring
short_codestring短码(UI 紧凑展示,如 #8A2F1C
customer_namestring客户姓名(若 Identity 已采集,否则空)
phone_tailstring手机号末 4 位(隐私脱敏;UI 展示用)
productstring商品描述(品牌 + 型号 + 配置)
amountnumber(NGN)订单金额
merchant_idstring
merchant_labelstringmerchant 短名(如 Ikeja,UI 紧凑展示)
statusenum同 04 分册 status 枚举
close_reasonenum?仅 status = Closed 时有;declined / returned / expired
fix_reasonenum?仅 status = FixRequired 时有;identity_mismatch / income_insufficient / guarantor_invalid / address_unverified / other
fix_notesstring?FixRequired 时的自由文本补充(其它状态可空)
offer_typeenum?仅 status ∈ {Approved, Signed, Paid, Completed} 时有;original / revised(风控调价)
expires_atstring(ISO 8601)?当前状态过期时间(如 Approved 有 24h 限时签约)
updated_atstring(ISO 8601)最后更新时间(默认列表排序字段)

关键异常

异常码含义前端处理
INVALID_STATUS_TABtab 不在枚举内兜底 — 不应该发生
MERCHANT_NOT_AUTHORIZED入参 merchant_id 不在 SA 授权列表清空筛选 + toast

2. 首页汇总(Pending Work + 公告)

业务描述:Home 页一次性拉取多个维度的汇总数据 — 待办计数(Pending Work 6 类)+ 公告列表。设计成”轻量汇总接口”减少 Home mount 时的多次请求。

触发场景:Home 页 mount / 下拉刷新。

入参

无业务字段(鉴权 token 即可)

出参

字段类型说明
pendingPendingCounts待办计数(按子类型)
announcementsarray<Announcement>平台公告列表(如运营推广 / 系统通知)

PendingCounts 结构

字段类型含义UI 标签
submitint进件中(Drafting 状态计数)Submit
fix_infoint需补正资料(FixRequired)Fix
signint待签约(Approved)Sign
payint待收首付(Signed)Pay
deliverint待交付(Paid)Deliver
in_approvalint审批中(Reviewing)Review
tasksint?其它平台分发任务(如运营让 SA 拜访某商户)Tasks

Announcement 结构

字段类型说明
idstring公告 ID
titlestring标题
subtitlestring副标题 / 摘要
link_urlstring?详情跳转链接(可选)
priorityint?排序权重(可选)

前端处理

  • 点击 Pending Work 某个数字卡 → 跳 Applications 页并自动应用对应 status_tab 筛选
  • 点击 Announcement → 浏览器打开 link_url 或显示详情 sheet

关键异常

异常码含义前端处理
HOME_DATA_PARTIAL部分子数据拉取失败(如 announcement 服务挂)局部空态 + 其它正常显示