5.0 KiB
Project 40 Large Transaction Data Backend Implementation Plan
For Claude: REQUIRED SUB-SKILL: Use superpowers:executing-plans to implement this plan task-by-task.
Goal: 为开发库 project_id=40 直接插入一批符合大额交易模型口径的银行流水,并完成 SQL 级命中验证。
Architecture: 通过独立 SQL 脚本管理测试数据生命周期,只操作 ccdi_bank_statement。脚本先清理项目 40 旧流水,再按既定身份、账户、日期和金额批量插入命中流水与少量噪声流水,最后执行核验 SQL 确认每个指标至少命中一次。
Tech Stack: MySQL 5.7, PowerShell, 项目现有 ccdi_bank_statement 表结构, assets/大额交易.csv
Task 1: 固化设计与目标数据清单
Files:
- Modify:
D:\ccdi\ccdi\docs\plans\2026-03-16-large-transaction-project40-design.md - Create:
D:\ccdi\ccdi\assets\database\2026-03-16-project40-large-transaction-seed.sql
Step 1: 复核命中口径
对照 assets/大额交易.csv 和库内默认参数,整理每个指标的命中条件、阈值和使用身份。
Step 2: 写出目标数据清单
在 SQL 脚本注释区列出每类指标对应的样本数量、证件号、金额范围、关键词和日期范围。
Step 3: 自检唯一键策略
确认每条插入记录的 (project_id, LE_ACCOUNT_NO, ACCOUNTING_DATE_ID, AMOUNT_DR, AMOUNT_CR) 组合唯一。
Step 4: Commit
git add docs/design/2026-03-16-large-transaction-project40-design.md assets/database/2026-03-16-project40-large-transaction-seed.sql
git commit -m "文档: 补充项目40大额交易测试数据设计"
Task 2: 编写清理与插入 SQL
Files:
- Modify:
D:\ccdi\ccdi\assets\database\2026-03-16-project40-large-transaction-seed.sql
Step 1: 写清理语句
添加只针对 project_id=40 的删除语句:
DELETE FROM ccdi_bank_statement
WHERE project_id = 40;
Step 2: 编写最小插入块
先写 1 到 2 条房车消费和税务支出的插入语句,确认字段完整:
INSERT INTO ccdi_bank_statement (
project_id, LE_ID, ACCOUNT_ID, group_id, LE_ACCOUNT_NAME, LE_ACCOUNT_NO,
ACCOUNTING_DATE_ID, ACCOUNTING_DATE, TRX_DATE, CURRENCY,
AMOUNT_DR, AMOUNT_CR, AMOUNT_BALANCE, CASH_TYPE, CUSTOMER_LE_ID,
CUSTOMER_ACCOUNT_NAME, CUSTOMER_ACCOUNT_NO, customer_bank, customer_reference,
USER_MEMO, BANK_COMMENTS, BANK_TRX_NUMBER, BANK, TRX_FLAG, TRX_TYPE,
EXCEPTION_TYPE, internal_flag, batch_id, batch_sequence, CREATE_DATE,
created_by, meta_json, no_balance, begin_balance, end_balance,
override_bs_id, payment_method, cret_no
) VALUES (...);
Step 3: 扩展全部指标数据
补全单笔大额收入、累计收入、年流水超限、大额存现、多次存现、大额转账和噪声流水。
Step 4: 运行脚本
Run:
mysql --host=116.62.17.81 --user=root --password=*** --database=ccdi < assets/database/2026-03-16-project40-large-transaction-seed.sql
Expected: 执行成功,无唯一键冲突。
Step 5: Commit
git add assets/database/2026-03-16-project40-large-transaction-seed.sql
git commit -m "数据: 生成项目40大额交易测试流水"
Task 3: 编写并执行核验 SQL
Files:
- Modify:
D:\ccdi\ccdi\assets\database\2026-03-16-project40-large-transaction-seed.sql - Create:
D:\ccdi\ccdi\docs\implementation-reports\2026-03-16-project40-large-transaction-report.md
Step 1: 添加核验查询
在脚本末尾添加按 大额交易.csv 口径改写后的项目 40 验证查询,覆盖全部指标。
Step 2: 执行核验
Run:
mysql --host=116.62.17.81 --user=root --password=*** --database=ccdi -e "/* verify queries */"
Expected: 每个指标返回至少 1 条命中记录或 1 个命中分组。
Step 3: 记录结果
把每个指标的命中数量、示例流水编号和涉及人员写入报告文档。
Step 4: Commit
git add assets/database/2026-03-16-project40-large-transaction-seed.sql docs/reports/implementation2026-03-16-project40-large-transaction-report.md
git commit -m "验证: 完成项目40大额交易测试流水校验"
Task 4: 回归检查与收尾
Files:
- Modify:
D:\ccdi\ccdi\docs\implementation-reports\2026-03-16-project40-large-transaction-report.md
Step 1: 检查项目总量
Run:
mysql --host=116.62.17.81 --user=root --password=*** --database=ccdi -e "SELECT project_id, COUNT(*) FROM ccdi_bank_statement WHERE project_id=40 GROUP BY project_id;"
Expected: project_id=40 存在稳定数量的测试流水。
Step 2: 抽样检查页面关键字段
确认 TRX_DATE、USER_MEMO、CUSTOMER_ACCOUNT_NAME、AMOUNT_DR、AMOUNT_CR 等字段适合前端展示。
Step 3: 补充最终说明
在报告中注明依赖的默认阈值、复用的测试身份和复跑方式。
Step 4: Commit
git add docs/reports/implementation2026-03-16-project40-large-transaction-report.md
git commit -m "文档: 完善项目40大额交易测试流水报告"