审核队列 · 1,415 条待审
出处硬校验:锚点须在 K0 命中;手填出处强制 inferred。批量通过:规则类直接入 rules.yaml(一个 commit); 定义类需人工归簇请单张过。
建模纪律 · 知识分类骨架(11 类)—— 判不准时点开对锚点
没通过实体四条的,不是扔掉,是归位。每类锚在不同的数据形态上——锚不对就是归错了。
速判:占一张实体表 → 实体;按时间追加流水 → 事件;某实体会流转的取值 → 状态维;静态描述值 → 属性; 一组可选值 → 枚举;连两个实体 → 关系;多事件编排 → 流程;「如果…就…」→ 规则;施加的操作 → 动作;算出来的量 → 指标。 全文见仓库 建模纪律.md「纪律 2」。
Flex 第 28 位表示借新还旧新借据头息,取值 0=0、6=6%、9=9%(最大)。
"借新还旧新借据头息 | `0`=0 · `6`=6% · `9`=9%(最大)"
期数相关位段:Flex 第 13-14 位为新借据最大期数、15-16 位为最小期数、24-25/26-27 位为借新还旧可选最小/最大期数。
"第 13-14 新借据最大期数、15-16 最小期数、24-25/26-27 借新还旧可选最小/最大期数"
Market code 第 3-4 位表示会员有效期内还款提额比例,直读为整数百分比。
"Market code 第 3-4 位=会员有效期内还款提额比例(直读整数 %)"
Market code 第 5-7 位表示质押杠杆率,取值 105/110/120。
"第 5-7 位=质押杠杆率(`105/110/120`)"
取现 admin fee 月费率的范围已知为 0%–9%,具体档由引擎按 marketCode/额占率/低价档动态计算,前端无静态表。
"范围 0%–9% 已知"
罚息利率按 RIPLAY 口径为逾期 0.3%/日,前端字段无静态值。
"逾期 0.3%/日为 RIPLAY 口径"
提前还款违约金口径不统一:取现为 10%,消费为 8%,是否有意为之需 PM 确认。
"取现 10% vs 消费 8% 不同,需 PM 确认是否有意为之"
取现 admin fee 月费率由引擎按账户动态计算,试算返回 MONTH_INST_HANDLE_FEE_RATE。
"试算返回 `MONTH_INST_HANDLE_FEE_RATE`,按账户动态"
PayLater 一个用户的当前处境由多个相互独立的状态维度叠加描述:开通/KYC、账户冻结/拦截态、账单态、借据/还款态、会员态、客群态。
"PayLater 一个用户的"当前处境"由多个相互独立的状态维度叠加描述"
开通/KYC 态入口来自后端 OPEN_STATUS(开户/KYC 状态),前端有 OPEN_STATUS_MAP(开户结果路由)与 PayLaterStatus(更细扩展枚举)两套枚举。
"入口来自后端 `OPEN_STATUS`(开户/KYC 状态)"
OPEN_STATUS=T017 表示待视频面签(待 VB):未开户,需完成视频面签 KYC。
"待视频面签 (待 VB) | `OPEN_STATUS = T017`"
OPEN_STATUS=T022 表示待补充资料:未开户,待补充申请资料。
"待补充资料 | `OPEN_STATUS = T022`"
OPEN_STATUS=T023 表示待 VB+补充资料:未开户,需同时完成视频面签和补充资料。
"待 VB + 补充资料 | `OPEN_STATUS = T023`"
OPEN_STATUS=T215 表示授信审批中:资料已交,授信审批处理中。
"授信审批中 | `OPEN_STATUS = T215`"
OPEN_STATUS=T216 表示已开户(额度正常):开户成功,授信额度建立,可用。
"已开户(额度正常) | `OPEN_STATUS = T216`"
OPEN_STATUS=T217 表示开户管控/拒绝:开户被管控或拒绝,无法开户。
"开户管控 / 拒绝 | `OPEN_STATUS = T217`"
OPEN_STATUS=T211 表示未开户(初始):尚未开户的初始态。
"未开户(初始) | `OPEN_STATUS = T211`"
PayLaterStatus.Locked=ACTIVE_CREDIT_FREEZED 表示已开户额度锁定:已开户但额度异常、被锁定。
"Locked = ACTIVE_CREDIT_FREEZED` | 已开户但额度异常、被锁定"
表单层通过数字变体 currentPlaylaterStatus 等于 '1022' 或 '1017' 判断是否需要视频面签。
"`currentPlaylaterStatus === '1022' || '1017'`"
开通流转:未开户T211申请提交后进入待VB T017/待补料T022/待VB+补料T023,再到授信审批中T215;T215分流为已开户T216(进入正常用账)或开户管控/拒绝T217(终态);已开户T216额度异常则进入ACTIVE_CREDIT_FREEZED额度锁定。
"未开户 T211 → 申请提交"
账户冻结/可用态来源于后端 BLOCK_CODE 映射为 accountInfo.blockCode,构造时映射为 frozenState(ACCOUNT_FROZEN_STATE)。
"来源:后端 `BLOCK_CODE` →`accountInfo.blockCode`"
取款/支付前在 checkAccountBeforeWithdrawAndPay 按 blockCode 字符匹配进行拦截。
"取款/支付前在 `checkAccountBeforeWithdrawAndPay` 按字符匹配拦截"
blockCode 含 q 表示身份证待重传:账户未激活,弹窗要求重新上传身份证。
"身份证待重传 | `blockCode` 含 `q`"
blockCode 含 R|S|F|n|B 表示账户冻结:PayLater 不可用,弹窗账户已冻结。
"账户冻结 | `blockCode` 含 `R\|S\|F\|n\|B`"
blockCode 含 R/S 映射 frozenState=LOSS('RS'),表示账户挂失态。
"挂失态 | `blockCode` 含 `R` / `S`;`frozenState = ACCOUNT_FROZEN_STATE.LOSS('RS')`"
blockCode 含 F/n/B 映射 frozenState=LOCK('nBF'),表示风控锁定。
"风控锁定 | `blockCode` 含 `F` / `n` / `B`;`frozenState = ACCOUNT_FROZEN_STATE.LOCK('nBF')`"
blockCode 含 T 表示身份验证中:PayLater 未激活,弹窗身份验证中请等待。
"身份验证中 | `blockCode` 含 `T`"
blockCode 含 A|Z 或 acctStmtStatus=OVER_DUE,映射 frozenState=LOCK_PART('AZ'),表示财务系统部分锁定,弹窗引导还款。
"逾期 / 部分锁定 | `blockCode` 含 `A\|Z`;或 `acctStmtStatus === BILL_STATE_TYPE.OVER_DUE`;`frozenState = ACCOUNT_FROZEN_STATE.LOCK_PART('AZ')`"