You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1.5 KiB
1.5 KiB
crm-base 通用批量结果骨架 BatchResult
Type: task Status: resolved Depends on: — ADR: docs/adr/0023-lead-batch-operations-and-view-stats.md (D2)
Question(实现目标)
在 crm-base 提供业务无关的批量结果泛型骨架,供各业务域批量接口复用。
交付物
crm-base/src/main/java/com/crm/base/domain/result/BatchResult.java- 泛型
BatchResult<F>,与Result/PageResult并列于domain/result。 - 字段:
int total、int successCount、int failCount、List<F> failures。 - 方法:
addSuccess()(total++、successCount++)、addFailure(F item)(total++、failCount++、failures.add)。 failures初始化为空ArrayList,避免 NPE。- 不得出现任何业务语义(不引用 lead/pool/任何域枚举)——crm-base 纯净性约束(AGENTS.md / CONTEXT-MAP)。
- 泛型
验收
- 编译通过:
mvn -q -pl crm-base -am compile。 - 全
*.java无 BOM(AGENTS.md 编码规范)。 - 单元测试:
addSuccess/addFailure计数正确,failures收集正确(可放 crm-base test)。
Comments
Answer
已交付。crm-base/src/main/java/com/crm/base/domain/result/BatchResult.java:泛型 BatchResult<F>(@Data),字段 total/successCount/failCount/List<F> failures(初始空 ArrayList),方法 addSuccess()/addFailure(F)。无任何业务语义。
验收:无 BOM;BatchResultTest 4/4 绿(mvn -pl crm-base test -Dtest=BatchResultTest BUILD SUCCESS)。