diff --git a/core/core-backend/src/main/java/io/dataease/template/dao/ext/ExtVisualizationTemplateMapper.java b/core/core-backend/src/main/java/io/dataease/template/dao/ext/ExtVisualizationTemplateMapper.java index 46e9fe37f1..3c575ac51d 100644 --- a/core/core-backend/src/main/java/io/dataease/template/dao/ext/ExtVisualizationTemplateMapper.java +++ b/core/core-backend/src/main/java/io/dataease/template/dao/ext/ExtVisualizationTemplateMapper.java @@ -2,6 +2,7 @@ package io.dataease.template.dao.ext; import io.dataease.api.template.dto.TemplateManageDTO; import io.dataease.api.template.request.TemplateManageRequest; +import io.dataease.api.visualization.vo.*; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -28,6 +29,29 @@ public interface ExtVisualizationTemplateMapper{ Long checkCategoryTemplateBatchNames(@Param("templateNames") List templateNames,@Param("categories") List categories,@Param("templateArray") List templateArray); List findTemplateCategories(@Param("templateId") String templateId); + List findTemplateArrayCategories(@Param("templateArray") List templateArray); + List findAppViewInfo(@Param("viewIds") List viewIds); + + List findAppDatasetGroupInfo(@Param("dsIds") List dsIds); + + List findAppDatasetTableInfo(@Param("dsIds") List dsIds); + + List findAppDatasetTableFieldInfo(@Param("dsIds") List dsIds); + + List findAppDatasourceInfo(@Param("dsIds") List dsIds); + + List findAppDatasourceTaskInfo(@Param("dsIds") List dsIds); + + List findAppLinkageInfo(@Param("dvId") Long dvId); + + List findAppLinkageFieldInfo(@Param("dvId") Long dvId); + + List findAppLinkJumpInfo(@Param("dvId") Long dvId); + + List findAppLinkJumpInfoInfo(@Param("dvId") Long dvId); + + List findAppJumpTargetViewInfo(@Param("dvId") Long dvId); + } diff --git a/core/core-backend/src/main/java/io/dataease/visualization/server/DataVisualizationServer.java b/core/core-backend/src/main/java/io/dataease/visualization/server/DataVisualizationServer.java index 721adc0b50..c340178ea3 100644 --- a/core/core-backend/src/main/java/io/dataease/visualization/server/DataVisualizationServer.java +++ b/core/core-backend/src/main/java/io/dataease/visualization/server/DataVisualizationServer.java @@ -2,13 +2,12 @@ package io.dataease.visualization.server; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; +import io.dataease.api.visualization.request.VisualizationAppExportRequest; import io.dataease.api.visualization.vo.*; import io.dataease.dataset.manage.DatasetDataManage; import io.dataease.dataset.manage.DatasetGroupManage; -import io.dataease.dataset.manage.DatasetTableManage; import io.dataease.extensions.datasource.dto.DatasetTableDTO; import io.dataease.extensions.datasource.dto.DatasetTableFieldDTO; -import io.dataease.extensions.datasource.dto.DatasourceDTO; import io.dataease.extensions.view.dto.ChartViewDTO; import io.dataease.api.template.dto.TemplateManageFileDTO; import io.dataease.api.template.dto.VisualizationTemplateExtendDataDTO; @@ -35,6 +34,7 @@ import io.dataease.template.dao.auto.entity.VisualizationTemplate; import io.dataease.template.dao.auto.entity.VisualizationTemplateExtendData; import io.dataease.template.dao.auto.mapper.VisualizationTemplateExtendDataMapper; import io.dataease.template.dao.auto.mapper.VisualizationTemplateMapper; +import io.dataease.template.dao.ext.ExtVisualizationTemplateMapper; import io.dataease.template.manage.TemplateCenterManage; import io.dataease.utils.*; import io.dataease.visualization.dao.auto.entity.DataVisualizationInfo; @@ -45,7 +45,6 @@ import io.dataease.visualization.dao.ext.mapper.ExtDataVisualizationMapper; import io.dataease.visualization.manage.CoreVisualizationManage; import jakarta.annotation.Resource; import org.apache.commons.lang3.ObjectUtils; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; import org.springframework.web.bind.annotation.RequestBody; @@ -102,6 +101,9 @@ public class DataVisualizationServer implements DataVisualizationApi { @Resource private DatasetDataManage datasetDataManage; + @Resource + private ExtVisualizationTemplateMapper appTemplateMapper; + @Override public DataVisualizationVO findCopyResource(Long dvId, String busiFlag) { DataVisualizationVO result = findById(new DataVisualizationBaseRequest(dvId, busiFlag)); @@ -131,11 +133,11 @@ public class DataVisualizationServer implements DataVisualizationApi { BeanUtils.copyBean(watermarkVO, watermark); result.setWatermarkInfo(watermarkVO); - if(DataVisualizationConstants.QUERY_SOURCE.REPORT.equals(request.getSource()) && request.getTaskId() != null){ + if (DataVisualizationConstants.QUERY_SOURCE.REPORT.equals(request.getSource()) && request.getTaskId() != null) { //获取定时报告过自定义过滤组件信息 - List filterVOS = extDataVisualizationMapper.queryReportFilter(dvId,request.getTaskId()); + List filterVOS = extDataVisualizationMapper.queryReportFilter(dvId, request.getTaskId()); if (!CollectionUtils.isEmpty(filterVOS)) { - Map reportFilterInfo = filterVOS.stream().collect(Collectors.toMap(VisualizationReportFilterVO::getFilterId, filterVo ->filterVo)); + Map reportFilterInfo = filterVOS.stream().collect(Collectors.toMap(VisualizationReportFilterVO::getFilterId, filterVo -> filterVo)); result.setReportFilterInfo(reportFilterInfo); } } @@ -350,13 +352,13 @@ public class DataVisualizationServer implements DataVisualizationApi { for (Map.Entry entry : dynamicDataMap.entrySet()) { String originViewId = entry.getKey(); Object viewInfo = entry.getValue(); - try{ + try { // 旧模板图表过滤器适配 - if(viewInfo instanceof Map && ((Map)viewInfo).get("customFilter") instanceof ArrayList){ - ((Map)viewInfo).put("customFilter",new HashMap<>()); + if (viewInfo instanceof Map && ((Map) viewInfo).get("customFilter") instanceof ArrayList) { + ((Map) viewInfo).put("customFilter", new HashMap<>()); } - }catch(Exception e){ - LogUtil.error("History Adaptor Error",e); + } catch (Exception e) { + LogUtil.error("History Adaptor Error", e); } String originViewData = JsonUtil.toJSONString(entry.getValue()).toString(); ChartViewDTO chartView = JsonUtil.parseObject(originViewData, ChartViewDTO.class); @@ -381,7 +383,7 @@ public class DataVisualizationServer implements DataVisualizationApi { request.setCanvasStyleData(templateStyle); //Store static resource into the server staticResourceServer.saveFilesToServe(staticResource); - return new DataVisualizationVO(newDvId, name, dvType,version, templateStyle, templateData, canvasViewInfo, null); + return new DataVisualizationVO(newDvId, name, dvType, version, templateStyle, templateData, canvasViewInfo, null); } @Override @@ -393,47 +395,46 @@ public class DataVisualizationServer implements DataVisualizationApi { public List detailList(Long dvId) { List result = extDataVisualizationMapper.getVisualizationViewDetails(dvId); DataVisualizationInfo dvInfo = visualizationInfoMapper.selectById(dvId); - if(dvInfo != null && !CollectionUtils.isEmpty(result)){ + if (dvInfo != null && !CollectionUtils.isEmpty(result)) { String componentData = dvInfo.getComponentData(); - return result.stream().filter(item ->componentData.indexOf(String.valueOf(item.getId()))>0).toList(); - }else{ + return result.stream().filter(item -> componentData.indexOf(String.valueOf(item.getId())) > 0).toList(); + } else { return result; } } @Override - public VisualizationExport2AppVO export2AppCheck(Long dvId) { - //1.获取所有视图信息 - List chartViewsInfo = chartViewManege.listBySceneId(dvId); - //2.获取视图扩展字段信息 获取所有数据集信息 - List allTableIds = chartViewsInfo.stream().map(ChartViewDTO::getTableId).collect(Collectors.toList()); - List datasetTablesInfo = datasetGroupManage.getDetail(allTableIds); - // dataset check - if (CollectionUtils.isEmpty(datasetTablesInfo)) { - return new VisualizationExport2AppVO(Translator.get("I18N_APP_NO_DATASET_ERROR")); + public VisualizationExport2AppVO export2AppCheck(VisualizationAppExportRequest appExportRequest) { + List viewIds = appExportRequest.getViewIds(); + List dsIds = appExportRequest.getDsIds(); + Long dvId = appExportRequest.getDvId(); + List chartViewVOInfo = null; + List datasetGroupVOInfo = null; + List datasetTableVOInfo = null; + List datasetTableFieldVOInfo = null; + List datasourceVOInfo = null; + List datasourceTaskVOInfo = null; + //TODO 获取所有视图信息 + if (CollectionUtils.isEmpty(viewIds)) { + chartViewVOInfo = appTemplateMapper.findAppViewInfo(viewIds); + } + if (CollectionUtils.isEmpty(dsIds)) { + datasetGroupVOInfo = appTemplateMapper.findAppDatasetGroupInfo(dsIds); + datasetTableVOInfo = appTemplateMapper.findAppDatasetTableInfo(dsIds); + datasetTableFieldVOInfo = appTemplateMapper.findAppDatasetTableFieldInfo(dsIds); + datasourceVOInfo = appTemplateMapper.findAppDatasourceInfo(dsIds); + datasourceTaskVOInfo = appTemplateMapper.findAppDatasourceTaskInfo(dsIds); } - //4.获取所有数据集字段信息 - List datasetTableFieldsInfo = new ArrayList<>(); - datasetTablesInfo.stream().forEach(datasetTable ->{ - try { - List result = datasetDataManage.getTableFields(datasetTable); - if(!CollectionUtils.isEmpty(result)){ - datasetTableFieldsInfo.addAll(result); - } - } catch (Exception e) { - throw new RuntimeException(e); - } - }); - //校验标准 1.存在视图且所有视图的数据来源必须是dataset 2.存在数据集且没有excel数据集 3.存在数据源且是单数据源 - //1.view check - if (CollectionUtils.isEmpty(chartViewsInfo)) { - return new VisualizationExport2AppVO(Translator.get("I18N_APP_NO_VIEW_ERROR")); - } else if (chartViewsInfo.stream().filter(chartView -> chartView.getDataFrom().equals("template")).collect(Collectors.toList()).size() > 0) { - return new VisualizationExport2AppVO(Translator.get("I18N_APP_TEMPLATE_VIEW_ERROR")); - } - return new VisualizationExport2AppVO(chartViewsInfo, null, datasetTablesInfo, datasetTableFieldsInfo, - null, null, null, null, null); + List linkageVOInfo = appTemplateMapper.findAppLinkageInfo(dvId); + List linkageFieldVOInfo = appTemplateMapper.findAppLinkageFieldInfo(dvId); + List linkJumpVOInfo = appTemplateMapper.findAppLinkJumpInfo(dvId); + List linkJumpInfoVOInfo = appTemplateMapper.findAppLinkJumpInfoInfo(dvId); + List listJumpTargetViewInfoVO = appTemplateMapper.findAppJumpTargetViewInfo(dvId); + + return new VisualizationExport2AppVO(chartViewVOInfo, datasetGroupVOInfo, datasetTableVOInfo, + datasetTableFieldVOInfo, datasourceVOInfo, datasourceTaskVOInfo, + linkJumpVOInfo, linkJumpInfoVOInfo, listJumpTargetViewInfoVO, linkageVOInfo, linkageFieldVOInfo); } @@ -466,7 +467,7 @@ public class DataVisualizationServer implements DataVisualizationApi { } } - public String getAbsPath(String id) { + public String getAbsPath(String id) { CoreChartView coreChartView = coreChartViewMapper.selectById(id); if (coreChartView == null) { return null; diff --git a/core/core-backend/src/main/resources/mybatis/ExtVisualizationTemplateMapper.xml b/core/core-backend/src/main/resources/mybatis/ExtVisualizationTemplateMapper.xml index 77fda85d80..9d2095d808 100644 --- a/core/core-backend/src/main/resources/mybatis/ExtVisualizationTemplateMapper.xml +++ b/core/core-backend/src/main/resources/mybatis/ExtVisualizationTemplateMapper.xml @@ -172,4 +172,120 @@ GROUP BY vtcm.template_id + + + + + + + + + + + + + + diff --git a/core/core-frontend/src/utils/imgUtils.ts b/core/core-frontend/src/utils/imgUtils.ts index 5088d7de07..b8c99fa5e1 100644 --- a/core/core-frontend/src/utils/imgUtils.ts +++ b/core/core-frontend/src/utils/imgUtils.ts @@ -59,6 +59,8 @@ export function download2AppTemplate(downloadType, canvasDom, name, callBack?) { const blob = new Blob([JSON.stringify(templateInfo)], { type: '' }) if (downloadType === 'template') { FileSaver.saveAs(blob, name + '-TEMPLATE.DET2') + } else if (downloadType === 'app') { + FileSaver.saveAs(blob, name + '-APP.DET2APP') } } if (callBack) { diff --git a/sdk/api/api-base/src/main/java/io/dataease/api/visualization/DataVisualizationApi.java b/sdk/api/api-base/src/main/java/io/dataease/api/visualization/DataVisualizationApi.java index beb4bd8bba..4b642abf86 100644 --- a/sdk/api/api-base/src/main/java/io/dataease/api/visualization/DataVisualizationApi.java +++ b/sdk/api/api-base/src/main/java/io/dataease/api/visualization/DataVisualizationApi.java @@ -5,6 +5,7 @@ import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; import com.github.xiaoymin.knife4j.annotations.ApiSupport; import io.dataease.api.visualization.dto.VisualizationViewTableDTO; import io.dataease.api.visualization.request.DataVisualizationBaseRequest; +import io.dataease.api.visualization.request.VisualizationAppExportRequest; import io.dataease.api.visualization.request.VisualizationWorkbranchQueryRequest; import io.dataease.api.visualization.vo.DataVisualizationVO; import io.dataease.api.visualization.vo.VisualizationExport2AppVO; @@ -112,7 +113,7 @@ public interface DataVisualizationApi { @Operation(summary = "仪表板视图明细数据") List detailList(@PathVariable("dvId") Long dvId); - @GetMapping("/export2AppCheck/{dvId}") + @GetMapping("/export2AppCheck") @Operation(summary = "仪表板视图明细数据") - VisualizationExport2AppVO export2AppCheck(@PathVariable("dvId") Long dvId); + VisualizationExport2AppVO export2AppCheck(@RequestBody VisualizationAppExportRequest appExportRequest); } diff --git a/sdk/api/api-base/src/main/java/io/dataease/api/visualization/request/VisualizationAppExportRequest.java b/sdk/api/api-base/src/main/java/io/dataease/api/visualization/request/VisualizationAppExportRequest.java new file mode 100644 index 0000000000..b058b84590 --- /dev/null +++ b/sdk/api/api-base/src/main/java/io/dataease/api/visualization/request/VisualizationAppExportRequest.java @@ -0,0 +1,19 @@ +package io.dataease.api.visualization.request; + +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import lombok.Data; + +import java.util.List; + +@Data +public class VisualizationAppExportRequest { + @JsonSerialize(using = ToStringSerializer.class) + private Long dvId; + + @JsonSerialize(using = ToStringSerializer.class) + private List viewIds; + + @JsonSerialize(using = ToStringSerializer.class) + private List dsIds; +} diff --git a/sdk/api/api-base/src/main/java/io/dataease/api/visualization/vo/AppCoreChartViewVO.java b/sdk/api/api-base/src/main/java/io/dataease/api/visualization/vo/AppCoreChartViewVO.java new file mode 100644 index 0000000000..963e047329 --- /dev/null +++ b/sdk/api/api-base/src/main/java/io/dataease/api/visualization/vo/AppCoreChartViewVO.java @@ -0,0 +1,201 @@ +package io.dataease.api.visualization.vo; + +import lombok.Data; + +import java.io.Serializable; + +@Data +public class AppCoreChartViewVO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * ID + */ + private Long id; + + /** + * 标题 + */ + private String title; + + /** + * 场景ID chart_type为private的时候 是仪表板id + */ + private Long sceneId; + + /** + * 数据集表ID + */ + private Long tableId; + + /** + * 图表类型 + */ + private String type; + + /** + * 图表渲染方式 + */ + private String render; + + /** + * 展示结果 + */ + private Integer resultCount; + + /** + * 展示模式 + */ + private String resultMode; + + /** + * 横轴field + */ + private String xAxis; + + /** + * table-row + */ + private String xAxisExt; + + /** + * 纵轴field + */ + private String yAxis; + + /** + * 副轴 + */ + private String yAxisExt; + + /** + * 堆叠项 + */ + private String extStack; + + /** + * 气泡大小 + */ + private String extBubble; + + /** + * 动态标签 + */ + private String extLabel; + + /** + * 动态提示 + */ + private String extTooltip; + + /** + * 图形属性 + */ + private String customAttr; + + /** + * 组件样式 + */ + private String customStyle; + + /** + * 结果过滤 + */ + private String customFilter; + + /** + * 钻取字段 + */ + private String drillFields; + + /** + * 高级 + */ + private String senior; + + /** + * 创建人ID + */ + private String createBy; + + /** + * 创建时间 + */ + private Long createTime; + + /** + * 更新时间 + */ + private Long updateTime; + + /** + * 缩略图 + */ + private String snapshot; + + /** + * 样式优先级 panel 仪表板 view 图表 + */ + private String stylePriority; + + /** + * 图表类型 public 公共 历史可复用的图表,private 私有 专属某个仪表板 + */ + private String chartType; + + /** + * 是否插件 + */ + private Boolean isPlugin; + + /** + * 数据来源 template 模板数据 dataset 数据集数据 + */ + private String dataFrom; + + /** + * 图表字段集合 + */ + private String viewFields; + + /** + * 是否开启刷新 + */ + private Boolean refreshViewEnable; + + /** + * 刷新时间单位 + */ + private String refreshUnit; + + /** + * 刷新时间 + */ + private Integer refreshTime; + + /** + * 是否开启联动 + */ + private Boolean linkageActive; + + /** + * 是否开启跳转 + */ + private Boolean jumpActive; + + /** + * 复制来源 + */ + private Long copyFrom; + + /** + * 复制ID + */ + private Long copyId; + + /** + * 区间条形图开启时间纬度开启聚合 + */ + private Boolean aggregate; +} diff --git a/sdk/api/api-base/src/main/java/io/dataease/api/visualization/vo/AppCoreDatasetGroupVO.java b/sdk/api/api-base/src/main/java/io/dataease/api/visualization/vo/AppCoreDatasetGroupVO.java new file mode 100644 index 0000000000..81111cd359 --- /dev/null +++ b/sdk/api/api-base/src/main/java/io/dataease/api/visualization/vo/AppCoreDatasetGroupVO.java @@ -0,0 +1,83 @@ +package io.dataease.api.visualization.vo; + +import lombok.Data; + +import java.io.Serializable; + +@Data +public class AppCoreDatasetGroupVO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * ID + */ + private Long id; + + /** + * 名称 + */ + private String name; + + /** + * 父级ID + */ + private Long pid; + + /** + * 当前分组处于第几级 + */ + private Integer level; + + /** + * node类型:folder or dataset + */ + private String nodeType; + + /** + * sql,union + */ + private String type; + + /** + * 连接模式:0-直连,1-同步(包括excel、api等数据存在de中的表) + */ + private Integer mode; + + /** + * 关联关系树 + */ + private String info; + + /** + * 创建人ID + */ + private String createBy; + + /** + * 创建时间 + */ + private Long createTime; + + private String qrtzInstance; + + /** + * 同步状态 + */ + private String syncStatus; + + /** + * 更新人ID + */ + private String updateBy; + + /** + * 最后同步时间 + */ + private Long lastUpdateTime; + + /** + * 关联sql + */ + private String unionSql; +} diff --git a/sdk/api/api-base/src/main/java/io/dataease/api/visualization/vo/AppCoreDatasetTableFieldVO.java b/sdk/api/api-base/src/main/java/io/dataease/api/visualization/vo/AppCoreDatasetTableFieldVO.java new file mode 100644 index 0000000000..511c172cab --- /dev/null +++ b/sdk/api/api-base/src/main/java/io/dataease/api/visualization/vo/AppCoreDatasetTableFieldVO.java @@ -0,0 +1,114 @@ +package io.dataease.api.visualization.vo; + +import lombok.Data; + +import java.io.Serializable; + +@Data +public class AppCoreDatasetTableFieldVO implements Serializable { + private static final long serialVersionUID = 1L; + + /** + * ID + */ + private Long id; + + /** + * 数据源ID + */ + private Long datasourceId; + + /** + * 数据表ID + */ + private Long datasetTableId; + + /** + * 数据集ID + */ + private Long datasetGroupId; + + /** + * 图表ID + */ + private Long chartId; + + /** + * 原始字段名 + */ + private String originName; + + /** + * 字段名用于展示 + */ + private String name; + + /** + * 描述 + */ + private String description; + + /** + * de字段名用作唯一标识 + */ + private String dataeaseName; + + /** + * de字段别名 + */ + private String fieldShortName; + + /** + * 维度/指标标识 d:维度,q:指标 + */ + private String groupType; + + /** + * 原始字段类型 + */ + private String type; + + private Integer size; + + /** + * dataease字段类型:0-文本,1-时间,2-整型数值,3-浮点数值,4-布尔,5-地理位置,6-二进制 + */ + private Integer deType; + + /** + * de记录的原始类型 + */ + private Integer deExtractType; + + /** + * 是否扩展字段 0原始 1复制 2计算字段... + */ + private Integer extField; + + /** + * 是否选中 + */ + private Boolean checked; + + /** + * 列位置 + */ + private Integer columnIndex; + + /** + * 同步时间 + */ + private Long lastSyncTime; + + /** + * 精度 + */ + private Integer accuracy; + + private String dateFormat; + + /** + * 时间格式类型 + */ + private String dateFormatType; +} diff --git a/sdk/api/api-base/src/main/java/io/dataease/api/visualization/vo/AppCoreDatasetTableVO.java b/sdk/api/api-base/src/main/java/io/dataease/api/visualization/vo/AppCoreDatasetTableVO.java new file mode 100644 index 0000000000..8307e10393 --- /dev/null +++ b/sdk/api/api-base/src/main/java/io/dataease/api/visualization/vo/AppCoreDatasetTableVO.java @@ -0,0 +1,50 @@ +package io.dataease.api.visualization.vo; + +import lombok.Data; + +import java.io.Serializable; + +@Data +public class AppCoreDatasetTableVO implements Serializable { + private static final long serialVersionUID = 1L; + + /** + * ID + */ + private Long id; + + /** + * 名称 + */ + private String name; + + /** + * 物理表名 + */ + private String tableName; + + /** + * 数据源ID + */ + private Long datasourceId; + + /** + * 数据集ID + */ + private Long datasetGroupId; + + /** + * db,sql,union,excel,api + */ + private String type; + + /** + * 表原始信息,表名,sql等 + */ + private String info; + + /** + * SQL参数 + */ + private String sqlVariableDetails; +} diff --git a/sdk/api/api-base/src/main/java/io/dataease/api/visualization/vo/AppCoreDatasourceTaskVO.java b/sdk/api/api-base/src/main/java/io/dataease/api/visualization/vo/AppCoreDatasourceTaskVO.java new file mode 100644 index 0000000000..69c07a9329 --- /dev/null +++ b/sdk/api/api-base/src/main/java/io/dataease/api/visualization/vo/AppCoreDatasourceTaskVO.java @@ -0,0 +1,90 @@ +package io.dataease.api.visualization.vo; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import lombok.Data; + +import java.io.Serializable; + +@Data +public class AppCoreDatasourceTaskVO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + private Long id; + + /** + * 数据源ID + */ + private Long dsId; + + /** + * 任务名称 + */ + private String name; + + /** + * 更新方式 + */ + private String updateType; + + /** + * 开始时间 + */ + private Long startTime; + + /** + * 执行频率:0 一次性 1 cron + */ + private String syncRate; + + /** + * cron表达式 + */ + private String cron; + + /** + * 简单重复间隔 + */ + private Long simpleCronValue; + + /** + * 简单重复类型:分、时、天 + */ + private String simpleCronType; + + /** + * 结束限制 0 无限制 1 设定结束时间 + */ + private String endLimit; + + /** + * 结束时间 + */ + private Long endTime; + + /** + * 创建时间 + */ + private Long createTime; + + /** + * 上次执行时间 + */ + private Long lastExecTime; + + /** + * 上次执行结果 + */ + private String lastExecStatus; + + private String extraData; + + /** + * 任务状态 + */ + private String taskStatus; +} diff --git a/sdk/api/api-base/src/main/java/io/dataease/api/visualization/vo/AppCoreDatasourceVO.java b/sdk/api/api-base/src/main/java/io/dataease/api/visualization/vo/AppCoreDatasourceVO.java new file mode 100644 index 0000000000..918adc2b51 --- /dev/null +++ b/sdk/api/api-base/src/main/java/io/dataease/api/visualization/vo/AppCoreDatasourceVO.java @@ -0,0 +1,82 @@ +package io.dataease.api.visualization.vo; + +import lombok.Data; + +import java.io.Serializable; + +@Data +public class AppCoreDatasourceVO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + private Long id; + + /** + * 名称 + */ + private String name; + + /** + * 描述 + */ + private String description; + + /** + * 类型 + */ + private String type; + + /** + * 父级ID + */ + private Long pid; + + /** + * 更新方式:0:替换;1:追加 + */ + private String editType; + + /** + * 详细信息 + */ + private String configuration; + + /** + * 创建时间 + */ + private Long createTime; + + /** + * 更新时间 + */ + private Long updateTime; + + /** + * 变更人 + */ + private Long updateBy; + + /** + * 创建人ID + */ + private String createBy; + + /** + * 状态 + */ + private String status; + + /** + * 状态 + */ + private String qrtzInstance; + + /** + * 任务状态 + */ + private String taskStatus; + +} diff --git a/sdk/api/api-base/src/main/java/io/dataease/api/visualization/vo/VisualizationExport2AppVO.java b/sdk/api/api-base/src/main/java/io/dataease/api/visualization/vo/VisualizationExport2AppVO.java index 52d6f29631..fe8b7d78ab 100644 --- a/sdk/api/api-base/src/main/java/io/dataease/api/visualization/vo/VisualizationExport2AppVO.java +++ b/sdk/api/api-base/src/main/java/io/dataease/api/visualization/vo/VisualizationExport2AppVO.java @@ -1,11 +1,6 @@ package io.dataease.api.visualization.vo; import com.google.gson.Gson; -import io.dataease.extensions.datasource.dto.DatasetTableDTO; -import io.dataease.extensions.datasource.dto.DatasetTableFieldDTO; -import io.dataease.extensions.datasource.dto.DatasourceDTO; -import io.dataease.extensions.view.dto.ChartViewDTO; -import io.dataease.extensions.view.dto.ChartViewFieldDTO; import lombok.Data; import java.util.ArrayList; @@ -24,20 +19,22 @@ public class VisualizationExport2AppVO { private String chartViewsInfo; - private String chartViewFieldsInfo; + private String datasetGroupsInfo; private String datasetTablesInfo; private String datasetTableFieldsInfo; - private String datasetTasksInfo; - private String datasourceInfo; + private String datasourceTaskInfo; + private String linkJumps; private String linkJumpInfos; + private String linkJumpTargetInfos; + private String linkages; private String linkageFields; @@ -50,23 +47,31 @@ public class VisualizationExport2AppVO { this.checkMes = checkMes; } - public VisualizationExport2AppVO(List chartViewsInfo, List chartViewFieldsInfo, - List datasetTablesInfo, List datasetTableFieldsInfo, List datasourceInfo, List linkJumps, List linkJumpInfos, - List linkages, List linkageFields) { - List empty = new ArrayList(); + public VisualizationExport2AppVO(List chartViewVOInfo, + List datasetGroupVOInfo, + List datasetTableVOInfo, + List datasetTableFieldVOInfo, + List datasourceVOInfo, + List datasourceTaskVOInfo, + List linkJumpVOInfo, + List linkJumpInfoVOInfo, + List linkJumpTargetViewVOInfo, + List linkagesVOInfo, + List linkageFieldVOInfo) { + List empty = new ArrayList<>(); Gson gson = new Gson(); this.checkStatus = true; this.checkMes = "success"; - this.chartViewsInfo = gson.toJson(chartViewsInfo != null ? chartViewsInfo : empty); - this.chartViewFieldsInfo = gson.toJson(chartViewFieldsInfo != null ? chartViewFieldsInfo : empty); - this.datasetTablesInfo = gson.toJson(datasetTablesInfo != null ? datasetTablesInfo : empty); - this.datasetTableFieldsInfo = gson.toJson(datasetTableFieldsInfo != null ? datasetTableFieldsInfo : empty); - this.datasetTasksInfo = gson.toJson(datasetTasksInfo != null ? datasetTasksInfo : empty); - this.datasourceInfo = gson.toJson(datasourceInfo != null ? datasourceInfo : empty); - this.visualizationViewsInfo = gson.toJson(visualizationViewsInfo != null ? visualizationViewsInfo : empty); - this.linkJumps = gson.toJson(linkJumps != null ? linkJumps : empty); - this.linkJumpInfos = gson.toJson(linkJumpInfos != null ? linkJumpInfos : empty); - this.linkages = gson.toJson(linkages != null ? linkages : empty); - this.linkageFields = gson.toJson(linkJumpInfos != null ? linkageFields : empty); + this.chartViewsInfo = gson.toJson(chartViewVOInfo != null ? chartViewVOInfo : empty); + this.datasetGroupsInfo = gson.toJson(datasetGroupVOInfo != null ? datasetGroupVOInfo : empty); + this.datasetTablesInfo = gson.toJson(datasetTableVOInfo != null ? datasetTableVOInfo : empty); + this.datasetTableFieldsInfo = gson.toJson(datasetTableFieldVOInfo != null ? datasetTableFieldVOInfo : empty); + this.datasourceTaskInfo = gson.toJson(datasourceTaskVOInfo != null ? datasourceTaskVOInfo : empty); + this.datasourceInfo = gson.toJson(datasourceVOInfo != null ? datasourceVOInfo : empty); + this.linkJumps = gson.toJson(linkJumpVOInfo != null ? linkJumpVOInfo : empty); + this.linkJumpInfos = gson.toJson(linkJumpInfoVOInfo != null ? linkJumpInfoVOInfo : empty); + this.linkJumpTargetInfos = gson.toJson(linkJumpTargetViewVOInfo != null ? linkJumpTargetViewVOInfo : empty); + this.linkages = gson.toJson(linkagesVOInfo != null ? linkagesVOInfo : empty); + this.linkageFields = gson.toJson(linkageFieldVOInfo != null ? linkageFieldVOInfo : empty); } }