fix: 优化分页工具
This commit is contained in:
parent
81cefa3ffb
commit
77b77612b1
@ -80,8 +80,7 @@ public class EnvWqDataServiceImpl implements EnvWqDataService {
|
||||
}
|
||||
|
||||
sql.append(buildEnvWqOrderBySql(dataSourceRequest.getSort()));
|
||||
PageInfo pageInfo = QgcQueryWrapperUtil.getPageInfo(loadOptions);
|
||||
Page<?> page = pageInfo.getHasPageInfo() ? pageInfo.getPage() : null;
|
||||
Page<?> page = QgcQueryWrapperUtil.buildPage(loadOptions,loadOptions.getSkip(), loadOptions.getTake());
|
||||
List<EnvWqVo> list = microservicDynamicSQLMapper.pageAllListWithResultType(page, sql.toString(), paramMap, EnvWqVo.class);
|
||||
fillEnvWqDerivedFields(list, calculated);
|
||||
|
||||
@ -127,8 +126,7 @@ public class EnvWqDataServiceImpl implements EnvWqDataService {
|
||||
}
|
||||
|
||||
sql.append(buildEnvWqDataOrderBySql(dataSourceRequest.getSort()));
|
||||
PageInfo pageInfo = QgcQueryWrapperUtil.getPageInfo(loadOptions);
|
||||
Page<?> page = pageInfo.getHasPageInfo() ? pageInfo.getPage() : null;
|
||||
Page<?> page = QgcQueryWrapperUtil.buildPage(loadOptions,loadOptions.getSkip(), loadOptions.getTake());
|
||||
List<EnvWqDataVo> list = microservicDynamicSQLMapper.pageAllListWithResultType(page, sql.toString(), paramMap, EnvWqDataVo.class);
|
||||
fillEnvWqDataDerivedFields(list);
|
||||
fillEnvWqDataLimit(list);
|
||||
@ -658,8 +656,7 @@ public class EnvWqDataServiceImpl implements EnvWqDataService {
|
||||
}
|
||||
sql.append(buildVmsstbprptOrderBySql(dataSourceRequest == null ? null : dataSourceRequest.getSort(), queryEngDirectly));
|
||||
|
||||
PageInfo pageInfo = QgcQueryWrapperUtil.getPageInfo(loadOptions);
|
||||
Page<?> page = pageInfo.getHasPageInfo() ? pageInfo.getPage() : null;
|
||||
Page<?> page = QgcQueryWrapperUtil.buildPage(loadOptions,loadOptions.getSkip(), loadOptions.getTake());
|
||||
List<WqVmsstbprptVo> list = microservicDynamicSQLMapper.pageAllListWithResultType(page, sql.toString(), paramMap, WqVmsstbprptVo.class);
|
||||
|
||||
DataSourceResult<WqVmsstbprptVo> result = new DataSourceResult<>();
|
||||
|
||||
@ -316,8 +316,8 @@ public class SdWtMonitorServiceImpl implements SdWtMonitorService {
|
||||
sql.append(" AND ").append(filterSql).append(" ");
|
||||
}
|
||||
sql.append(buildSttpInfoOrderBySql(dataSourceRequest == null ? null : dataSourceRequest.getSort()));
|
||||
|
||||
Page<?> page = buildPage(dataSourceRequest == null ? null : dataSourceRequest.toDevRequest());
|
||||
DataSourceLoadOptionsBase loadOptions = dataSourceRequest.toDevRequest();
|
||||
Page<?> page = QgcQueryWrapperUtil.buildPage(loadOptions, loadOptions.getSkip(), loadOptions.getTake());
|
||||
List<SttpInfoVo> list = microservicDynamicSQLMapper.pageAllListWithResultType(page, sql.toString(), paramMap, SttpInfoVo.class);
|
||||
DataSourceResult<SttpInfoVo> result = new DataSourceResult<>();
|
||||
result.setData(list);
|
||||
@ -348,7 +348,7 @@ public class SdWtMonitorServiceImpl implements SdWtMonitorService {
|
||||
}
|
||||
sql.append(buildYearDetailOrderBySql(dataSourceRequest == null ? null : dataSourceRequest.getSort()));
|
||||
|
||||
Page<?> page = buildPage(loadOptions);
|
||||
Page<?> page = QgcQueryWrapperUtil.buildPage(loadOptions,loadOptions.getSkip(), loadOptions.getTake());
|
||||
List<SdYearDetailVO> list = microservicDynamicSQLMapper.pageAllListWithResultType(page, sql.toString(), paramMap, SdYearDetailVO.class);
|
||||
for (SdYearDetailVO vo : list) {
|
||||
vo.setActualTemp(vo.getWt());
|
||||
@ -393,7 +393,7 @@ public class SdWtMonitorServiceImpl implements SdWtMonitorService {
|
||||
}
|
||||
sql.append(buildMonthDetailOrderBySql(dataSourceRequest == null ? null : dataSourceRequest.getSort()));
|
||||
|
||||
Page<?> page = buildPage(loadOptions);
|
||||
Page<?> page = QgcQueryWrapperUtil.buildPage(loadOptions,loadOptions.getSkip(), loadOptions.getTake());
|
||||
List<SdMonthDetailVO> list = microservicDynamicSQLMapper.pageAllListWithResultType(page, sql.toString(), paramMap, SdMonthDetailVO.class);
|
||||
DataSourceResult<SdMonthDetailVO> result = new DataSourceResult<>();
|
||||
result.setData(list);
|
||||
@ -480,7 +480,7 @@ public class SdWtMonitorServiceImpl implements SdWtMonitorService {
|
||||
paramMap.put("baseId", baseId);
|
||||
}
|
||||
|
||||
Page<?> page = buildPage(dataSourceRequest.toDevRequest());
|
||||
Page<?> page = QgcQueryWrapperUtil.buildPage(loadOptions,loadOptions.getSkip(), loadOptions.getTake());
|
||||
List<WtFishVo> wtFishVoList = microservicDynamicSQLMapper.pageAllListWithResultType(page, sql.toString(), paramMap, WtFishVo.class);
|
||||
String hbrvcd = wtFishVoList.isEmpty() ? null : wtFishVoList.get(0).getHbrvcd();
|
||||
|
||||
@ -734,7 +734,7 @@ public class SdWtMonitorServiceImpl implements SdWtMonitorService {
|
||||
}
|
||||
|
||||
sql.append(buildVmsstbprptOrderBySql(dataSourceRequest.getSort()));
|
||||
Page<?> page = buildPage(loadOptions);
|
||||
Page<?> page = QgcQueryWrapperUtil.buildPage(loadOptions,loadOptions.getSkip(), loadOptions.getTake());
|
||||
List<SdWtBaseInfoVO> list = microservicDynamicSQLMapper.pageAllListWithResultType(page, sql.toString(), paramMap, SdWtBaseInfoVO.class);
|
||||
|
||||
DataSourceResult<SdWtBaseInfoVO> result = new DataSourceResult<>();
|
||||
@ -944,7 +944,8 @@ public class SdWtMonitorServiceImpl implements SdWtMonitorService {
|
||||
}
|
||||
|
||||
appendCxDetailOrderBy(sql, dataSourceRequest.getSort());
|
||||
Page<?> page = buildPage(dataSourceRequest.toDevRequest());
|
||||
DataSourceLoadOptionsBase loadOptions = dataSourceRequest.toDevRequest();
|
||||
Page<?> page = QgcQueryWrapperUtil.buildPage(loadOptions,loadOptions.getSkip(), loadOptions.getTake());
|
||||
List<WtCxDetailRow> rowList = microservicDynamicSQLMapper.pageAllListWithResultType(page, sql.toString(), paramMap, WtCxDetailRow.class);
|
||||
|
||||
List<Double> verticalList = getVerticals(rowList, wtDeviceType);
|
||||
@ -1777,14 +1778,6 @@ public class SdWtMonitorServiceImpl implements SdWtMonitorService {
|
||||
return " ORDER BY " + String.join(", ", orderColumns);
|
||||
}
|
||||
|
||||
private Page<?> buildPage(DataSourceLoadOptionsBase loadOptions) {
|
||||
PageInfo pageInfo = QgcQueryWrapperUtil.getPageInfo(loadOptions);
|
||||
if (Boolean.TRUE.equals(pageInfo.getHasPageInfo())) {
|
||||
return pageInfo.getPage();
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
private String buildVmsstbprptOrderBySql(List<DataSourceRequest.SortDescriptor> sortList) {
|
||||
List<String> orderColumns = new ArrayList<>();
|
||||
if (sortList != null) {
|
||||
|
||||
@ -77,6 +77,36 @@ public class QgcQueryWrapperUtil {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 支持页码模式和偏移量模式的分页
|
||||
* 优先使用页码模式:当 page > 0 且 pageSize > 0 时,自动转换为 take/skip
|
||||
* 否则回退到原有的 take/skip 偏移量模式
|
||||
*/
|
||||
public static PageInfo getPageInfo(DataSourceLoadOptionsBase loadOptions, Integer page, Integer pageSize) {
|
||||
if (page != null && page > 0 && pageSize != null && pageSize > 0) {
|
||||
loadOptions.setTake(pageSize);
|
||||
loadOptions.setSkip((page - 1) * pageSize);
|
||||
}
|
||||
return getPageInfo(loadOptions);
|
||||
}
|
||||
|
||||
|
||||
public static Page<?> buildPage(DataSourceLoadOptionsBase loadOptions) {
|
||||
PageInfo pageInfo = QgcQueryWrapperUtil.getPageInfo(loadOptions);
|
||||
if (Boolean.TRUE.equals(pageInfo.getHasPageInfo())) {
|
||||
return pageInfo.getPage();
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public static Page<?> buildPage(DataSourceLoadOptionsBase loadOptions, Integer page, Integer pageSize) {
|
||||
PageInfo pageInfo = QgcQueryWrapperUtil.getPageInfo(loadOptions, page, pageSize);
|
||||
if (Boolean.TRUE.equals(pageInfo.getHasPageInfo())) {
|
||||
return pageInfo.getPage();
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
private static void parseJArrayConditions(JsonArray jsonArray, String fieldName, StringBuffer fieldValue) {
|
||||
if (jsonArray != null && jsonArray.size() != 0) {
|
||||
if (jsonArray.get(0).isJsonPrimitive()) {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user