手机分期审批封禁用户办单拦截 — 迭代需求

目标:当审批结论明确返回客户仍在封禁期内时,在 SA 代客办单完成客户 OTP 验证后立即阻止继续申请,避免为暂不可申请的客户创建草稿订单或重复提交审批。

1. 背景与目标

当前 SA 完成客户手机号 OTP 验证后,会继续进入存量订单判断和新办单流程。若审批已对该客户给出封禁截止时间,现场人员仍可能继续录入资料,直到后续节点才发现客户不可申请,造成无效操作和重复进件风险。

本期目标如下:

  • 审批返回有效封禁时间时,SA App 在 OTP 验证成功后的当前办单流程中即时拦截客户。
  • 向 SA 展示统一、非技术化的提示,并明确该客户可恢复申请的日期。
  • 不创建新草稿订单、不提交新的审批申请,也不以本地缓存或客户端时间绕过封禁。
  • 封禁到期后,由下一次办单时的服务端实时判断恢复可申请性;客户端不自行倒计时或预先放开。

2. 范围与边界

范围是否纳入说明
SA App 手机分期代客办单是仅覆盖客户 OTP 验证完成后进入后续办单前的拦截
审批返回的客户封禁时间是作为本次是否允许申请的权威判断依据
新草稿创建、资料采集、审批提交是命中封禁时均不得开始或继续
已有订单的查看与既有贷后服务否本期不改变已有订单详情、还款、交机或客服处理能力
SA 登录账号锁定、OTP 输错/过期否仍按既有登录及 OTP 异常规则处理,不与客户审批封禁混用
封禁策略、封禁时长和解封审批否由审批侧既有策略管理,本期只消费已返回的有效封禁结果

3. 角色与前置条件

角色/系统职责
SA为客户发起手机分期办单并完成客户 OTP 验证
SA App展示拦截结果,阻止本次办单继续向后流转
审批系统给出客户当前是否处于封禁期及封禁截止时间
业务服务在每次办单判断中使用审批返回的有效结果,防止创建或提交新的申请

前置条件:SA 已选择门店、商品和方案,并在客户验证页输入且成功校验客户 OTP;本期判断发生在创建新草稿订单前。

4. 主流程与状态规则

4.1 办单流程调整

客户 OTP 验证成功
        ↓
读取本次审批返回的客户可申请状态
        ↓
是否存在仍有效的封禁时间?
 ├─ 是:展示强阻断弹窗 → 留在客户验证页 → 本次办单结束
 └─ 否:继续既有存量订单判断 → 按原规则恢复订单或创建草稿

4.2 封禁判断规则

判断结果业务处理
审批返回封禁时间,且该时间仍有效判定为“暂时无法申请”,触发强阻断;不得创建草稿、保存新申请资料或提交审批
审批未返回封禁时间不触发本期拦截,继续既有流程
审批返回的封禁时间已到期不触发本期拦截;以本次服务端实时判断为准,继续既有流程
审批结果未知、超时或无法确认不得按“未封禁”放行;按既有“结果待确认/稍后重试”规则处理,不展示本期封禁文案
SA 退出后重新进入或更换设备继续办单必须重新取得当次权威判断;不得复用旧页面的“可申请”结论

封禁时间用于判断有效性及服务端审计;SA App 必须将其换算为产品所在国家/地区的业务日期并展示为可恢复申请日期,不展示具体时分秒、审批原因、风险规则、评分或第三方原始信息。日期格式使用英文月份缩写,例如 15 Sep 2026,不得由客户端自行推算或缓存。

4.3 判断优先级

同一次 OTP 验证成功后,按以下顺序判断,命中即停止后续判断和页面流转:

优先级判断项命中后的处理不再执行的后续判断
1审批结果未知、超时或无法确认按既有“结果待确认/稍后重试”规则阻断,不按未冻结放行冻结、存量订单、新草稿创建
2审批返回仍有效的客户冻结时间展示本需求的“暂时无法申请”强阻断弹窗存量订单恢复、创建新草稿、资料录入和审批提交
3无有效冻结继续既有存量订单判断仅按既有规则恢复订单或创建新草稿

因此,当同一客户既有未完成订单又处于有效冻结期时,优先展示冻结拦截,不展示或跳转既有订单;冻结结束且重新完成 OTP 验证后,才进入既有订单判断。

