后台管理技术实现方案

1. 目标

本方案用于把 02-后台管理功能框架与底座需求 中的功能框架和各菜单需求落到技术实现层,明确后台管理系统如何支撑:

  • 多 App 现金贷统一后台,不按 App 复制菜单。
  • 手机分期独立业务线接入统一门户、统一权限、统一审计和统一导出。
  • 共享客户、共享资金、运行保障、权限审计等中心按统一规则协作。
  • 后台查询屏蔽底层多库差异,用户不需要知道数据在哪个库。
  • 所有关键访问、明文查看、导出、配置变更和高风险操作可授权、可审计、可追溯。

P0 阶段优先实现查询、权限、数据范围、脱敏、导出、审计和告警基础能力;资金类写操作、完整审批流、自动对账、复杂报表后置。

2. 总体技术架构

后台管理建议采用“前端统一门户 + 后台网关 + 身份认证与管理底座服务 + 查询聚合服务 + 业务适配器”的架构。

后台前端
├─ 统一门户
├─ 现金贷管理平台
├─ 手机分期管理平台
├─ 共享客户中心
├─ 共享资金中心
├─ 运行保障中心
└─ 权限与审计中心
 
后台网关
├─ 登录态校验
├─ 路由转发
├─ 统一鉴权拦截
├─ 请求追踪 ID
└─ 限流与基础安全
 
管理底座服务
├─ 用户与角色服务
├─ 身份源与登录服务
├─ 权限与数据范围服务
├─ App 注册服务
├─ 数据源路由服务
├─ 敏感数据服务
├─ 导出服务
├─ 审计服务
└─ 告警服务
 
查询聚合服务
├─ 客户聚合
├─ 进件聚合
├─ 借款聚合
├─ 放款聚合
├─ 还款聚合
├─ 分期订单聚合
└─ 资金流水聚合
 
业务适配器
├─ 现金贷 App A 适配器
├─ 现金贷 App B 适配器
├─ 手机分期适配器
├─ 支付通道适配器
├─ 短信服务适配器
└─ 共享服务适配器

2.1 技术架构图

flowchart TB
    subgraph client[后台前端]
        portal[统一门户]
        cash[现金贷管理平台]
        phone[手机分期管理平台]
        customer[共享客户中心]
        payment[共享资金中心]
        ops[运行保障中心]
        admin[权限与审计中心]
    end

    subgraph gateway[后台网关]
        session[登录态校验]
        authFilter[统一鉴权拦截]
        trace["Trace ID"]
        rateLimit[限流与安全控制]
    end

    subgraph foundation[管理底座服务]
        userRole[用户与角色服务]
        identity[身份源与登录服务]
        permission[权限与数据范围服务]
        appRegistry[App 注册服务]
        route[数据源路由服务]
        sensitive[敏感数据服务]
        exportSvc[导出服务]
        audit[审计服务]
        alert[告警服务]
    end

    subgraph aggregate[查询聚合服务]
        customerAgg[客户聚合]
        applicationAgg[进件聚合]
        loanAgg[借款聚合]
        disbursementAgg[放款聚合]
        repaymentAgg[还款聚合]
        phoneOrderAgg[分期订单聚合]
        fundAgg[资金流水聚合]
    end

    subgraph adapter[业务适配器]
        cashAdapterA[现金贷 App A 适配器]
        cashAdapterB[现金贷 App B 适配器]
        phoneAdapter[手机分期适配器]
        paymentAdapter[支付通道适配器]
        smsAdapter[短信服务适配器]
        sharedAdapter[共享服务适配器]
    end

    subgraph data[数据源与外部服务]
        cashDbA[现金贷 App A 业务库]
        cashDbB[现金贷 App B 业务库]
        phoneDb[手机分期业务库]
        paymentChannel["支付 / 代扣通道"]
        smsProvider[短信服务]
        sharedService["共享客户 / 认证 / 风控服务"]
        fileStore[导出文件存储]
        auditDb[审计日志库]
        alertDb[告警库]
        feishuIdp[飞书身份源]
        larkIdp["Lark 身份源"]
    end

    client --> gateway
    gateway --> foundation
    gateway --> aggregate

    session --> userRole
    session --> identity
    authFilter --> permission
    trace --> audit

    aggregate --> permission
    aggregate --> route
    aggregate --> sensitive
    aggregate --> audit
    aggregate --> adapter

    appRegistry --> route
    route --> cashAdapterA
    route --> cashAdapterB
    route --> phoneAdapter

    exportSvc --> permission
    exportSvc --> aggregate
    exportSvc --> sensitive
    exportSvc --> fileStore
    exportSvc --> audit

    alert --> alertDb
    audit --> auditDb
    identity --> feishuIdp
    identity --> larkIdp

    cashAdapterA --> cashDbA
    cashAdapterB --> cashDbB
    phoneAdapter --> phoneDb
    paymentAdapter --> paymentChannel
    smsAdapter --> smsProvider
    sharedAdapter --> sharedService

    adapter --> alert

