mirror of
https://github.com/dataease/dataease.git
synced 2026-05-23 05:48:13 +08:00
fix: 【数据导出中心】修复切换tab页导致cpu暴增
This commit is contained in:
@@ -127,8 +127,12 @@ public class ChartDataServer implements ChartDataApi {
|
||||
} else {
|
||||
viewDTO.setResultCount(viewLimit);
|
||||
}
|
||||
chartDataManage.encodeData(viewDTO);
|
||||
chartViewInfo = getData(viewDTO);
|
||||
if (CommonConstants.VIEW_DATA_FROM.TEMPLATE.equalsIgnoreCase(viewDTO.getDataFrom())) {
|
||||
chartViewInfo = extendDataManage.getChartDataInfo(viewDTO.getId(), viewDTO);
|
||||
} else {
|
||||
chartViewInfo = chartDataManage.calcData(chartViewInfo);
|
||||
}
|
||||
List<Object[]> tableRow = (List) chartViewInfo.getData().get("sourceData");
|
||||
if ("dataset".equals(request.getDownloadType())) {
|
||||
request.setHeader(dsHeader);
|
||||
|
||||
@@ -2,6 +2,8 @@ package io.dataease.exportCenter.manage;
|
||||
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.fasterxml.jackson.core.type.TypeReference;
|
||||
import io.dataease.api.chart.dto.ViewDetailField;
|
||||
import io.dataease.api.chart.request.ChartExcelRequest;
|
||||
@@ -31,6 +33,7 @@ import io.dataease.engine.utils.Utils;
|
||||
import io.dataease.exception.DEException;
|
||||
import io.dataease.exportCenter.dao.auto.entity.CoreExportTask;
|
||||
import io.dataease.exportCenter.dao.auto.mapper.CoreExportTaskMapper;
|
||||
import io.dataease.exportCenter.dao.ext.mapper.ExportTaskExtMapper;
|
||||
import io.dataease.exportCenter.util.ExportCenterUtils;
|
||||
import io.dataease.extensions.datasource.api.PluginManageApi;
|
||||
import io.dataease.extensions.datasource.dto.DatasetTableFieldDTO;
|
||||
@@ -86,6 +89,8 @@ public class ExportCenterManage implements BaseExportApi {
|
||||
@Resource
|
||||
private CoreExportTaskMapper exportTaskMapper;
|
||||
@Resource
|
||||
private ExportTaskExtMapper exportTaskExtMapper;
|
||||
@Resource
|
||||
private DatasetGroupManage datasetGroupManage;
|
||||
@Resource
|
||||
DataVisualizationServer dataVisualizationServer;
|
||||
@@ -263,27 +268,58 @@ public class ExportCenterManage implements BaseExportApi {
|
||||
}
|
||||
}
|
||||
|
||||
public List<ExportTaskDTO> exportTasks(String status) {
|
||||
public IPage<ExportTaskDTO> pager(Page<ExportTaskDTO> page, String status) {
|
||||
if (!STATUS.contains(status)) {
|
||||
DEException.throwException("Invalid status: " + status);
|
||||
}
|
||||
|
||||
QueryWrapper<CoreExportTask> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.eq("user_id", AuthUtils.getUser().getUserId());
|
||||
if (!status.equalsIgnoreCase("ALL")) {
|
||||
queryWrapper.eq("export_status", status);
|
||||
}
|
||||
queryWrapper.orderByDesc("export_time");
|
||||
List<CoreExportTask> exportTasks = exportTaskMapper.selectList(queryWrapper);
|
||||
List<ExportTaskDTO> result = new ArrayList<>();
|
||||
exportTasks.forEach(exportTask -> {
|
||||
ExportTaskDTO exportTaskDTO = new ExportTaskDTO();
|
||||
BeanUtils.copyBean(exportTaskDTO, exportTask);
|
||||
if (status.equalsIgnoreCase("ALL") || status.equalsIgnoreCase(exportTaskDTO.getExportStatus())) {
|
||||
setExportFromAbsName(exportTaskDTO);
|
||||
IPage<ExportTaskDTO> pager = exportTaskExtMapper.pager(page, queryWrapper);
|
||||
|
||||
List<ExportTaskDTO> records = pager.getRecords();
|
||||
records.forEach(exportTask -> {
|
||||
if (status.equalsIgnoreCase("ALL") || status.equalsIgnoreCase(exportTask.getExportStatus())) {
|
||||
setExportFromAbsName(exportTask);
|
||||
}
|
||||
if (status.equalsIgnoreCase("ALL") || status.equalsIgnoreCase(exportTaskDTO.getExportStatus())) {
|
||||
proxy().setOrg(exportTaskDTO);
|
||||
if (status.equalsIgnoreCase("ALL") || status.equalsIgnoreCase(exportTask.getExportStatus())) {
|
||||
proxy().setOrg(exportTask);
|
||||
}
|
||||
result.add(exportTaskDTO);
|
||||
});
|
||||
|
||||
return pager;
|
||||
}
|
||||
|
||||
|
||||
public Map<String, Long> exportTasks() {
|
||||
Map<String, Long> result = new HashMap<>();
|
||||
QueryWrapper<CoreExportTask> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.eq("user_id", AuthUtils.getUser().getUserId());
|
||||
queryWrapper.eq("export_status", "IN_PROGRESS");
|
||||
result.put("IN_PROGRESS", exportTaskMapper.selectCount(queryWrapper));
|
||||
|
||||
queryWrapper.clear();
|
||||
queryWrapper.eq("user_id", AuthUtils.getUser().getUserId());
|
||||
queryWrapper.eq("export_status", "SUCCESS");
|
||||
result.put("SUCCESS", exportTaskMapper.selectCount(queryWrapper));
|
||||
|
||||
queryWrapper.clear();
|
||||
queryWrapper.eq("user_id", AuthUtils.getUser().getUserId());
|
||||
queryWrapper.eq("export_status", "FAILED");
|
||||
result.put("FAILED", exportTaskMapper.selectCount(queryWrapper));
|
||||
|
||||
queryWrapper.clear();
|
||||
queryWrapper.eq("user_id", AuthUtils.getUser().getUserId());
|
||||
queryWrapper.eq("export_status", "PENDING");
|
||||
result.put("PENDING", exportTaskMapper.selectCount(queryWrapper));
|
||||
|
||||
queryWrapper.clear();
|
||||
queryWrapper.eq("user_id", AuthUtils.getUser().getUserId());
|
||||
result.put("ALL", exportTaskMapper.selectCount(queryWrapper));
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
package io.dataease.exportCenter.server;
|
||||
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import io.dataease.api.exportCenter.ExportCenterApi;
|
||||
import io.dataease.exportCenter.manage.ExportCenterManage;
|
||||
import io.dataease.exportCenter.util.ExportCenterUtils;
|
||||
@@ -11,6 +13,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@RestController
|
||||
@RequestMapping("/exportCenter")
|
||||
@@ -20,8 +23,14 @@ public class ExportCenterServer implements ExportCenterApi {
|
||||
private ExportCenterManage exportCenterManage;
|
||||
|
||||
@Override
|
||||
public List<ExportTaskDTO> exportTasks(String status) {
|
||||
return exportCenterManage.exportTasks(status);
|
||||
public Map<String, Long> exportTasks() {
|
||||
return exportCenterManage.exportTasks();
|
||||
}
|
||||
|
||||
@Override
|
||||
public IPage<ExportTaskDTO> pager(int goPage, int pageSize, String status) {
|
||||
Page<ExportTaskDTO> page = new Page<>(goPage, pageSize);
|
||||
return exportCenterManage.pager(page, status);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Reference in New Issue
Block a user