校验数据的准确性
This commit is contained in:
@@ -222,6 +222,7 @@ public class LbDailyUserTradeServiceImpl extends ServiceImpl<LbDailyUserTradeMap
|
||||
|
||||
List<LbDailyUserTrade> importList = new ArrayList<>();
|
||||
List<String> skippedRows = new ArrayList<>();
|
||||
int skippedHiddenRows = 0;
|
||||
DataFormatter dataFormatter = new DataFormatter();
|
||||
log.info("开始导入Excel,fileName={}, size={} bytes, defaultReportDate={}",
|
||||
originalFilename, file.getSize(), defaultReportDate);
|
||||
@@ -246,6 +247,12 @@ public class LbDailyUserTradeServiceImpl extends ServiceImpl<LbDailyUserTradeMap
|
||||
if (row == null || isEmptyRow(row, dataFormatter)) {
|
||||
continue;
|
||||
}
|
||||
// 隐藏行(行高为 0)在部分导出/复制模板中会与可见行重复存一份数据;
|
||||
// POI 仍会遍历到这些行,若不跳过会导致导入条数约为可见行的整数倍。
|
||||
if (row.getZeroHeight()) {
|
||||
skippedHiddenRows++;
|
||||
continue;
|
||||
}
|
||||
try {
|
||||
LbDailyUserTrade trade = parseTradeRow(row, headerIndexMap, dataFormatter, fallbackReportDate, normalizedTenantId);
|
||||
if (trade == null) {
|
||||
@@ -258,8 +265,8 @@ public class LbDailyUserTradeServiceImpl extends ServiceImpl<LbDailyUserTradeMap
|
||||
skippedRows.add((i + 1) + "(" + ex.getMessage() + ")");
|
||||
}
|
||||
}
|
||||
log.info("Excel解析完成,fileName={}, parsedCount={}, skippedCount={}",
|
||||
originalFilename, importList.size(), skippedRows.size());
|
||||
log.info("Excel解析完成,fileName={}, parsedCount={}, skippedCount={}, skippedHiddenRows={}",
|
||||
originalFilename, importList.size(), skippedRows.size(), skippedHiddenRows);
|
||||
if (importList.isEmpty()) {
|
||||
log.warn("Excel解析后无有效数据,fileName={}, tenantId={}, skippedRows={}",
|
||||
originalFilename, normalizedTenantId, skippedRows);
|
||||
@@ -285,6 +292,7 @@ public class LbDailyUserTradeServiceImpl extends ServiceImpl<LbDailyUserTradeMap
|
||||
result.put("success", false);
|
||||
result.put("message", "没有可导入的数据,请检查模板与内容");
|
||||
result.put("skippedRows", skippedRows);
|
||||
result.put("skippedHiddenRowCount", skippedHiddenRows);
|
||||
return result;
|
||||
}
|
||||
|
||||
@@ -322,13 +330,14 @@ public class LbDailyUserTradeServiceImpl extends ServiceImpl<LbDailyUserTradeMap
|
||||
return result;
|
||||
}
|
||||
|
||||
log.info("导入成功,fileName={}, importCount={}, skipCount={}",
|
||||
originalFilename, importList.size(), skippedRows.size());
|
||||
log.info("导入成功,fileName={}, importCount={}, skipCount={}, skippedHiddenRows={}",
|
||||
originalFilename, importList.size(), skippedRows.size(), skippedHiddenRows);
|
||||
result.put("success", true);
|
||||
result.put("message", "导入成功");
|
||||
result.put("importCount", importList.size());
|
||||
result.put("skipCount", skippedRows.size());
|
||||
result.put("skippedRows", skippedRows);
|
||||
result.put("skippedHiddenRowCount", skippedHiddenRows);
|
||||
return result;
|
||||
} finally {
|
||||
if (previousTenantId != null) {
|
||||
|
||||
Reference in New Issue
Block a user