2.2 架构原则

  • 前端只做展示和交互,不作为权限可信边界。
  • 后台内部用户是权限主体,账号密码、飞书、Lark 等只是登录身份源。
  • 身份源需要按平台和租户隔离,不能用手机号或邮箱自动合并不同办公软件用户。
  • 网关和后端服务都必须校验权限,不能只依赖菜单隐藏。
  • 业务页面统一调用查询聚合服务,不直接连接具体 App 业务库。
  • 查询聚合服务通过数据源路由服务定位数据源。
  • 所有查询结果都必须带业务线、App、数据源、客户 ID、订单号等来源信息。
  • 敏感字段默认脱敏,明文查看必须走独立接口和审计。
  • 导出统一走导出服务,不允许业务接口直接返回大文件。
  • 审计采用统一模型,各中心只上报标准审计事件。

3. 服务划分

3.1 后台网关

职责:

  • 校验登录态和基础请求合法性。
  • 生成或透传 trace_id,贯穿接口、审计、导出和告警。
  • 解析当前用户上下文,包括用户 ID、角色、部门、团队、登录 IP。
  • 按接口元数据触发基础鉴权。
  • 统一处理限流、请求体大小、文件下载权限和安全响应头。

P0 要求:

  • 支持后台用户登录态校验。
  • 所有后台接口必须带 trace_id
  • 无权限、未登录、账号停用、账号锁定返回统一错误码。

3.2 用户与角色服务

职责:

  • 管理后台用户生命周期。
  • 管理后台内部用户与账号密码、飞书、Lark 等身份源的绑定关系。
  • 管理角色、菜单、资源、动作和字段权限。
  • 管理用户与角色绑定、用户单独授权、显式禁用权限。
  • 管理账号状态和会话失效。

核心能力:

能力说明
用户管理新增、编辑、启用、停用、锁定、解锁
身份绑定绑定、解绑、查询账号密码、飞书、Lark 等登录身份
角色管理角色定义、角色绑定、角色权限配置
会话管理登录、退出、会话刷新、强制失效
权限缓存缓存用户有效权限,权限变更后刷新或失效

3.2.1 身份源与登录服务

职责:

  • 管理账号密码、飞书、Lark 等登录身份源配置。
  • 处理三方办公软件授权回调后到后台内部用户的映射。
  • 维护后台用户与外部身份的绑定、解绑和主登录方式。
  • 生成统一登录会话,并把身份源信息写入登录审计。

身份模型:

后台内部用户 admin_user
├─ 本地账号密码身份
├─ 飞书身份 source=feishu, tenant_id=tenant_a, external_user_id=user_x
└─ Lark 身份 source=lark, tenant_id=tenant_b, external_user_id=user_y

核心规则:

  • 权限、角色、数据范围只挂在后台内部用户上,不直接挂在飞书或 Lark 用户上。
  • 一个后台内部用户可以绑定多个身份源。
  • 一个外部身份只能绑定一个后台内部用户。
  • 唯一性应按 identity_source + tenant_id + external_user_id 控制。
  • 飞书和 Lark 是不同身份源,即使邮箱或手机号相同,也不能自动合并。
  • 未绑定后台用户的三方身份首次登录时,不自动授予业务权限。
  • 后台用户停用、锁定、离职后,所有绑定身份源都不能继续登录后台。

