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

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 totalint successCountint failCountList<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)。