82d823e68d
问题:FeeItemServiceImpl.importFeeItem 虽有 @Transactional,但循环内吞掉 异常后正常 return,Spring 照常提交——失败行之前的正确行已落库。 改动: - 服务层:错误收集完后抛 ImportFailureException(org.springblade.common.excel) 触发整批回滚;同时把失败原因写回原行对象 excel.setErrorMessage—— 抛出异常时携带的是原表 data,导出工具从行对象的 errorMessage 字段取原因, 只写在 FeeItemImportFailureExcel 副本上会导致失败明细原因为空。 - 控制器:改 catch 异常导出(exportFailureReasonOnly)+ 补上传文件校验, 对齐 PortTerminalController 写法。 验证:mvn install -DskipTests 通过;费用项回归 20/20 (tests/fixtures/fee-item/,含 02_一行错误多行正确_应零写入)。