P0 处理:

  • 数据模型、审计字段和接口预留三方身份源。
  • 账号密码登录可先落地。
  • 飞书、Lark 授权登录、通讯录同步和自动绑定流程可后续实现。

3.3 权限与数据范围服务

职责:

  • 输出当前用户对系统、菜单、资源、动作、字段和数据范围的有效权限。
  • 对查询、详情、导出、明文查看、高风险操作进行统一鉴权。
  • 提供数据范围过滤条件,供查询聚合服务下推。

权限计算模型:

有效权限 = 角色权限 + 用户单独授权 - 显式禁用权限
有效数据范围 = 角色允许范围 ∩ 用户授权范围 ∩ 当前请求范围

鉴权维度:

维度示例
系统cashloanphoneshared.customershared.paymentopsadmin
资源customerloanrepaymentphone.orderaudit
动作readsearchexportupdatehandleview_sensitive
数据范围App、国家、产品、门店、区域、商户、团队
字段范围手机号、BVN / NIN、银行卡、照片、联系人

3.4 App 注册服务

职责:

  • 管理现金贷 App 元数据。
  • 管理 App 与数据源、国家、产品、品牌的关系。
  • 管理 App 状态和变更日志。

P0 要求:

  • 新增 App 后,只需配置 App、数据源和权限,即可进入统一查询链路。
  • App 停用不影响历史数据查询,但默认不进入新增业务查询范围。
  • 数据源关系变更写入审计,并触发路由缓存刷新。

3.5 数据源路由服务

职责:

  • 根据 App、客户、订单、业务线定位具体数据源。
  • 屏蔽多 App、多库、不同业务线的数据源差异。
  • 返回可解释的路由结果和失败原因。

路由输入:

输入类型示例
App 维度app_idbrand_codecountry_code
客户维度customer_idglobal_customer_id、手机号、BVN / NIN
订单维度order_idglobal_order_id、借据号
业务线维度cashloanphoneshared.payment

路由输出:

字段说明
business_line业务线
app_idApp ID,手机分期可为空或使用业务线固定值
data_source_code数据源编码
adapter_code业务适配器编码
route_status成功、无权限、无数据源、数据源停用
route_reason失败原因或说明

3.6 查询聚合服务

职责:

  • 对前端提供统一查询接口。
  • 校验权限与数据范围。
  • 调用数据源路由服务定位数据源。
  • 并发调用一个或多个业务适配器。
  • 合并、分页、排序、脱敏、标记部分失败。

聚合策略:

场景策略
精确订单查询优先通过订单号定位单一 App / 数据源
按 App 列表查询按授权 App 范围路由到对应数据源
跨 App 客户查询在授权 App 范围内并发查询,允许部分失败
手机分期查询phone 业务线进入分期适配器
资金流水查询按业务线、App、通道流水号组合路由

统一响应要求:

{
  "trace_id": "string",
  "success": true,
  "partial_success": false,
  "data": [],
  "page": {
    "page_no": 1,
    "page_size": 20,
    "total": 0
  },
  "sources": [
    {
      "business_line": "cashloan",
      "app_id": "app_a",
      "data_source_code": "cashloan_app_a",
      "status": "success",
      "message": ""
    }
  ],
  "errors": []
}

3.7 业务适配器

职责:

  • 把统一查询请求转换为具体业务库或业务服务的查询。
  • 把业务侧返回转换为后台统一对象模型。
  • 不承载后台权限逻辑,只信任聚合服务传入的已授权数据范围。

适配器类型:

适配器说明
现金贷 App 适配器对接每个现金贷 App 的业务库或业务服务
手机分期适配器对接分期订单、门店、商户、商品、首付、还款等数据
支付通道适配器对接放款、还款、代扣、通道流水
短信适配器对接短信发送记录和成功率
共享服务适配器对接客户、认证、设备、风控摘要等共享数据

