99c4bf4f7d
问题:CargoTypeServiceImpl.importCargoType 循环内吞掉异常后正常 return, 方法正常返回导致 Spring 照常提交事务,@Transactional 起不到回滚作用。 含 1 行错误的文件会写入前面若干行正确数据,与「任一行失败即整批零写入」口径不符。 改动: - ImportFailureException 由 org.springblade.system.excel 迁至 org.springblade.common.excel(与 ImportFailureExcelUtil 同包)。 blade-transport 只依赖 blade-system-api,原先拿不到该异常, 迁到 blade-common 后 blade-system 与 blade-transport 均可引用。 - CargoTypeServiceImpl.importCargoType 补 @Transactional(rollbackFor = Exception.class), 错误收集完毕后抛 ImportFailureException 触发回滚,不再 return failureList。 - CargoTypeController.importCargoType 由「拿返回值导出」改为 「catch 异常 → 取 failureList 导出 → return null」,并补上传文件校验, 对齐 PortTerminalController 的写法。 - PortTerminalController / PortTerminalServiceImpl 仅调整 import 指向新包,行为不变。 验证: - mvn install -DskipTests 全量编译通过。 - 港口码头回归 45/45 通过,确认「异常搬家」未破坏既有基线。 - 货物类型回归 24/24 通过,含 02_一行错误多行正确_应零写入(库中零写入)。