Files
ccdi/docs/plans/backend/2026-03-16-large-transaction-project40-backend-implementation.md

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_DATEUSER_MEMOCUSTOMER_ACCOUNT_NAMEAMOUNT_DRAMOUNT_CR 等字段适合前端展示。

Step 3: 补充最终说明

在报告中注明依赖的默认阈值、复用的测试身份和复跑方式。

Step 4: Commit

git add docs/reports/implementation2026-03-16-project40-large-transaction-report.md
git commit -m "文档: 完善项目40大额交易测试流水报告"