3.8 敏感数据服务

职责:

  • 定义敏感字段目录。
  • 对查询结果进行字段级脱敏。
  • 对明文查看进行独立鉴权、原因记录和审计。

脱敏策略:

字段默认展示
手机号中间位脱敏
BVN / NIN仅展示后 4 位
银行卡号仅展示后 4 位
证件号中间段脱敏
地址分段脱敏
联系人手机号中间位脱敏
客户照片默认不展示原图

3.9 导出服务

职责:

  • 接收导出申请。
  • 校验导出权限、字段范围、数据范围和导出原因。
  • 创建异步导出任务。
  • 调用查询聚合服务分批拉取数据。
  • 生成文件、水印、文件摘要。
  • 写入导出日志并提供下载。

导出任务状态:

pending -> running -> success
pending -> running -> failed
pending -> cancelled

P0 控制:

  • 导出权限独立配置。
  • 跨 App 导出需要更高权限。
  • 导出文件默认带水印。
  • 导出日志记录筛选条件、字段、范围、行数和文件摘要。

3.10 审计服务

职责:

  • 统一接收后台各服务审计事件。
  • 存储登录、查询、明文查看、导出、配置变更、告警处理、高风险操作日志。
  • 支持按操作人、对象、模块、时间、结果查询。

审计事件统一模型:

字段说明
audit_id审计记录 ID
trace_id请求追踪 ID
operator_id操作人
operator_roles操作时角色
module中心或模块
action查询、导出、修改、明文查看等
object_type客户、订单、用户、权限、告警等
object_id对象 ID
data_scope操作涉及的数据范围
before_value变更前值
after_value变更后值
reason操作原因
source_ip来源 IP
result成功、失败
created_at操作时间

3.11 告警服务

职责:

  • 汇总数据源异常、查询聚合超时、通道异常、短信异常、回调延迟等事件。
  • 提供告警列表、详情、认领、备注、关闭和恢复记录。
  • 将告警处理动作写入审计。

告警来源:

  • 查询聚合服务上报数据源失败和超时。
  • 数据源路由服务上报无可用数据源。
  • 支付通道适配器上报通道异常。
  • 短信适配器上报成功率异常。
  • 定时任务上报回调延迟、状态不一致等异常。

4. 核心调用链路

4.1 登录与门户加载

用户选择账号密码 / 飞书 / Lark 登录
-> 身份源与登录服务完成本地校验或三方授权回调校验
-> 身份源与登录服务解析外部身份并映射后台内部用户
-> 后台网关校验后台用户账号状态
-> 用户与角色服务生成统一后台会话
-> 权限服务计算系统入口、菜单、动作和数据范围
-> 门户返回可访问中心、菜单、工作台摘要
-> 审计服务记录登录日志

关键要求:

  • 后台会话必须绑定后台内部用户 ID,不能直接绑定飞书或 Lark 外部用户 ID。
  • 登录审计需要记录登录方式、身份源类型、租户 ID、外部用户 ID 摘要和后台用户 ID。
  • 停用、锁定、离职账号不能登录。
  • 未绑定后台用户的三方身份不能直接进入后台业务页面。
  • 权限变更后,权限缓存需要刷新或要求用户重新登录。
  • 门户只展示用户有权限访问的中心和菜单。

4.2 查询链路

前端发起查询
-> 网关校验登录态和基础权限
-> 查询聚合服务校验资源动作权限
-> 权限服务返回有效数据范围
-> 数据源路由服务定位数据源
-> 查询聚合服务调用业务适配器
-> 敏感数据服务脱敏
-> 查询聚合服务合并结果并标记来源
-> 审计服务记录查询事件
-> 前端展示结果、来源和部分失败提示

关键要求:

  • 查询必须携带系统、资源、动作、查询条件和当前 App 范围。
  • 后端必须以权限服务返回的数据范围为准,不能信任前端传入范围。
  • 跨 App 查询允许部分失败,但必须返回失败来源和原因。

4.3 明文查看链路

