[improvement][project] global refactor , code format , support llm , support fuzzy detect ,support query filter and so on.

This commit is contained in:
lexluo
2023-07-08 15:00:03 +08:00
parent 5ffd617431
commit 404163f391
329 changed files with 21050 additions and 5036 deletions

View File

@@ -1,6 +1,6 @@
import type { Reducer, Effect } from 'umi';
import { message } from 'antd';
import { getDimensionList, queryMetric } from './service';
import { getDimensionList, queryMetric, excuteSql, getDatabaseByDomainId } from './service';
export type StateType = {
current: number;
@@ -11,6 +11,8 @@ export type StateType = {
metricList: any[];
searchParams: Record<string, any>;
domainData: any;
dataBaseResultColsMap: any;
dataBaseConfig: any;
};
export type ModelType = {
@@ -19,11 +21,15 @@ export type ModelType = {
effects: {
queryDimensionList: Effect;
queryMetricList: Effect;
queryDataBaseExcuteSql: Effect;
queryDatabaseByDomainId: Effect;
};
reducers: {
setSelectDomain: Reducer<StateType>;
setPagination: Reducer<StateType>;
setDimensionList: Reducer<StateType>;
setDataBaseScriptColumn: Reducer<StateType>;
setDataBaseConfig: Reducer<StateType>;
setMetricList: Reducer<StateType>;
reset: Reducer<StateType>;
};
@@ -38,6 +44,8 @@ export const defaultState: StateType = {
dimensionList: [],
metricList: [],
domainData: {},
dataBaseResultColsMap: {},
dataBaseConfig: {},
};
const Model: ModelType = {
@@ -61,6 +69,46 @@ const Model: ModelType = {
message.error(msg);
}
},
*queryDataBaseExcuteSql({ payload }, { call, put, select }) {
const { tableName } = payload;
if (!tableName) {
return;
}
const isExists = yield select((state: any) => {
return state.domainManger.dataBaseResultColsMap[tableName];
});
if (isExists) {
return;
}
const { code, data, msg } = yield call(excuteSql, payload);
if (code === 200) {
const resultList = data.resultList.map((item, index) => {
return {
...item,
index,
};
});
const scriptColumns = data.columns;
yield put({
type: 'setDataBaseScriptColumn',
payload: { resultList, scriptColumns, tableName },
});
} else {
message.error(msg);
}
},
*queryDatabaseByDomainId({ payload }, { call, put }) {
const domainId = payload.domainId;
const { code, data, msg } = yield call(getDatabaseByDomainId, domainId);
if (code === 200) {
yield put({
type: 'setDataBaseConfig',
payload: { dataBaseConfig: data },
});
} else {
message.error(msg);
}
},
},
reducers: {
setSelectDomain(state = defaultState, action) {
@@ -89,6 +137,21 @@ const Model: ModelType = {
...action.payload,
};
},
setDataBaseScriptColumn(state = defaultState, action) {
return {
...state,
dataBaseResultColsMap: {
...state.dataBaseResultColsMap,
[action.payload.tableName]: { ...action.payload },
},
};
},
setDataBaseConfig(state = defaultState, action) {
return {
...state,
...action.payload,
};
},
reset() {
return defaultState;
},