diff --git a/core/core-backend/src/main/java/io/dataease/datasource/provider/ApiUtils.java b/core/core-backend/src/main/java/io/dataease/datasource/provider/ApiUtils.java index 4ed6d2836b..6b9cdd1bad 100644 --- a/core/core-backend/src/main/java/io/dataease/datasource/provider/ApiUtils.java +++ b/core/core-backend/src/main/java/io/dataease/datasource/provider/ApiUtils.java @@ -99,7 +99,7 @@ public class ApiUtils { dataList.addAll(fetchResult(response, apiDefinition)); String cursor = null; try { - cursor = JsonPath.read(response, apiDefinition.getRequest().getPage().getResponseData().get(0).getResolutionPath()); + cursor = JsonPath.read(response, apiDefinition.getRequest().getPage().getResponseData().get(0).getResolutionPath()).toString(); } catch (Exception e) { } while (cursor != null) { @@ -107,7 +107,11 @@ public class ApiUtils { response = execHttpRequest(false, apiDefinition, apiDefinition.getApiQueryTimeout() == null || apiDefinition.getApiQueryTimeout() <= 0 ? 10 : apiDefinition.getApiQueryTimeout(), params(datasourceRequest)); dataList.addAll(fetchResult(response, apiDefinition)); try { - cursor = JsonPath.read(response, apiDefinition.getRequest().getPage().getResponseData().get(0).getResolutionPath()); + if (cursor.equalsIgnoreCase(JsonPath.read(response, apiDefinition.getRequest().getPage().getResponseData().get(0).getResolutionPath()).toString())) { + cursor = null; + } else { + cursor = JsonPath.read(response, apiDefinition.getRequest().getPage().getResponseData().get(0).getResolutionPath()).toString(); + } } catch (Exception e) { cursor = null; } diff --git a/core/core-backend/src/main/java/io/dataease/datasource/provider/H2EngineProvider.java b/core/core-backend/src/main/java/io/dataease/datasource/provider/H2EngineProvider.java index 44ec51f73b..ed25d01714 100644 --- a/core/core-backend/src/main/java/io/dataease/datasource/provider/H2EngineProvider.java +++ b/core/core-backend/src/main/java/io/dataease/datasource/provider/H2EngineProvider.java @@ -45,7 +45,8 @@ public class H2EngineProvider extends EngineProvider { for (int i = 0; i < strings.length; i++) { if (tableFields.get(i).isChecked()) { if (StringUtils.isEmpty(strings[i])) { - if (tableFields.get(i).getFieldType().equals("LONG") || tableFields.get(i).getFieldType().equals("DOUBLE")) { + String type = tableFields.get(i).getType() == null ? tableFields.get(i).getFieldType() : tableFields.get(i).getType(); + if (type.equals("LONG") || type.equals("DOUBLE")) { strings1[length] = "0"; } else { strings1[length] = null; diff --git a/core/core-backend/src/main/java/io/dataease/datasource/provider/MysqlEngineProvider.java b/core/core-backend/src/main/java/io/dataease/datasource/provider/MysqlEngineProvider.java index f42ef48011..c9abc371c7 100644 --- a/core/core-backend/src/main/java/io/dataease/datasource/provider/MysqlEngineProvider.java +++ b/core/core-backend/src/main/java/io/dataease/datasource/provider/MysqlEngineProvider.java @@ -52,7 +52,8 @@ public class MysqlEngineProvider extends EngineProvider { for (int i = 0; i < strings.length; i++) { if (tableFields.get(i).isChecked()) { if (StringUtils.isEmpty(strings[i])) { - if (tableFields.get(i).getFieldType().equals("LONG") || tableFields.get(i).getFieldType().equals("DOUBLE")) { + String type = tableFields.get(i).getType() == null ? tableFields.get(i).getFieldType() : tableFields.get(i).getType(); + if (type.equals("LONG") || type.equals("DOUBLE")) { strings1[length] = "0"; } else { strings1[length] = null;