用户点击查看明文
-> 前端要求填写原因
-> 网关校验登录态
-> 敏感数据服务校验 view_sensitive 权限和字段范围
-> 查询聚合服务或适配器读取原始字段
-> 敏感数据服务返回明文
-> 审计服务记录明文查看日志

关键要求:

  • 明文查看必须独立接口。
  • 明文查看必须填写原因。
  • 明文字段不得进入普通列表接口缓存。

4.4 导出链路

用户提交导出申请
-> 导出服务校验导出权限、字段范围、数据范围和原因
-> 创建导出任务
-> 异步调用查询聚合服务分批拉取数据
-> 敏感数据服务按导出字段权限处理字段
-> 生成文件、水印和文件摘要
-> 审计服务记录导出日志
-> 用户下载文件

关键要求:

  • 导出任务必须异步。
  • 导出数据范围不能超过用户查询权限。
  • 导出字段范围不能超过用户字段权限。
  • 文件下载也必须校验下载人和任务归属。

4.5 配置变更链路

用户修改 App / 角色 / 数据范围 / 敏感权限
-> 网关校验登录态
-> 权限服务校验管理权限
-> 服务执行业务校验和变更
-> 写入变更前后值
-> 刷新相关缓存
-> 审计服务记录配置变更日志

关键要求:

  • 数据源关系、权限授权、敏感权限、导出权限属于高风险变更。
  • 高风险变更必须记录原因。
  • 权限和数据源变更后,需要刷新权限缓存、路由缓存或查询缓存。

5. 数据模型设计

5.1 核心配置表

说明
admin_user后台用户
admin_identity_source身份源配置,如账号密码、飞书、Lark
admin_user_identity_binding后台用户与外部身份绑定关系
admin_role后台角色
admin_user_role用户角色关系
admin_permission权限点定义
admin_role_permission角色权限关系
admin_user_permission_override用户单独授权和显式禁用
admin_data_scope数据范围定义
admin_user_data_scope用户数据范围
admin_sensitive_permission敏感字段权限
admin_menu菜单定义
admin_app_registryApp 注册信息
admin_data_source数据源定义
admin_app_data_sourceApp 与数据源关系

5.2 运行过程表

说明
admin_audit_log操作审计日志
admin_export_task导出任务
admin_export_file导出文件信息
admin_alert告警主表
admin_alert_event告警事件和处理记录
admin_route_log数据源路由日志,可按需保留
admin_query_log查询日志,可与审计日志合并
admin_login_log登录日志,可与审计日志合并

5.3 身份源绑定表建议

admin_identity_source 用于配置可用登录身份源。

字段说明
source_id身份源配置 ID
source_typepasswordfeishulark
source_name页面展示名称
tenant_id三方租户或组织标识
app_id三方应用 ID,敏感配置可只存引用
status启用、停用
callback_url授权回调地址
created_at创建时间
updated_at更新时间

admin_user_identity_binding 用于记录后台用户与外部身份的绑定关系。

字段说明
binding_id绑定关系 ID
user_id后台内部用户 ID
source_typepasswordfeishulark
tenant_id三方租户或组织标识
external_user_id三方用户唯一标识
open_id三方平台 Open ID,按平台能力存储
union_id三方平台 Union ID,按平台能力存储
external_email三方返回邮箱,不能作为唯一匹配依据
external_mobile三方返回手机号,默认脱敏存储或加密存储
binding_status待确认、已绑定、已解绑、已失效
is_primary_login是否主登录方式
last_login_at最近登录时间
bound_at绑定时间
unbound_at解绑时间

约束要求:

  • source_type + tenant_id + external_user_id 必须唯一。
  • open_idunion_id 的唯一约束需要按平台和租户分别设计,不能跨飞书与 Lark 共用。
  • external_emailexternal_mobile 只能用于展示、辅助确认或人工匹配,不能作为自动合并后台用户的唯一依据。

5.4 统一对象字段

业务适配器返回后台统一对象时,建议都补齐以下上下文字段:

