Commit 34292c25f5940155fb01ba02ef10998b2d45cf45

Authored by Bujidao
1 parent c1cc6b48

refactor(codegen): return concise root-cause message for import failures

yudao-module-infra/src/main/resources/codegen/java/service/serviceImpl.vm
... ... @@ -112,7 +112,7 @@ public class ${table.className}ServiceImpl implements ${table.className}Service
112 112 create${simpleClassName}(BeanUtils.toBean(importItem, ${saveReqVOClass}.class));
113 113 successCount.incrementAndGet();
114 114 } catch (Exception ex) {
115   - failureRows.put(currentIndex, ex.getMessage());
  115 + failureRows.put(currentIndex, resolveImportFailureMessage(ex));
116 116 }
117 117 });
118 118 return ${sceneEnum.prefixClass}${table.className}ImportRespVO.builder()
... ... @@ -122,6 +122,17 @@ public class ${table.className}ServiceImpl implements ${table.className}Service
122 122 .build();
123 123 }
124 124  
  125 + /**
  126 + * 仅返回根因异常信息,避免把 MyBatis 长堆栈直接暴露给前端。
  127 + */
  128 + private String resolveImportFailureMessage(Exception ex) {
  129 + Throwable root = ex;
  130 + while (root.getCause() != null && root.getCause() != root) {
  131 + root = root.getCause();
  132 + }
  133 + return root.getMessage() != null ? root.getMessage() : ex.getMessage();
  134 + }
  135 +
125 136 @Override
126 137 ## 特殊:主子表专属逻辑(非 ERP 模式)
127 138 #if ( $subTables && $subTables.size() > 0 && $table.templateType != 11 )
... ...