4.4 冻结与解冻时间规则

  1. 所有冻结开始日、冻结天数、可恢复申请日和是否已解冻的判断,均以尼日利亚时区 Africa/Lagos 为准;该时区为 UTC+1,且不使用夏令时。
  2. 冻结按完整自然日计算。审批在某一尼日利亚业务日返回冻结结论时,该业务日不计入冻结天数;从下一自然日 00:00:00 开始计入第 1 个冻结日。
  3. 冻结天数结束后的下一自然日 00:00:00 起可恢复申请。SA App 仅展示该日期,不展示时分秒;实际是否放行必须由该次服务端判断确认。
  4. 例如:客户于 9 月 1 日(尼日利亚时间)完成申请,审批返回“冻结 1 天”,则 9 月 2 日为完整冻结日,客户自 9 月 3 日 00:00:00(尼日利亚时间)起可重新申请;弹窗中的 {available_date} 显示为 3 Sep {year}。
  5. 若冻结期限跨月、跨年,仍按 Africa/Lagos 的自然日连续计算;不因 SA 设备时区、设备时间变更或夏令时设置改变。
  6. 封禁时间缺失、格式无效或与冻结天数不一致时,不得由 SA App 推算解冻日期;按“审批结果无法确认”处理,待审批侧返回可用的权威结果后再判断。

4.5 拦截后的页面与操作

项目规则
展示组件使用既有 E04_BLOCK 强阻断弹窗,不使用 Toast 或可忽略的顶部提示
标题Application unavailable
正文This customer is temporarily unable to apply. You can apply again from {available_date}.;其中 {available_date} 为审批返回封禁时间换算后的业务日期,例如 15 Sep 2026
主按钮Got It
主按钮行为关闭弹窗后停留在客户验证页;清除本次已输入的 OTP,不创建或继续当前申请
绕过限制遮罩点击、系统返回键和关闭控件均不得绕过;不得提供 Try Again、Continue、Create Application 或重新提交入口
后续操作SA 可返回选品/客户验证页为其他客户办单;如需再次为该客户尝试,必须重新从客户 OTP 验证开始并重新进行服务端判断

5. 业务数据与责任边界

业务数据归属与使用规则
审批封禁截止时间审批系统的权威结果;业务服务仅用于当次是否允许申请和审计,不由 SA App 计算或修改
客户可申请结论由业务服务在 OTP 成功后给出;SA App 只按结论展示和阻断
本次办单上下文SA App 在拦截后仅保留必要的页面返回能力;不得形成可继续提交的草稿
封禁原因与内部审批信息仅限审批/运营授权场景使用;SA App 对现场人员不展示

6. 异常与边界场景

场景处理
同一客户连续提交或网络重放服务端均再次执行有效封禁判断;任一次命中封禁都不得生成新草稿或审批申请
OTP 成功后拦截弹窗展示前页面刷新/断网不得假定可继续;重新进入后从客户 OTP 验证开始并取得权威结论
同时命中存量订单拦截和审批封禁审批封禁优先展示;本次流程不进入存量订单恢复或新建判断,避免暴露不必要的订单信息
封禁在 SA 停留页面期间到期不自动关闭弹窗或放开按钮;SA 需结束本次办单并重新完成 OTP 验证后再判断
既有草稿订单本期不删除、不改写既有草稿;但封禁命中时不得通过当前入口继续该草稿或提交新的审批

7. 验收标准

  1. SA 为客户完成 OTP 验证后,若审批返回仍有效的封禁时间,页面展示 Application unavailable 强阻断弹窗及正文 This customer is temporarily unable to apply. You can apply again from {available_date}.;{available_date} 与审批返回封禁时间换算后的产品业务日期一致。
  2. 该弹窗不能通过遮罩、返回键或关闭控件绕过;点击 Got It 后停留在客户验证页,且本次 OTP 被清除。
  3. 封禁命中后,系统未创建新草稿、未保存新的申请资料、未发起新的审批提交;重复点击、重放或换设备重试同样不产生新申请。
  4. 审批未返回封禁时间或服务端确认封禁已到期时,本期不拦截,流程按既有存量订单与草稿创建规则继续。
  5. 审批结果未知、超时或无法确认时,不得按未封禁放行,且不得误展示“temporarily unable to apply”作为兜底。
  6. SA 页面不展示具体封禁时分秒、封禁原因、风险规则、评分、技术码或第三方原始返回;但必须展示可恢复申请日期。