字段说明
business_line业务线
system_code系统编码
app_idApp ID
app_nameApp 名称
country_code国家
product_code产品
data_source_code数据源
customer_idApp 客户 ID
global_customer_id全局客户 ID
order_id业务订单号
global_order_id全局订单号
created_at创建时间
updated_at更新时间

6. 接口设计建议

6.1 门户接口

接口说明
GET /admin/portal/me当前用户、角色、数据范围摘要
GET /admin/portal/entries当前用户可访问中心和系统入口
GET /admin/portal/menus当前用户可访问菜单
GET /admin/portal/workbench工作台摘要、最近访问、告警摘要

6.2 登录与身份源接口

接口说明
POST /admin/auth/login账号密码登录
GET /admin/auth/providers查询可用登录身份源
GET /admin/auth/{source_type}/authorize获取飞书、Lark 等三方授权地址
GET /admin/auth/{source_type}/callback三方授权回调
POST /admin/auth/logout退出登录
GET /admin/users/{user_id}/identity-bindings查询用户身份绑定
POST /admin/users/{user_id}/identity-bindings管理员绑定身份源
DELETE /admin/users/{user_id}/identity-bindings/{binding_id}管理员解绑身份源

6.3 权限接口

接口说明
POST /admin/auth/check校验资源动作权限
POST /admin/auth/data-scope/resolve计算当前请求有效数据范围
GET /admin/roles角色列表
GET /admin/permissions权限点列表
PUT /admin/users/{user_id}/roles配置用户角色
PUT /admin/users/{user_id}/data-scope配置用户数据范围

6.4 App 与路由接口

接口说明
GET /admin/appsApp 列表
POST /admin/apps新增 App
PUT /admin/apps/{app_id}编辑 App
POST /admin/apps/{app_id}/enable启用 App
POST /admin/apps/{app_id}/disable停用 App
POST /admin/routes/resolve解析数据源路由

6.5 查询聚合接口

接口说明
GET /admin/query/customers客户查询
GET /admin/query/applications进件查询
GET /admin/query/loans借款查询
GET /admin/query/disbursements放款查询
GET /admin/query/repayments还款查询
GET /admin/query/phone-orders手机分期订单查询
GET /admin/query/fund-flows资金流水查询

6.6 敏感、导出、审计、告警接口

接口说明
POST /admin/sensitive/reveal查看敏感字段明文
POST /admin/exports创建导出任务
GET /admin/exports/{task_id}查询导出任务
GET /admin/exports/{task_id}/download下载导出文件
GET /admin/audit-logs查询审计日志
GET /admin/alerts告警列表
GET /admin/alerts/{alert_id}告警详情
POST /admin/alerts/{alert_id}/claim认领告警
POST /admin/alerts/{alert_id}/close关闭告警
POST /admin/alerts/{alert_id}/comments告警备注

7. 缓存与一致性

7.1 建议缓存

缓存内容失效时机
用户权限缓存用户角色、菜单、动作、字段权限用户授权变更、角色变更、账号状态变更
身份绑定缓存用户绑定的账号密码、飞书、Lark 等身份身份绑定、解绑、身份源停用
数据范围缓存用户 App、国家、产品、门店、商户范围数据范围变更
App 注册缓存App 元数据、状态、产品关系App 配置变更
数据源路由缓存App 与数据源映射数据源关系变更
菜单缓存菜单树和资源点菜单配置变更

7.2 一致性要求

  • 权限收紧必须尽快生效,P0 建议不超过 5 分钟。
  • 账号停用、锁定、离职必须立即失效会话。
  • 三方身份解绑或身份源停用后,相关会话必须失效或在下一次请求被拒绝。
  • 数据源关系变更后必须刷新路由缓存。
  • 缓存异常时不能放大权限,应回源校验或拒绝访问。

8. 异常与降级

场景处理方式
权限服务异常拒绝访问或提示稍后重试,不允许默认放行
数据源路由失败返回无数据源或路由失败原因
单个 App 数据源异常返回部分成功,标明异常 App 和数据源
查询聚合超时返回已完成数据源结果和超时来源
敏感明文读取失败不返回明文,记录失败审计
导出失败任务置为失败,记录失败原因
审计写入失败核心高风险操作应失败或进入可靠补偿队列
告警服务异常不影响主查询链路,但需要记录系统日志

