2026-03-20 09:52:52 +08:00
|
|
|
|
# 模型信息 XLSX 更新实施记录
|
|
|
|
|
|
|
|
|
|
|
|
## 修改目标
|
|
|
|
|
|
|
|
|
|
|
|
- 直接更新 [assets/模型信息.xlsx](/Users/wkc/Desktop/ccdi/ccdi/assets/模型信息.xlsx)
|
|
|
|
|
|
- 按“已有真实 SQL 或真实结果产出逻辑才算已实现”的口径,区分跳过模型和待补充模型
|
|
|
|
|
|
- 对未实现模型新增 SQL 可执行性结论列,并补齐可从项目和数据库明确推出的缺失字段
|
|
|
|
|
|
|
|
|
|
|
|
## 判定口径
|
|
|
|
|
|
|
|
|
|
|
|
- 已实现并跳过:
|
|
|
|
|
|
- 仅认定 `CcdiBankTagServiceImpl` 已接入且 `CcdiBankTagAnalysisMapper.xml` 中存在真实查询逻辑的模型
|
|
|
|
|
|
- 本次跳过的是大额交易前 8 条规则:
|
|
|
|
|
|
- `HOUSE_OR_CAR_EXPENSE`
|
|
|
|
|
|
- `TAX_EXPENSE`
|
|
|
|
|
|
- `SINGLE_LARGE_INCOME`
|
|
|
|
|
|
- `CUMULATIVE_INCOME`
|
|
|
|
|
|
- `ANNUAL_TURNOVER`
|
|
|
|
|
|
- `LARGE_CASH_DEPOSIT`
|
|
|
|
|
|
- `FREQUENT_CASH_DEPOSIT`
|
|
|
|
|
|
- `LARGE_TRANSFER`
|
|
|
|
|
|
- 未实现并处理:
|
|
|
|
|
|
- 虽然项目已挂规则入口,但 `CcdiBankTagAnalysisMapper.xml` 中仍是 `where 1 = 0` 的占位 SQL
|
|
|
|
|
|
- 原始 SQL 引用了当前环境不存在的外部库表、字段或不兼容语法
|
|
|
|
|
|
- 原始 SQL 为空
|
|
|
|
|
|
|
|
|
|
|
|
## XLSX 修改内容
|
|
|
|
|
|
|
|
|
|
|
|
- 在 `Sheet1` 末尾新增两列:
|
|
|
|
|
|
- `当前环境是否可执行SQL`
|
|
|
|
|
|
- `当前缺少内容`
|
|
|
|
|
|
- 对未实现模型补齐了以下信息:
|
|
|
|
|
|
- 指标英文名统一补到当前项目规则编码风格,如 `ABNORMAL_CUSTOMER_TRANSACTION`、`WITHDRAW_AMT`、`SALARY_UNUSED`
|
|
|
|
|
|
- 少量技术口径按当前库表字段修正为真实表结构描述,例如:
|
|
|
|
|
|
- 房产相关规则由历史描述中的 `ccdi_family_liability` 调整为当前实际存在的 `ccdi_asset_info`
|
|
|
|
|
|
- 采购规则技术口径改为基于 `ccdi_purchase_transaction.actual_amount`
|
2026-03-20 10:17:00 +08:00
|
|
|
|
- 将 SQL 片段中引用的交易时间字段统一由 `trx_time` 修正为当前表结构实际字段 `TRX_DATE`
|
2026-03-20 10:23:14 +08:00
|
|
|
|
- 将资产信息 SQL 中引用的更新时间字段统一由 `updated_at` 修正为当前表结构实际字段 `update_time`
|
2026-03-20 10:49:42 +08:00
|
|
|
|
- 将“供应商集中度”原始 SQL 中的 `WITH` 公共表达式改写为当前 MySQL 可执行的派生表写法
|
2026-03-20 10:56:18 +08:00
|
|
|
|
- 将剩余未实现 SQL 中缺少派生表别名的子查询统一补齐别名
|
2026-03-20 11:02:21 +08:00
|
|
|
|
- 将剩余 SQL 中不兼容 MySQL 的 `add_months(current_date(), -12)` 统一替换为 `DATE_SUB(CURDATE(), INTERVAL 12 MONTH)`
|
2026-03-20 10:54:20 +08:00
|
|
|
|
- 将 `$$$$` 类占位符按 `ccdi_model_param` 与 `BankTagRuleConfigResolver` 核对为模型参数占位,并补齐对应参数编码说明
|
|
|
|
|
|
- 已确认匹配的参数编码包括:
|
|
|
|
|
|
- `LARGE_CASH_DEPOSIT`
|
|
|
|
|
|
- `FREQUENT_TRANSFER`
|
|
|
|
|
|
- `MULTI_PARTY_AMT_MIN / MULTI_PARTY_AMT_MAX`
|
|
|
|
|
|
- `MONTHLY_FIXED_INCOME`
|
|
|
|
|
|
- `FIXED_COUNTERPARTY_TRANSFER_MIN / FIXED_COUNTERPARTY_TRANSFER_MAX`
|
|
|
|
|
|
- `SINGLE_PURCHASE_AMOUNT`
|
|
|
|
|
|
- `SINGLE_SETTLEMENT_AMOUNT`
|
|
|
|
|
|
- `STOCK_TFR_LARGE`
|
2026-03-20 09:52:52 +08:00
|
|
|
|
- 对缺少原始 SQL 的行保留原业务口径,同时在新增列中明确写明“缺少原始SQL”
|
|
|
|
|
|
|
|
|
|
|
|
## SQL 可执行性结论
|
|
|
|
|
|
|
|
|
|
|
|
- 判定标准:
|
|
|
|
|
|
- 以当前 `ccdi` 库真实表结构为准
|
|
|
|
|
|
- 以当前 MySQL 能力为准
|
2026-03-20 10:03:23 +08:00
|
|
|
|
- 不假设外部 schema、外部表和临时表已经准备好
|
|
|
|
|
|
- `PROJECT_ID` 视为后续改造成 MyBatis 传参,不单独作为不可执行原因
|
2026-03-20 09:52:52 +08:00
|
|
|
|
- 本次结论概况:
|
2026-03-20 11:09:46 +08:00
|
|
|
|
- 标记为 `是` 的 19 行:
|
2026-03-20 10:17:00 +08:00
|
|
|
|
- `2.2 低收入亲属大额交易 / LOW_INCOME_RELATIVE_LARGE_TRANSACTION`
|
2026-03-20 10:56:18 +08:00
|
|
|
|
- `3.1 疑似赌博交易 / MULTI_PARTY_AMT_MIN / MULTI_PARTY_AMT_MAX`
|
2026-03-20 10:03:23 +08:00
|
|
|
|
- `3.2 疑似敏感交易 / GAMBLING_SENSITIVE_KEYWORD`
|
2026-03-20 11:09:46 +08:00
|
|
|
|
- `4 可疑关系 / SPECIAL_AMOUNT_TRANSACTION`
|
2026-03-20 11:02:21 +08:00
|
|
|
|
- `5.1 疑似兼职 / MONTHLY_FIXED_INCOME`
|
|
|
|
|
|
- `5.2 疑似兼职 / FIXED_COUNTERPARTY_TRANSFER_MIN / FIXED_COUNTERPARTY_TRANSFER_MAX`
|
2026-03-20 10:03:23 +08:00
|
|
|
|
- `5.3 疑似兼职关键词收入 / SUSPICIOUS_INCOME_KEYWORD`
|
2026-03-20 11:09:46 +08:00
|
|
|
|
- `6.1 可疑财产 / HOUSE_REGISTRATION_MISMATCH`
|
|
|
|
|
|
- `6.2 可疑财产 / PROPERTY_FEE_REGISTRATION_MISMATCH`
|
|
|
|
|
|
- `6.3 可疑财产 / TAX_ASSET_REGISTRATION_MISMATCH`
|
2026-03-20 10:54:20 +08:00
|
|
|
|
- `7 可疑外汇交易-购汇 / SINGLE_PURCHASE_AMOUNT`
|
|
|
|
|
|
- `7 可疑外汇交易-结汇 / SINGLE_SETTLEMENT_AMOUNT`
|
2026-03-20 09:52:52 +08:00
|
|
|
|
- `9.1 可疑采购 / LARGE_PURCHASE_TRANSACTION`
|
2026-03-20 10:49:42 +08:00
|
|
|
|
- `9.2 供应商集中度 / SUPPLIER_CONCENTRATION`
|
2026-03-20 10:54:20 +08:00
|
|
|
|
- `10.1 可疑银证大额转账 / STOCK_TFR_LARGE`
|
2026-03-20 10:17:00 +08:00
|
|
|
|
- `10.2 微信支付宝频繁提现 / WITHDRAW_CNT`
|
|
|
|
|
|
- `10.3 工资快速转出 / SALARY_QUICK_TRANSFER`
|
2026-03-20 10:56:18 +08:00
|
|
|
|
- `异常行为-工资无使用记录 / SALARY_UNUSED`
|
2026-03-20 10:03:23 +08:00
|
|
|
|
- `10.4 大额炒股 / LARGE_STOCK_TRADING`
|
2026-03-20 09:52:52 +08:00
|
|
|
|
- 标记为 `否` 的未实现行,主要原因包括:
|
|
|
|
|
|
- 缺少外部表,如 `odsdb.blfmconf`、`sjfx_pro.bdfmhqaa_orc`、`xdzx.*`
|
|
|
|
|
|
- 原始 SQL 为空
|
2026-03-20 11:09:46 +08:00
|
|
|
|
- 码值补正依据:
|
|
|
|
|
|
- `relation_type` 已通过 `sys_dict_data.dict_type = 'ccdi_relation_type'` 和 `ccdi_staff_fmy_relation` 现网样例值确认,当前环境实际存储值为 `配偶`、`子女` 等中文值,因此 `4 可疑关系` 改为 `not in ('配偶','子女')`
|
|
|
|
|
|
- `asset_status` 已通过 `sys_dict_data.dict_type = 'ccdi_asset_status'` 确认为中文值,当前环境使用 `正常`
|
|
|
|
|
|
- `assetMainType`、`assetSubType` 在前端页面中为自由录入文本,不走字典;结合 `ccdi_asset_info` 当前样例数据,房产记录使用 `房产 / 住宅 / 正常`,因此 `6.1`、`6.2`、`6.3` 改为字符串字面量并判定为可执行
|
2026-03-20 09:52:52 +08:00
|
|
|
|
|
|
|
|
|
|
## 验证记录
|
|
|
|
|
|
|
2026-03-20 10:54:20 +08:00
|
|
|
|
- 已执行工作簿结构校验,确认当前工作簿为 14 列,新增的 `当前环境是否可执行SQL`、`当前缺少内容` 两列仍在表尾
|
2026-03-20 11:09:46 +08:00
|
|
|
|
- 已重新核对“码值不明确”的 4 行,确认 `SPECIAL_AMOUNT_TRANSACTION`、`HOUSE_REGISTRATION_MISMATCH`、`PROPERTY_FEE_REGISTRATION_MISMATCH`、`TAX_ASSET_REGISTRATION_MISMATCH` 当前均为 `是 /`
|
|
|
|
|
|
- 已再次扫描整表,确认 `当前缺少内容` 中已不存在“码值”“枚举”“引号”“中文常量”等剩余原因
|
2026-03-20 09:52:52 +08:00
|
|
|
|
- 已抽样回读以下关键行,确认新增列和补齐字段已写入:
|
|
|
|
|
|
- 第 10 行:异常交易 2.1
|
|
|
|
|
|
- 第 12 行:疑似赌博 3.1
|
|
|
|
|
|
- 第 15 行:可疑兼职 5.1
|
|
|
|
|
|
- 第 18 行:可疑财产 6.1
|
|
|
|
|
|
- 第 21 行:可疑财产 收入资产不符
|
|
|
|
|
|
- 第 24 行:可疑外汇交易 跨境汇款
|
|
|
|
|
|
- 第 26 行:可疑采购 9.1
|
|
|
|
|
|
- 第 27 行:可疑采购 9.2
|
|
|
|
|
|
- 第 30 行:异常行为 微信支付宝提现超额
|
|
|
|
|
|
- 第 32 行:异常行为 工资无使用记录
|
|
|
|
|
|
- 第 34 行:异常行为 疑似代理他人账户
|
|
|
|
|
|
|
|
|
|
|
|
## 本次涉及文件
|
|
|
|
|
|
|
|
|
|
|
|
- 更新 [assets/模型信息.xlsx](/Users/wkc/Desktop/ccdi/ccdi/assets/模型信息.xlsx)
|
|
|
|
|
|
- 新增 [docs/design/2026-03-20-model-info-xlsx-update-design.md](/Users/wkc/Desktop/ccdi/ccdi/docs/design/2026-03-20-model-info-xlsx-update-design.md)
|
|
|
|
|
|
- 新增 [docs/plans/fullstack/2026-03-20-model-info-xlsx-update-implementation.md](/Users/wkc/Desktop/ccdi/ccdi/docs/plans/fullstack/2026-03-20-model-info-xlsx-update-implementation.md)
|
|
|
|
|
|
- 新增 [docs/reports/implementation/2026-03-20-model-info-xlsx-update-record.md](/Users/wkc/Desktop/ccdi/ccdi/docs/reports/implementation/2026-03-20-model-info-xlsx-update-record.md)
|