UNPKG

w-vue-middle

Version:

统一公共服务组件

1,188 lines (1,119 loc) 25.3 kB
/* * @Author: Jason Liu * @Date: 2022-05-27 14:52:48 * @Desc: 数据集成相关接口 */ import axios from 'axios'; const CancelToken = axios.CancelToken; const $axios = require('../axios').default; export const monitorStatueList = [ { label: $t('全部运行状态'), value: '', }, { label: $t('运行中'), value: 'RUNNING', }, { label: $t('运行成功'), value: 'SUCCESS', }, { label: $t('异常运行中'), value: 'WALKING', }, { label: $t('运行失败'), value: 'FAILED', }, { label: $t('已取消'), value: 'CANCELED', }, { label: $t('提交中'), value: 'COMMITTING', }, { label: $t('启动中'), value: 'STARTING', }, ]; /** * @Author: Jason Liu * @description:获取作业组列表-不分页 */ export function getJobGroupList( params = { pageNum: 1, pageSize: 1000, queryParams: { F_isDel_eq: 0, }, }, ) { return $axios({ url: `${$service.dataIntegration}/api/v1/dfDiJobGroup/noPage/list`, method: 'post', data: params, }); } /** * @Author: Jason Liu * @description:获取作业组列表-分页 */ export function getJobGroup( params = { pageNum: 1, pageSize: 1000, queryParams: { F_isDel_eq: 0, }, }, ) { return $axios({ url: `${$service.dataIntegration}/api/v1/dfDiJobGroup/list`, method: 'post', data: params, }); } /** * @Author: Xiao Xiao * @description:保存作业组 */ export function saveJobGroup(params) { return $axios({ url: `${$service.dataIntegration}/api/v1/dfDiJobGroup/save`, method: 'post', data: params, }); } /** * @Author: Xiao Xiao * @description:删除作业组 */ export function deleteJobGroup(params) { return $axios({ url: `${$service.dataIntegration}/api/v1/dfDiJobGroup/delete/${params.id}`, method: 'post', }); } /** * @Author: y_zp * @description:作业主题列表 */ export function jobGroupThmem(params) { return $axios({ url: `${$service.dataIntegration}/api/v1/dfDiJobGroupTheme/noPagelist`, method: 'post', data: params, }); } /** * @Author: y_zp * @description:作业主题-新增 */ export function saveJobGroupThmem(params) { return $axios({ url: `${$service.dataIntegration}/api/v1/dfDiJobGroupTheme/save`, method: 'post', data: params, }); } /** * @Author: y_zp * @description:作业主题-删除 */ export function delJobGroupThmem(id) { return $axios({ url: `${$service.dataIntegration}/api/v1/dfDiJobGroupTheme/delete/${id}`, method: 'post', }); } /** * @Author: y_zp * @description:主题作业组树 */ export function jobGroupThmemTree() { return $axios({ url: `${$service.dataIntegration}/api/v1/dfDiJobGroupTheme/tree`, method: 'post', }); } /** * @Author: y_zp * @description:作业设计导出 */ export function jobExport(params = {}) { return $axios({ url: `${$service.dataIntegration}/api/v1/dfDiJob/jobExport`, method: 'get', params: params, responseType: 'blob', }); } /* 元数据Begin */ /** * @Author: Jason Liu * @description: 获取数据源信息 */ export function getDbsData() { return $axios({ url: `${$service.dataIntegration}/api/v1/MetaData/dbs`, method: 'get', }); } /** * @Author: Jason Liu * @description: 获取数据源的schema信息 */ export function getDbsSchema({ dbId }) { return $axios({ url: `${$service.dataIntegration}/api/v1/MetaData/schema/${dbId}`, method: 'get', }); } /** * @Author: Jason Liu * @description: 获取获取数据源下的数据表 */ export function getDataTableByDbs({ dbId, schemaCode }) { return $axios({ url: `${$service.dataIntegration}/api/v1/MetaData/tables/${dbId}/${schemaCode}`, method: 'get', }); } /** * @Author: Jason Liu * @description: 获取数据表下的字段信息 */ export function getDataColumnsByTableId({ tableId }) { return $axios({ url: `${$service.dataIntegration}/api/v1/MetaData/columns/${tableId}`, method: 'get', }); } /** * @Author: Jason Liu * @description: 获取DWS和ADS下的表格信息 */ export function getDwsAndAdsTables() { return $axios({ url: `${$service.dataIntegration}/api/v1/MetaData/table/list`, method: 'get', }).then((req) => { let getdbInfoLists = req.data.dbInfoList.map((item, i) => { if (i == 1) { return getDatasourceList({ queryParams: { F_dbName_eq: item.dbName, }, }).then((info) => { let dbInfo = info.data.find((db) => { return db.dbName == item.dbName; }); req.data.dbInfoList[i] = { ...req.data.dbInfo, ...dbInfo, }; return req; }); } else { return getDbsInfoBiDbName({ name: item.dbName }).then((info) => { let dbInfo = info.data.find((db) => { return db.dbName == item.dbName; }); req.data.dbInfoList[i] = { ...req.data.dbInfo, ...dbInfo, }; return req; }); } }); return Promise.all(getdbInfoLists).then(() => { return req; }); }); } /** * @Author: Jason Liu * @description: 获取公卫下的表格信息 */ export function getPhisTables() { return $axios({ url: `${$service.dataIntegration}/api/v1/MetaData/phis/table/list`, method: 'get', }).then((req) => { return getDatasourceList({ queryParams: { F_dbName_like: req.data.dbInfo.dbName, }, }).then((info) => { let dbInfo = info.data.find((db) => { return db.dbName == req.data.dbInfo.dbName; }); req.data.dbInfo = { ...req.data.dbInfo, ...dbInfo, }; return req; }); }); } /** * @Author: Jason Liu * @description: 根据dbname获取db信息 */ export function getDbsInfoBiDbName({ name }) { return $axios({ url: `${$service.dataIntegration}/api/v1/MetaData/dbs/${name}`, method: 'get', }); } /** * @Author: Jason Liu * @description: 获取元数据表下的字段信息 */ export function getDbsInfoColumns({ dbName, schema, tableCode }) { return $axios({ url: `${$service.dataIntegration}/api/v1/MetaData/${dbName}/${schema}/${tableCode}/columns`, method: 'get', }); } /* 元数据End */ /* 作业 Begion */ /** * @Author: Jason Liu * @description: 获取作业列表 */ export function getJobList( params = { pageNum: 1, pageSize: 15, queryParams: {}, }, ) { return $axios({ url: `${$service.dataIntegration}/api/v1/dfDiJob/list`, method: 'post', data: params, }); } /** * @Author: Jason Liu * @description: 获取作业列表 */ export function getJobListPro( params = { pageNum: 1, pageSize: 15, queryParams: {}, }, ) { return $axios({ url: `${$service.dataIntegration}/api/v1/dfDiJob/list`, method: 'post', data: params, }); } /** * @Author: Jason Liu * @description: 删除Job */ export function deleteJob({ id }) { return $axios({ url: `${$service.dataIntegration}/api/v1/dfDiJob/delete/${id}`, method: 'post', }); } /** * @Author: Jason Liu * @description: 保存job */ export function saveJob( param = { createBy: undefined, createTime: undefined, id: undefined, isDel: 0, isEnable: 0, jobDesc: undefined, jobGroupId: 0, jobName: undefined, jsonDetail: undefined, remark: undefined, updateBy: undefined, updateTime: undefined, }, ) { return $axios({ url: `${$service.dataIntegration}/api/v1/dfDiJob/save`, method: 'post', data: param, }); } /** * @Author: Jason Liu * @description: 获取sql转换路径 */ export function getSqlParser( param = { createBy: undefined, createTime: undefined, id: undefined, isDel: 0, isEnable: 0, jobDesc: undefined, jobGroupId: 0, jobName: undefined, jsonDetail: undefined, remark: undefined, updateBy: undefined, updateTime: undefined, }, ) { return $axios({ url: `${$service.dataIntegration}/api/v1/SqlParser/SqlParser`, method: 'post', data: param, }); } /** * @Author: Jason Liu * @description: 获取job的详情 */ export function getJobDetail({ id }) { return $axios({ url: `${$service.dataIntegration}/api/v1/dfDiJob/get/${id}`, method: 'get', }); } /** * @Author: Jason Liu * @description: 启动测试流程 */ export function runJobTest(param) { return $axios({ url: `${$service.dataIntegration}/api/v1/jobExecution/testJob`, method: 'post', data: param, }); } /** * @Author: Jason Liu * @description: 获取启动状态job情况 */ export function getJobTestResult({ testId }) { return $axios({ url: `${$service.dataIntegration}/api/v1/jobExecution/testJobResult/${testId}`, method: 'get', }); } /** * @Author: Jason Liu * @description: 获取监控信息 */ export function getMonitorInfo() { return $axios({ url: `${$service.dataIntegration}/api/v1/monitor/info`, method: 'get', }); } // var run = () => { // return new Promise((resolve, reject) => { // resolve(123) // }).then(code => { // console.log(code); // setTimeout(() => { // run(); // }, 1000); // }); // } /* 作业 End */ /** * @Author: Jason Liu * @description: 获取集群信息 */ export function getClusterManager( params = { pageNum: 1, pageSize: 15, queryParams: {}, }, ) { return $axios({ url: `${$service.dataIntegration}/api/v1/dfDiClusterManager/list`, method: 'post', headers: { weak: true }, data: params, }); } /** * @Author: Jason Liu * @description: 删除集群 */ export function deleteClusterManager({ clusterId }) { return $axios({ url: `${$service.dataIntegration}/api/v1/dfDiClusterManager/delete/${clusterId}`, method: 'post', }); } /** * @Author: Jason Liu * @description: 保存集群信息 */ export function saveClusterManager( params = { clusterId: undefined, description: undefined, name: undefined, restAddress: undefined, restPort: 80, }, ) { return $axios({ url: `${$service.dataIntegration}/api/v1/dfDiClusterManager/save`, method: 'post', data: params, }); } /** * @Author: Jason Liu * @description: 获取sql转换路径 */ export function getSqlData( param = { createBy: undefined, createTime: undefined, id: undefined, isDel: 0, isEnable: 0, jobDesc: undefined, jobGroupId: 0, jobName: undefined, jsonDetail: undefined, remark: undefined, updateBy: undefined, updateTime: undefined, }, ) { return $axios({ url: `${$service.dataIntegration}/api/v1/SqlParser/generateSQL`, method: 'post', data: param, }); } /** * @Author: Jason Liu * @description: 获取数据源列表 */ export function getDatasourceList( params = { pageNum: 1, pageSize: 15, queryParams: {}, }, ) { return $axios({ url: `${$service.dataIntegration}/api/v1/dfDiDatasource/list`, method: 'post', data: params, }); } /** * @Author: Jason Liu * @description: 获取数据源列表 */ export function getNewDatasourceList( params = { pageNum: 1, pageSize: 15, queryParams: {}, }, entrust = { cancel: undefined }, ) { return $axios({ url: `${$service.portalService}/dfDiDatasource/list`, method: 'post', cancelToken: new CancelToken(function executor(c) { // 将取消函数赋值给全局变量 entrust.cancel = c; }), data: params, }); } /** * @Author: Jason Liu * @description: 采集内容数据 */ export function collectionDataInfo( params = { clusterId: undefined, //集群ID collectType: 'schema', // 采集类型:schema、table、column dsId: undefined, schema: undefined, tableName: undefined, }, ) { return $axios({ url: `${$service.dataIntegration}/api/v1/MetaData/realtime/job`, method: 'post', data: params, }); } /** * @Author: Jason Liu * @description: 保存数据源 */ export function saveDatasource(params) { return $axios({ url: `${$service.dataIntegration}/api/v1/dfDiDatasource/save`, method: 'post', data: params, }); } /** * @Author: Jason Liu * @description: 删除数据源 */ export function deleteDatasource(ids) { return $axios({ url: `${$service.dataIntegration}/api/v1/dfDiDatasource/delete/${ids}`, method: 'post', }); } /** * @Author: y_zp * @description:调度概览-获取标签列表 */ export function getLabelList() { return $axios({ url: `${$service.dataIntegration}/api/v1/metric/label-list`, method: 'get', }); } /** * @Author: y_zp * @description:调度概览-获取集群列表 */ export function getClusterList() { return $axios({ url: `${$service.dataIntegration}/api/v1/metric/cluster-list`, method: 'get', }); } /** * @Author: y_zp * @description: 近7日作业实例调度情况概览-chart */ export function getJobGeneral( params = { clusterIds: undefined, //集群 sliceNum: 5, startTime: undefined, //开始时间 endTime: undefined, //结束时间 }, ) { return $axios({ url: `${$service.dataIntegration}/api/v1/metric/task-general-chart`, method: 'post', data: params, }); } /** * @Author: y_zp * @description: 近7日作业实例调度情况概览-text */ export function getJobDegree( params = { clusterIds: undefined, //集群 nodeIds: undefined, //nodeIds sliceNum: 5, startTime: undefined, //开始时间 endTime: undefined, //结束时间 }, ) { return $axios({ url: `${$service.dataIntegration}/api/v1/metric/task-general-text`, method: 'post', data: params, }); } /** * @Author: y_zp * @description: 近30天作业实例执行时长TOP10 */ export function getElapsedList( params = { startTime: undefined, //开始时间 runtimeMode: undefined, endTime: undefined, //结束时间 clusterIds: undefined, //集群 }, ) { return $axios({ url: `${$service.dataIntegration}/api/v1/metric/elapsed-time-desc-list`, method: 'post', data: params, }); } /** * @Author: y_zp * @description: 实时监控(输入输出数量) */ export function getIoCount( params = { clusterIds: undefined, //集群 nodeIds: undefined, //nodeIds startTime: undefined, //开始时间 endTime: undefined, //结束时间 }, ) { return $axios({ url: `${$service.dataIntegration}/api/v1/metric/io-count-chart`, method: 'post', data: params, }); } /** * @Author: y_zp * @description: 作业吞吐量列表 */ export function getIoCps( params = { clusterIds: undefined, //集群 startTime: undefined, //开始时间 endTime: undefined, //结束时间 }, ) { return $axios({ url: `${$service.dataIntegration}/api/v1/metric/io-cps-list`, method: 'post', data: params, }); } /** * @Author: y_zp * @description: 批监控实例列表 */ export function getTaskList( params = { pageNum: 1, pageSize: 15, keyWord: undefined, clusterIds: undefined, finishMode: undefined, runtimeMode: undefined, }, ) { return $axios({ url: `${$service.dataIntegration}/api/v1/metric/task-list`, method: 'post', data: params, }); } /** * @Author: y_zp * @description: 监控列表-运行状态级联 */ export function taskStateGroup() { return $axios({ url: `${$service.dataIntegration}/api/v1/metric/taskStateGroup`, method: 'get', }); } /** * @Author: y_zp * @description: 实例列表日志 */ export function getTaskLog(taskId) { return $axios({ url: `${$service.dataIntegration}/api/v1/metric/task-log/${taskId}`, method: 'get', }); } /** * @Author: y_zp * @description: 节点状态 */ export function getNodesInf(nodeId) { return $axios({ url: `${$service.dataIntegration}/api/v1/metric/nodes-inf/${nodeId}`, method: 'get', }); } /** * @Author: y_zp * @description: 节点对应关系 */ export function getNodeStep(id) { return $axios({ url: `${$service.dataIntegration}/api/v1/metric/node-step/${id}`, method: 'get', }); } /** * @Author: y_zp * @description: 获取监控页面内作业和转换树结构 */ export function getTaskTree(taskId, params = {}) { return $axios({ url: `${$service.dataIntegration}/api/v1/metric/task-tree/${taskId}`, method: 'get', params: params, }); } /** * @Author: y_zp * @description: 获取消息源列表 */ export function getMessagesourceList( params = { pageNum: 1, pageSize: 15, queryParams: {}, }, ) { return $axios({ url: `${$service.dataIntegration}/api/v1/dfDiMessagesource/list`, method: 'post', data: params, }); } /** * @Author: y_zp * @description: 保存消息源 */ export function saveMessagesource(params) { return $axios({ url: `${$service.dataIntegration}/api/v1/dfDiMessagesource/save`, method: 'post', data: params, }); } /** * @Author: y_zp * @description: 删除消息源 */ export function deleteMessagesource(ids) { return $axios({ url: `${$service.dataIntegration}/api/v1/dfDiMessagesource/delete/${ids}`, method: 'post', }); } /** * @Author: Jason Liu * @description:获取变量列表 */ export function getVariableList( params = { pageNum: 1, pageSize: 1000, queryParams: {}, }, ) { return $axios({ url: `${$service.dataIntegration}/api/v1/dfDiVariable/list`, method: 'post', data: params, }); } /** * @Author: Jason Liu * @description:保存变量 */ export function savrVariable( params = { id: undefined, isDel: 0, isEnable: 0, remark: undefined, variableBelong: undefined, variableCode: undefined, variableDesc: undefined, variableLevel: undefined, variableScope: undefined, variableValue: undefined, }, ) { return $axios({ url: `${$service.dataIntegration}/api/v1/dfDiVariable/save`, method: 'post', data: params, }); } /** * @Author: Jason Liu * @description:获取变量列表 */ export function deleteVariable( params = { id: undefined, }, ) { return $axios({ url: `${$service.dataIntegration}/api/v1/dfDiVariable/delete/${params.id}`, method: 'post', }); } //sql函数缓存变量 let sqlFunctonList = []; /** * @Author: Jason Liu * @description:获取sql函数 */ export function getSQlFunctonList() { if (sqlFunctonList.length > 0) { return new Promise((resolve, reject) => { resolve({ data: sqlFunctonList, }); }); } else { return $axios({ url: `${$service.dataIntegration}/api/v1/dfDiSys/listGroup`, method: 'post', }).then((req) => { sqlFunctonList = req.data; return req; }); } } /** * @Author: y_zp * @description: 监控列表-》监控详情chart */ export function getRuntimeData( params = { taskId: undefined, stepId: undefined, startTime: undefined, //开始时间 endTime: undefined, //结束时间 }, ) { return $axios({ url: `${$service.dataIntegration}/api/v1/metric2/runtime/data`, method: 'post', data: params, }); } /** * @Author: y_zp * @description: 监控列表-》监控详情吞吐 */ export function getRuntimeIoCount( params = { taskId: undefined, stepId: undefined, startTime: undefined, //开始时间 endTime: undefined, //结束时间 }, ) { return $axios({ url: `${$service.dataIntegration}/api/v1/metric2/runtime/ioCount`, method: 'post', data: params, }); } /** * @Author: y_zp * @description: 调度概览-》集成实时数据 */ export function getRuntimeTotal( params = { clusterId: undefined, startTime: undefined, //开始时间 endTime: undefined, //结束时间 }, ) { return $axios({ url: `${$service.dataIntegration}/api/v1/metric2/runtime/data/total`, method: 'post', data: params, }); } /** * @Author: y_zp * @description: 调度概览-》集成实时数据-吞吐量 */ export function getRuntimeIoCountTotal( params = { clusterId: undefined, startTime: undefined, //开始时间 endTime: undefined, //结束时间 }, ) { return $axios({ url: `${$service.dataIntegration}/api/v1/metric2/runtime/ioCount/total`, method: 'post', data: params, }); } /** * @Author: Jason Liu * @description:获取报错知识信息 */ export function getPagedSolutions( params = { pageNum: 1, pageSize: 1000, queryParams: {}, }, ) { return $axios({ url: `${$service.dataIntegration}/api/v1/solution/pagedSolutions`, method: 'post', data: params, }); } /** * @Author: Jason Liu * @description:保存kafka调试静态消息 */ export function saveKafkaDebugContent( params = { content: undefined, id: undefined, jobId: undefined, jobType: undefined, jsonDetail: undefined, }, ) { return $axios({ url: `${$service.dataIntegration}/api/v1/messagecontent/saveContent`, method: 'post', data: params, }); } /** * @Author: Jason Liu * @description: 获取kafka静态调试消息 */ export function getKafkaDebugContent(params = { jobId: undefined }) { return $axios({ url: `${$service.dataIntegration}/api/v1/messagecontent/getMessageContent`, method: 'get', params: params, }); } /** * @Author: Jason Liu * @description:获取V3模版列表 */ export function getV3TemplateList( params = { pageNum: 1, pageSize: 1000, queryParams: {}, }, ) { return $axios({ url: `${$service.dataIntegration}/api/v1/v3Template/list`, method: 'post', data: params, }); } /** * @Author: Jason Liu * @description: 导入作业-加载excel内容 */ export function jobLoadExcel(params) { return $axios({ url: `${$service.dataIntegration}/api/v1/dfDiJob/loadExcel`, method: 'post', headers: { 'Content-type': 'multipart/form-data', }, data: params, }); } /** * @Author: Jason Liu * @description: 导入作业-加载excel内容,并查询已经存在的相关作业信息 */ export function jobPreviewExcelData(params) { return $axios({ url: `${$service.dataIntegration}/api/v1/dfDiJob/previewExcelData`, method: 'post', headers: { 'Content-type': 'multipart/form-data', }, data: params, }); } /** * @Author: Jason Liu * @description: 作业对比升级保存 */ export function upgradeSave(params) { return $axios({ url: `${$service.dataIntegration}/api/v1/dfUpgrade/upgradeSave`, method: 'post', headers: { 'Content-type': 'multipart/form-data', }, data: params, }); } /** * @Author: y_zp * @description: 作业设计-导入-执行器类型 */ export function getScheduleJobExecutorList(params = {}) { return $axios({ url: `${$service.dataIntegration}/api/v1/dfDiJob/getScheduleJobExecutorList`, method: 'get', params: params, }); } /** * @Author: Jason Liu * @description: 获取导入内容表 */ export function getModelSqlScript( params = { clusterId: undefined, //集群ID tableName: undefined, dsId: undefined, schema: undefined, useCache: true, }, ) { return $axios({ url: `${$service.dataIntegration}/api/v1/MetaData/realtime/getSqlScript`, method: 'post', data: params, }); } /** * @Author: Jason Liu * @description: 获取数据源列信息事件 */ export function getSourceColumns( nodeData = { tableCode: undefined, sourceType: 1, //集群ID clusterId: undefined, dbId: undefined, schemaId: undefined, }, useCache = true, ) { let $event = collectionDataInfo; let param = { clusterId: nodeData.clusterId, //集群ID collectType: 'column', // 采集类型:schema、table、column dsId: nodeData.dbId, schema: nodeData.schemaId, tableName: nodeData.tableCode, useCache: useCache, }; if (nodeData.sourceType == 0) { $event = getDbsInfoColumns; param = nodeData; } this.columnLoading = true; return $event(param); }