9. 安全控制

  • 所有后台接口必须登录后访问。
  • 所有写操作必须校验资源动作权限。
  • 所有查询必须校验数据范围。
  • 所有敏感字段默认脱敏。
  • 明文查看、导出、跨 App 查询、高风险配置必须独立授权。
  • 不允许前端传入任意数据源编码直接查库。
  • 不允许业务服务绕过审计执行高风险操作。
  • 导出文件需要水印、过期时间和下载权限校验。
  • 审计日志和导出文件摘要不可由普通管理员修改。

10. 部署建议

P0 可以按模块化服务部署,避免一开始拆得过细导致交付成本过高。

建议部署单元:

部署单元包含能力
后台前端统一门户和各中心页面
后台网关登录态、鉴权拦截、路由、追踪
权限管理服务用户、角色、权限、数据范围、菜单、身份绑定
身份源与登录服务账号密码、飞书、Lark 等登录身份源和授权回调
管理底座服务App 注册、数据源路由、敏感数据、审计、告警
查询聚合服务客户、订单、资金、分期等聚合查询
导出服务异步导出、文件生成、文件下载
业务适配器服务现金贷、手机分期、支付、短信等适配器

后续当查询量、导出量或业务复杂度上升时,可以再拆分客户聚合、资金聚合、告警、审计等独立服务。

11. P0 交付计划

11.1 第一阶段:权限和门户底座

  • 用户、角色、菜单、资源动作权限。
  • App 数据范围。
  • 身份源与用户绑定模型,预留飞书、Lark 登录接入。
  • 统一门户入口。
  • 登录、会话、账号停用和锁定。
  • 基础审计日志。

11.2 第二阶段:App 注册、路由和查询聚合

  • App 注册中心。
  • 数据源配置和路由。
  • 现金贷客户、进件、借款、放款、还款查询聚合。
  • 查询结果来源标识和部分失败处理。

11.3 第三阶段:敏感数据、导出和审计闭环

  • 敏感字段目录和默认脱敏。
  • 明文查看独立权限、原因和审计。
  • 异步导出任务、文件水印、导出日志。
  • 查询、导出、明文查看、配置变更审计。

11.4 第四阶段:共享客户、手机分期和运行保障

  • 共享客户中心基础视图。
  • 手机分期订单、首付、商户放款、还款查询。
  • 运行保障告警列表、详情、认领、备注、关闭。

11.5 第五阶段:共享资金中心

  • 放款流水、还款流水、通道交易、对账差异查询。
  • 资金类导出。
  • 资金异常定位。

12. 技术验收口径

  • 新增现金贷 App 后,只配置 App、数据源和权限即可进入统一查询,不需要新增菜单。
  • 后台用户只能看到授权中心、菜单和动作。
  • 后台接口会重新校验权限和数据范围。
  • 停用或锁定账号后,已有会话立即失效。
  • 后台会话以内部用户 ID 为权限主体,不能直接以飞书或 Lark 外部用户作为权限主体。
  • 同一后台用户可以绑定飞书、Lark 等多个身份源;同一外部身份不能绑定多个后台用户。
  • 飞书和 Lark 身份按 source_type + tenant_id + external_user_id 隔离,不能因邮箱或手机号相同自动合并。
  • 客服查询客户、订单、还款时不需要知道底层数据源。
  • 跨 App 查询只在授权 App 范围内执行。
  • 单个 App 数据源异常时,其他 App 结果可正常返回,并提示部分失败。
  • 敏感字段默认脱敏,明文查看必须独立授权、填写原因并写审计。
  • 导出必须异步执行,独立鉴权,记录字段、范围、数量、文件摘要和原因。
  • 权限变更、数据源变更、导出、明文查看、告警处理均可通过审计日志追溯。
  • 系统管理员不默认拥有业务数据明文查看和导出权限。