修正异常账户规则金额口径并补充后端验证记录

This commit is contained in:
wkc
2026-03-31 16:46:05 +08:00
parent d01362cc72
commit bfac1f10d2
2 changed files with 67 additions and 7 deletions

View File

@@ -1229,8 +1229,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
ai.account_no AS accountNo,
ai.invalid_date AS invalidDate,
max(tx.txDate) AS lastTxDate,
round(sum(tx.tradeAmount), 2) AS windowTotalAmount,
round(max(tx.tradeAmount), 2) AS windowMaxSingleAmount
round(sum(tx.tradeTotalAmount), 2) AS windowTotalAmount,
round(max(tx.tradeMaxSingleAmount), 2) AS windowMaxSingleAmount
from ccdi_account_info ai
inner join ccdi_base_staff staff
on staff.id_card = ai.owner_id
@@ -1241,7 +1241,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
STR_TO_DATE(LEFT(TRIM(bs.TRX_DATE), 19), '%Y-%m-%d %H:%i:%s'),
STR_TO_DATE(LEFT(TRIM(bs.TRX_DATE), 10), '%Y-%m-%d')
) AS txDate,
GREATEST(IFNULL(bs.AMOUNT_DR, 0), IFNULL(bs.AMOUNT_CR, 0)) AS tradeAmount
IFNULL(bs.AMOUNT_DR, 0) + IFNULL(bs.AMOUNT_CR, 0) AS tradeTotalAmount,
GREATEST(IFNULL(bs.AMOUNT_DR, 0), IFNULL(bs.AMOUNT_CR, 0)) AS tradeMaxSingleAmount
from ccdi_bank_statement bs
where bs.project_id = #{projectId}
and trim(IFNULL(bs.LE_ACCOUNT_NO, '')) != ''

View File

@@ -109,8 +109,67 @@ bin/mysql_utf8_exec.sh sql/migration/2026-03-31-add-abnormal-account-rule-test-d
- 员工 C 因沉睡期不足 6 个月未命中
- 员工 D 因销户前 30 天无流水未命中
## 5. 待补充验证
## 5. 最终验证汇总
- 最终定向测试汇总
- 最终改动文件清单
- 如有联调启动进程,记录已关闭结论
### 5.1 Java 定向测试
- 执行命令:
```bash
mvn -pl ccdi-project -am -Dsurefire.failIfNoSpecifiedTests=false \
-Dtest=CcdiAbnormalAccountRuleSqlMetadataTest,CcdiBankTagRuleSqlMetadataTest,CcdiBankTagServiceImplTest,CcdiProjectOverviewEmployeeResultBuilderTest \
test
```
- 执行结果:
- `Tests run: 25, Failures: 0, Errors: 0, Skipped: 0`
- `BUILD SUCCESS`
### 5.2 端到端链路验证
- 已重新执行后端打包:
```bash
mvn -pl ruoyi-admin -am package -DskipTests
```
- 已启动 `ruoyi-admin/target/ruoyi-admin.jar`,并使用测试登录接口获取 token
- 已调用手工重建接口:
```http
POST /ccdi/project/tags/rebuild
{
"projectId": 90331,
"modelCode": "ABNORMAL_ACCOUNT"
}
```
- 后端执行日志确认:
- 异常账户模型规则数为 `2`
- 实际命中数为 `2`
- 员工风险聚合已刷新
- 结果表校验确认:
- `SUDDEN_ACCOUNT_CLOSURE` 写入员工 `330101199001010001`
- `DORMANT_ACCOUNT_LARGE_ACTIVATION` 写入员工 `330101199001010002`
- 员工总览聚合表校验确认:
- 员工 A 聚合命中 `ABNORMAL_ACCOUNT / SUDDEN_ACCOUNT_CLOSURE`
- 员工 B 聚合命中 `ABNORMAL_ACCOUNT / DORMANT_ACCOUNT_LARGE_ACTIVATION`
### 5.3 进程关闭
- 端到端验证完成后,已主动关闭本轮启动的后端 `java -jar ruoyi-admin.jar` 进程
- 关闭日志可见 Quartz 调度器与 Druid 数据源正常释放,无残留后端进程
## 6. 最终改动文件清单
- `ccdi-project/pom.xml`
- `ccdi-project/src/main/java/com/ruoyi/ccdi/project/mapper/CcdiBankTagAnalysisMapper.java`
- `ccdi-project/src/main/java/com/ruoyi/ccdi/project/service/impl/CcdiBankTagServiceImpl.java`
- `ccdi-project/src/main/resources/mapper/ccdi/project/CcdiBankTagAnalysisMapper.xml`
- `ccdi-project/src/test/java/com/ruoyi/ccdi/project/sql/CcdiAbnormalAccountRuleSqlMetadataTest.java`
- `ccdi-project/src/test/java/com/ruoyi/ccdi/project/sql/CcdiBankTagRuleSqlMetadataTest.java`
- `ccdi-project/src/test/java/com/ruoyi/ccdi/project/service/impl/CcdiBankTagServiceImplTest.java`
- `ccdi-project/src/test/java/com/ruoyi/ccdi/project/service/impl/CcdiProjectOverviewEmployeeResultBuilderTest.java`
- `sql/migration/2026-03-31-create-ccdi-account-info-and-abnormal-account-rules.sql`
- `sql/migration/2026-03-31-add-abnormal-account-rule-test-data.sql`
- `docs/reports/implementation/2026-03-31-abnormal-account-bank-tag-backend-implementation.md`