forked from github/dataease
commit
89decbbbad
@ -11,11 +11,11 @@ import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import com.google.common.reflect.TypeToken;
|
||||
import com.google.gson.Gson;
|
||||
import com.google.gson.JsonObject;
|
||||
import io.dataease.controller.sys.response.BasicInfo;
|
||||
import io.dataease.dto.dataset.DatasetTableFieldDTO;
|
||||
import io.dataease.plugins.common.dto.datasource.TableDesc;
|
||||
import io.dataease.plugins.common.dto.datasource.TableField;
|
||||
import io.dataease.plugins.common.request.datasource.DatasourceRequest;
|
||||
import io.dataease.plugins.datasource.entity.Status;
|
||||
import io.dataease.plugins.datasource.provider.Provider;
|
||||
import com.jayway.jsonpath.JsonPath;
|
||||
import io.dataease.commons.utils.HttpClientConfig;
|
||||
@ -23,14 +23,9 @@ import io.dataease.commons.utils.HttpClientUtil;
|
||||
import io.dataease.controller.request.datasource.ApiDefinition;
|
||||
import io.dataease.controller.request.datasource.ApiDefinitionRequest;
|
||||
|
||||
import io.dataease.service.system.SystemParameterService;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.net.URLEncoder;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
@ -106,6 +101,13 @@ public class ApiProvider extends Provider {
|
||||
return tableFields;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Status checkDsStatus(DatasourceRequest datasourceRequest) throws Exception {
|
||||
Status status = new Status();
|
||||
status.setStatus(checkStatus(datasourceRequest));
|
||||
return status;
|
||||
}
|
||||
|
||||
public String checkStatus(DatasourceRequest datasourceRequest) throws Exception {
|
||||
Gson gson = new Gson();
|
||||
List<ApiDefinition> apiDefinitionList = gson.fromJson(datasourceRequest.getDatasource().getConfiguration(), new TypeToken<List<ApiDefinition>>() {
|
||||
|
@ -14,6 +14,7 @@ import io.dataease.plugins.common.dto.datasource.TableDesc;
|
||||
import io.dataease.plugins.common.dto.datasource.TableField;
|
||||
import io.dataease.plugins.common.exception.DataEaseException;
|
||||
import io.dataease.plugins.common.request.datasource.DatasourceRequest;
|
||||
import io.dataease.plugins.datasource.entity.Status;
|
||||
import io.dataease.plugins.datasource.provider.Provider;
|
||||
import io.dataease.provider.query.es.EsQueryProvider;
|
||||
import org.apache.commons.codec.binary.Base64;
|
||||
@ -181,7 +182,7 @@ public class EsProvider extends Provider {
|
||||
}
|
||||
|
||||
for (String[] row : esResponse.getRows()) {
|
||||
if(!row[1].equalsIgnoreCase("STRUCT") && !row[2].equalsIgnoreCase("unsupported")){
|
||||
if (!row[1].equalsIgnoreCase("STRUCT") && !row[2].equalsIgnoreCase("unsupported")) {
|
||||
TableField field = new TableField();
|
||||
field.setFieldName(row[0]);
|
||||
field.setRemarks(row[0]);
|
||||
@ -251,6 +252,13 @@ public class EsProvider extends Provider {
|
||||
return new ArrayList<>();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Status checkDsStatus(DatasourceRequest datasourceRequest) throws Exception {
|
||||
Status status = new Status();
|
||||
status.setStatus(checkStatus(datasourceRequest));
|
||||
return status;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public String checkStatus(DatasourceRequest datasourceRequest) throws Exception {
|
||||
|
@ -18,6 +18,7 @@ import io.dataease.plugins.common.exception.DataEaseException;
|
||||
import io.dataease.plugins.common.request.datasource.DatasourceRequest;
|
||||
import io.dataease.plugins.common.util.SpringContextUtil;
|
||||
import io.dataease.plugins.datasource.entity.JdbcConfiguration;
|
||||
import io.dataease.plugins.datasource.entity.Status;
|
||||
import io.dataease.plugins.datasource.provider.DefaultJdbcProvider;
|
||||
import io.dataease.plugins.datasource.provider.ExtendedJdbcClassLoader;
|
||||
import io.dataease.plugins.datasource.query.QueryProvider;
|
||||
@ -369,6 +370,22 @@ public class JdbcProvider extends DefaultJdbcProvider {
|
||||
return list;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Status checkDsStatus(DatasourceRequest datasourceRequest) throws Exception {
|
||||
Status status = new Status();
|
||||
String queryStr = getTablesSql(datasourceRequest);
|
||||
JdbcConfiguration jdbcConfiguration = new Gson().fromJson(datasourceRequest.getDatasource().getConfiguration(), JdbcConfiguration.class);
|
||||
int queryTimeout = jdbcConfiguration.getQueryTimeout() > 0 ? jdbcConfiguration.getQueryTimeout() : 0;
|
||||
try (Connection con = getConnection(datasourceRequest); Statement statement = getStatement(con, queryTimeout); ResultSet resultSet = statement.executeQuery(queryStr)) {
|
||||
status.setVersion(String.valueOf(con.getMetaData().getDatabaseMajorVersion()));
|
||||
} catch (Exception e) {
|
||||
LogUtil.error("Datasource is invalid: " + datasourceRequest.getDatasource().getName(), e);
|
||||
DataEaseException.throwException(e.getMessage());
|
||||
}
|
||||
status.setStatus("Success");
|
||||
return status;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String checkStatus(DatasourceRequest datasourceRequest) throws Exception {
|
||||
String queryStr = getTablesSql(datasourceRequest);
|
||||
@ -377,7 +394,7 @@ public class JdbcProvider extends DefaultJdbcProvider {
|
||||
try (Connection con = getConnection(datasourceRequest); Statement statement = getStatement(con, queryTimeout); ResultSet resultSet = statement.executeQuery(queryStr)) {
|
||||
} catch (Exception e) {
|
||||
LogUtil.error("Datasource is invalid: " + datasourceRequest.getDatasource().getName(), e);
|
||||
io.dataease.plugins.common.exception.DataEaseException.throwException(e.getMessage());
|
||||
DataEaseException.throwException(e.getMessage());
|
||||
}
|
||||
return "Success";
|
||||
}
|
||||
|
@ -1340,7 +1340,7 @@ public class DorisQueryProvider extends QueryProvider {
|
||||
|
||||
if (field.getDeType() == 1) {
|
||||
String format = transDateFormat(request.getDateStyle(), request.getDatePattern());
|
||||
if (field.getDeExtractType() == 0 || field.getDeExtractType() == 5 || field.getDeExtractType() == 1) {
|
||||
if (field.getDeExtractType() == 0 || field.getDeExtractType() == 5) {
|
||||
String date = String.format(MySQLConstants.STR_TO_DATE, originName, StringUtils.isNotEmpty(field.getDateFormat()) ? field.getDateFormat() : MysqlConstants.DEFAULT_DATE_FORMAT);
|
||||
if (field.getType().equalsIgnoreCase("YEAR") || StringUtils.equalsIgnoreCase(field.getDateFormat(), "%Y")) {
|
||||
date = String.format(MySQLConstants.DATE_FORMAT, "CONCAT(" + date + ",'-01-01')", "%Y-01-01");
|
||||
@ -1351,6 +1351,16 @@ public class DorisQueryProvider extends QueryProvider {
|
||||
whereName = String.format(MySQLConstants.DATE_FORMAT, date, format);
|
||||
}
|
||||
}
|
||||
if (field.getDeExtractType() == 1) {
|
||||
String date = String.format(MySQLConstants.STR_TO_DATE, originName, StringUtils.isNotEmpty(field.getDateFormat()) ? field.getDateFormat() : MysqlConstants.DEFAULT_DATE_FORMAT);
|
||||
if (field.getType().equalsIgnoreCase("YEAR") || StringUtils.equalsIgnoreCase(field.getDateFormat(), "%Y")) {
|
||||
date = String.format(MySQLConstants.DATE_FORMAT, "CONCAT(" + date + ",'-01-01')", "%Y-01-01");
|
||||
whereName = String.format(MySQLConstants.DATE_FORMAT, date, format);
|
||||
}else {
|
||||
whereName = originName;
|
||||
}
|
||||
|
||||
}
|
||||
if (field.getDeExtractType() == 2 || field.getDeExtractType() == 3 || field.getDeExtractType() == 4) {
|
||||
if (request.getOperator().equals("between")) {
|
||||
whereName = originName;
|
||||
|
@ -1300,7 +1300,7 @@ public class MysqlQueryProvider extends QueryProvider {
|
||||
|
||||
if (field.getDeType() == 1) {
|
||||
String format = transDateFormat(request.getDateStyle(), request.getDatePattern());
|
||||
if (field.getDeExtractType() == 0 || field.getDeExtractType() == 5 || field.getDeExtractType() == 1) {
|
||||
if (field.getDeExtractType() == 0 || field.getDeExtractType() == 5) {
|
||||
String date = String.format(MySQLConstants.STR_TO_DATE, originName, StringUtils.isNotEmpty(field.getDateFormat()) ? field.getDateFormat() : MysqlConstants.DEFAULT_DATE_FORMAT);
|
||||
if (request.getOperator().equals("between")) {
|
||||
whereName = date;
|
||||
@ -1308,6 +1308,9 @@ public class MysqlQueryProvider extends QueryProvider {
|
||||
whereName = String.format(MySQLConstants.DATE_FORMAT, date, format);
|
||||
}
|
||||
}
|
||||
if (field.getDeExtractType() == 1) {
|
||||
whereName = originName;
|
||||
}
|
||||
if (field.getDeExtractType() == 2 || field.getDeExtractType() == 3 || field.getDeExtractType() == 4) {
|
||||
if (request.getOperator().equals("between")) {
|
||||
whereName = originName;
|
||||
|
@ -1342,7 +1342,7 @@ public class EsQueryProvider extends QueryProvider {
|
||||
whereName = String.format(EsSqlLConstants.DATETIME_FORMAT, cast, format);
|
||||
}
|
||||
if (field.getDeExtractType() == 1) {
|
||||
whereName = String.format(EsSqlLConstants.DATETIME_FORMAT, originName, format);
|
||||
whereName = originName;
|
||||
}
|
||||
} else if (field.getDeType() == 2 || field.getDeType() == 3) {
|
||||
if (field.getDeExtractType() == 0 || field.getDeExtractType() == 5) {
|
||||
|
@ -1299,12 +1299,7 @@ public class HiveQueryProvider extends QueryProvider {
|
||||
whereName = String.format(HiveConstants.FROM_UNIXTIME, cast, format);
|
||||
}
|
||||
if (field.getDeExtractType() == DeTypeConstants.DE_TIME) {
|
||||
if (request.getOperator().equals("between")) {
|
||||
whereName = originName;
|
||||
} else {
|
||||
whereName = String.format(HiveConstants.DATE_FORMAT, originName, format);
|
||||
}
|
||||
|
||||
whereName = originName;
|
||||
}
|
||||
} else if (field.getDeType() == 2 || field.getDeType() == 3) {
|
||||
if (field.getDeExtractType() == 0 || field.getDeExtractType() == 5) {
|
||||
|
@ -1314,11 +1314,7 @@ public class ImpalaQueryProvider extends QueryProvider {
|
||||
}
|
||||
}
|
||||
if (field.getDeExtractType() == DeTypeConstants.DE_TIME) {
|
||||
if (request.getOperator().equals("between")) {
|
||||
whereName = originName;
|
||||
} else {
|
||||
whereName = String.format(ImpalaConstants.DATE_FORMAT, originName, format);
|
||||
}
|
||||
whereName = originName;
|
||||
}
|
||||
} else if (field.getDeType() == 2 || field.getDeType() == 3) {
|
||||
if (field.getDeExtractType() == 0 || field.getDeExtractType() == 5) {
|
||||
|
@ -1330,7 +1330,7 @@ public class MysqlQueryProvider extends QueryProvider {
|
||||
|
||||
if (field.getDeType() == 1) {
|
||||
String format = transDateFormat(request.getDateStyle(), request.getDatePattern());
|
||||
if (field.getDeExtractType() == 0 || field.getDeExtractType() == 5 || field.getDeExtractType() == 1) {
|
||||
if (field.getDeExtractType() == 0 || field.getDeExtractType() == 5) {
|
||||
String date;
|
||||
if (field.getType().equalsIgnoreCase("YEAR") || StringUtils.equalsIgnoreCase(field.getDateFormat(), "%Y")) {
|
||||
date = String.format(MySQLConstants.DATE_FORMAT, "CONCAT(" + originName + ",'-01-01')", StringUtils.isNotEmpty(field.getDateFormat()) ? field.getDateFormat() : MySQLConstants.DEFAULT_DATE_FORMAT);
|
||||
@ -1350,6 +1350,21 @@ public class MysqlQueryProvider extends QueryProvider {
|
||||
}
|
||||
|
||||
}
|
||||
if (field.getDeExtractType() == 1) {
|
||||
String date;
|
||||
if (field.getType().equalsIgnoreCase("YEAR") || StringUtils.equalsIgnoreCase(field.getDateFormat(), "%Y")) {
|
||||
date = String.format(MySQLConstants.DATE_FORMAT, "CONCAT(" + originName + ",'-01-01')", StringUtils.isNotEmpty(field.getDateFormat()) ? field.getDateFormat() : MySQLConstants.DEFAULT_DATE_FORMAT);
|
||||
} else {
|
||||
date = originName;
|
||||
}
|
||||
if (StringUtils.equalsIgnoreCase(request.getDateStyle(), "y_Q")) {
|
||||
whereName = String.format(format,
|
||||
String.format(MySQLConstants.DATE_FORMAT, originName, "%Y"),
|
||||
String.format(MySQLConstants.QUARTER, String.format(MySQLConstants.DATE_FORMAT, originName, MySQLConstants.DEFAULT_DATE_FORMAT)));
|
||||
} else {
|
||||
whereName = date;
|
||||
}
|
||||
}
|
||||
if (field.getDeExtractType() == 2 || field.getDeExtractType() == 3 || field.getDeExtractType() == 4) {
|
||||
if (request.getOperator().equals("between")) {
|
||||
whereName = originName;
|
||||
|
@ -1487,11 +1487,7 @@ public class OracleQueryProvider extends QueryProvider {
|
||||
}
|
||||
}
|
||||
if (field.getDeExtractType() == 1) {
|
||||
if (!request.getOperator().equals("between")) {
|
||||
whereName = String.format(OracleConstants.TO_CHAR, originName, format);
|
||||
} else {
|
||||
whereName = originName;
|
||||
}
|
||||
whereName = originName;
|
||||
}
|
||||
|
||||
} else if (field.getDeType() == 2 || field.getDeType() == 3) {
|
||||
|
@ -1339,12 +1339,7 @@ public class PgQueryProvider extends QueryProvider {
|
||||
}
|
||||
}
|
||||
if (field.getDeExtractType() == 1) {
|
||||
if (request.getOperator().equals("between")) {
|
||||
whereName = originName;
|
||||
} else {
|
||||
whereName = String.format(PgConstants.DATE_FORMAT, originName, format);
|
||||
}
|
||||
|
||||
whereName = originName;
|
||||
}
|
||||
} else if (field.getDeType() == 2 || field.getDeType() == 3) {
|
||||
if (field.getDeExtractType() == 0 || field.getDeExtractType() == 5) {
|
||||
|
@ -1325,11 +1325,7 @@ public class RedshiftQueryProvider extends QueryProvider {
|
||||
}
|
||||
}
|
||||
if (field.getDeExtractType() == 1) {
|
||||
if (request.getOperator().equals("between")) {
|
||||
whereName = originName;
|
||||
} else {
|
||||
whereName = String.format(PgConstants.DATE_FORMAT, originName, format);
|
||||
}
|
||||
whereName = originName;
|
||||
}
|
||||
} else if (field.getDeType() == 2 || field.getDeType() == 3) {
|
||||
if (field.getDeExtractType() == 0 || field.getDeExtractType() == 5) {
|
||||
|
@ -529,14 +529,21 @@ public class SqlserverQueryProvider extends QueryProvider {
|
||||
return originTableInfo("(" + sqlFix(sql) + ")", xAxis, fieldCustomFilter, rowPermissionsTree, extFilterRequestList, null, view, needOrder, true);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getSQLWithPage(boolean isTable, String sql, List<ChartViewFieldDTO> xAxis, FilterTreeObj fieldCustomFilter, List<DataSetRowPermissionsTreeDTO> rowPermissionsTree, List<ChartExtFilterRequest> extFilterRequestList, Datasource ds, ChartViewWithBLOBs view, PageInfo pageInfo) {
|
||||
boolean isPage = (pageInfo.getGoPage() != null && pageInfo.getPageSize() != null);
|
||||
String limit = (isPage ? " OFFSET " + (pageInfo.getGoPage() - 1) * pageInfo.getPageSize() + " ROW FETCH NEXT " + pageInfo.getPageSize() + " ROW ONLY " : "");
|
||||
if (isTable) {
|
||||
return originTableInfo(sql, xAxis, fieldCustomFilter, rowPermissionsTree, extFilterRequestList, ds, view, true, !isPage) + limit;
|
||||
if (Integer.valueOf(ds.getVersion()) < 11) {
|
||||
if (isTable) {
|
||||
return getSQLTableInfo(sql, xAxis, fieldCustomFilter, rowPermissionsTree, extFilterRequestList, ds, view);
|
||||
} else {
|
||||
return getSQLAsTmpTableInfo(sql, xAxis, fieldCustomFilter, rowPermissionsTree, extFilterRequestList, ds, view);
|
||||
}
|
||||
} else {
|
||||
return originTableInfo("(" + sqlFix(sql) + ")", xAxis, fieldCustomFilter, rowPermissionsTree, extFilterRequestList, ds, view, true, !isPage) + limit;
|
||||
boolean isPage = (pageInfo.getGoPage() != null && pageInfo.getPageSize() != null);
|
||||
String limit = (isPage ? " OFFSET " + (pageInfo.getGoPage() - 1) * pageInfo.getPageSize() + " ROW FETCH NEXT " + pageInfo.getPageSize() + " ROW ONLY " : "");
|
||||
if (isTable) {
|
||||
return originTableInfo(sql, xAxis, fieldCustomFilter, rowPermissionsTree, extFilterRequestList, ds, view, true, !isPage) + limit;
|
||||
} else {
|
||||
return originTableInfo("(" + sqlFix(sql) + ")", xAxis, fieldCustomFilter, rowPermissionsTree, extFilterRequestList, ds, view, true, !isPage) + limit;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -639,8 +639,6 @@ public class ChartViewService {
|
||||
}
|
||||
Type tokenType = new TypeToken<List<ChartViewFieldDTO>>() {
|
||||
}.getType();
|
||||
// Type filterTokenType = new TypeToken<List<ChartFieldCustomFilterDTO>>() {
|
||||
// }.getType();
|
||||
|
||||
List<ChartViewFieldDTO> viewFields = gson.fromJson(view.getViewFields(), tokenType);
|
||||
final Map<String, List<ChartViewFieldDTO>> extFieldsMap = new LinkedHashMap<>();
|
||||
@ -709,7 +707,6 @@ public class ChartViewService {
|
||||
//将没有权限的列删掉
|
||||
List<String> dataeaseNames = columnPermissionFields.stream().map(DatasetTableField::getDataeaseName).collect(Collectors.toList());
|
||||
dataeaseNames.add("*");
|
||||
// fieldCustomFilter = fieldCustomFilter.stream().filter(item -> chartViewFieldNameList.contains(item.getDataeaseName()) || (!desensitizationList.keySet().contains(item.getDataeaseName()) && dataeaseNames.contains(item.getDataeaseName()))).collect(Collectors.toList());
|
||||
extStack = extStack.stream().filter(item -> chartViewFieldNameList.contains(item.getDataeaseName()) || (!desensitizationList.keySet().contains(item.getDataeaseName()) && dataeaseNames.contains(item.getDataeaseName()))).collect(Collectors.toList());
|
||||
extBubble = extBubble.stream().filter(item -> chartViewFieldNameList.contains(item.getDataeaseName()) || (!desensitizationList.keySet().contains(item.getDataeaseName()) && dataeaseNames.contains(item.getDataeaseName()))).collect(Collectors.toList());
|
||||
drill = drill.stream().filter(item -> chartViewFieldNameList.contains(item.getDataeaseName()) || (!desensitizationList.keySet().contains(item.getDataeaseName()) && dataeaseNames.contains(item.getDataeaseName()))).collect(Collectors.toList());
|
||||
@ -717,9 +714,6 @@ public class ChartViewService {
|
||||
//行权限
|
||||
List<DataSetRowPermissionsTreeDTO> rowPermissionsTree = permissionsTreeService.getRowPermissionsTree(fields, table, chartExtRequest.getUser());
|
||||
|
||||
/*for (ChartFieldCustomFilterDTO ele : fieldCustomFilter) {
|
||||
ele.setField(dataSetTableFieldsService.get(ele.getId()));
|
||||
}*/
|
||||
chartFilterTreeService.searchFieldAndSet(fieldCustomFilter);
|
||||
|
||||
if (CollectionUtils.isEmpty(xAxis) && CollectionUtils.isEmpty(yAxis)) {
|
||||
@ -1043,17 +1037,6 @@ public class ChartViewService {
|
||||
assistFields = getAssistFields(dynamicAssistFields, yAxis, xAxis);
|
||||
}
|
||||
|
||||
// 处理过滤条件中的单引号
|
||||
/*fieldCustomFilter = fieldCustomFilter.stream().peek(ele -> {
|
||||
if (CollectionUtils.isNotEmpty(ele.getEnumCheckField())) {
|
||||
List<String> collect = ele.getEnumCheckField().stream().map(SQLUtils::transKeyword).collect(Collectors.toList());
|
||||
ele.setEnumCheckField(collect);
|
||||
}
|
||||
if (CollectionUtils.isNotEmpty(ele.getFilter())) {
|
||||
List<ChartCustomFilterItemDTO> collect = ele.getFilter().stream().peek(f -> f.setValue(SQLUtils.transKeyword(f.getValue()))).collect(Collectors.toList());
|
||||
ele.setFilter(collect);
|
||||
}
|
||||
}).collect(Collectors.toList());*/
|
||||
fieldCustomFilter = chartFilterTreeService.charReplace(fieldCustomFilter);
|
||||
|
||||
extFilterList = extFilterList.stream().peek(ele -> {
|
||||
|
@ -42,6 +42,7 @@ import io.dataease.plugins.common.exception.DataEaseException;
|
||||
import io.dataease.plugins.common.request.datasource.DatasourceRequest;
|
||||
import io.dataease.plugins.common.util.SpringContextUtil;
|
||||
import io.dataease.plugins.datasource.entity.JdbcConfiguration;
|
||||
import io.dataease.plugins.datasource.entity.Status;
|
||||
import io.dataease.plugins.datasource.provider.Provider;
|
||||
import io.dataease.provider.ProviderFactory;
|
||||
import io.dataease.provider.datasource.ApiProvider;
|
||||
@ -52,6 +53,8 @@ import io.dataease.service.sys.SysAuthService;
|
||||
import io.dataease.service.system.SystemParameterService;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.zookeeper.data.Stat;
|
||||
import org.mozilla.javascript.EcmaError;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.core.env.Environment;
|
||||
import org.springframework.data.redis.core.RedisTemplate;
|
||||
@ -115,7 +118,9 @@ public class DatasourceService {
|
||||
datasource.setUpdateTime(currentTimeMillis);
|
||||
datasource.setCreateTime(currentTimeMillis);
|
||||
datasource.setCreateBy(String.valueOf(AuthUtils.getUser().getUsername()));
|
||||
checkAndUpdateDatasourceStatus(datasource);
|
||||
Status status = checkDatasourceStatus(datasource);
|
||||
datasource.setStatus(status.getStatus());
|
||||
datasource.setVersion(status.getVersion());
|
||||
datasourceMapper.insertSelective(datasource);
|
||||
handleConnectionPool(datasource, "add");
|
||||
sysAuthService.copyAuth(datasource.getId(), SysAuthConstants.AUTH_SOURCE_TYPE_DATASOURCE);
|
||||
@ -277,7 +282,9 @@ public class DatasourceService {
|
||||
public void updateDatasource(String id, Datasource datasource) {
|
||||
DatasourceExample example = new DatasourceExample();
|
||||
example.createCriteria().andIdEqualTo(id);
|
||||
checkAndUpdateDatasourceStatus(datasource);
|
||||
Status status = checkDatasourceStatus(datasource);
|
||||
datasource.setStatus(status.getStatus());
|
||||
datasource.setVersion(status.getVersion());
|
||||
datasourceMapper.updateByExampleSelective(datasource, example);
|
||||
handleConnectionPool(id);
|
||||
|
||||
@ -327,15 +334,15 @@ public class DatasourceService {
|
||||
datasourceProvider.checkConfiguration(datasource);
|
||||
DatasourceRequest datasourceRequest = new DatasourceRequest();
|
||||
datasourceRequest.setDatasource(datasource);
|
||||
String datasourceStatus = datasourceProvider.checkStatus(datasourceRequest);
|
||||
Status datasourceStatus = datasourceProvider.checkDsStatus(datasourceRequest);
|
||||
if (datasource.getType().equalsIgnoreCase("api")) {
|
||||
int success = 0;
|
||||
List<ApiDefinition> apiDefinitionList = new Gson().fromJson(datasource.getConfiguration(), new TypeToken<List<ApiDefinition>>() {
|
||||
}.getType());
|
||||
List<ApiDefinition> apiDefinitionListWithStatus = new ArrayList<>();
|
||||
|
||||
if (StringUtils.isNotEmpty(datasourceStatus)) {
|
||||
JsonObject apiItemStatuses = JsonParser.parseString(datasourceStatus).getAsJsonObject();
|
||||
if (StringUtils.isNotEmpty(datasourceStatus.getStatus())) {
|
||||
JsonObject apiItemStatuses = JsonParser.parseString(datasourceStatus.getStatus()).getAsJsonObject();
|
||||
for (ApiDefinition apiDefinition : apiDefinitionList) {
|
||||
String status = apiItemStatuses.get(apiDefinition.getName()).getAsString();
|
||||
apiDefinition.setStatus(status);
|
||||
@ -348,7 +355,7 @@ public class DatasourceService {
|
||||
|
||||
datasourceDTO.setApiConfiguration(apiDefinitionListWithStatus);
|
||||
if (success == apiDefinitionList.size()) {
|
||||
datasource.setStatus(datasourceStatus);
|
||||
datasource.setStatus(datasourceStatus.getStatus());
|
||||
return ResultHolder.success(datasourceDTO);
|
||||
}
|
||||
if (success > 0 && success < apiDefinitionList.size()) {
|
||||
@ -367,16 +374,16 @@ public class DatasourceService {
|
||||
if (datasource == null) {
|
||||
return ResultHolder.error("Can not find datasource: " + datasourceId);
|
||||
}
|
||||
String datasourceStatus = null;
|
||||
Status datasourceStatus = new Status();
|
||||
try {
|
||||
Provider datasourceProvider = ProviderFactory.getProvider(datasource.getType());
|
||||
DatasourceRequest datasourceRequest = new DatasourceRequest();
|
||||
datasourceRequest.setDatasource(datasource);
|
||||
datasourceStatus = datasourceProvider.checkStatus(datasourceRequest);
|
||||
datasourceStatus = datasourceProvider.checkDsStatus(datasourceRequest);
|
||||
if (datasource.getType().equalsIgnoreCase("api")) {
|
||||
List<ApiDefinition> apiDefinitionList = new Gson().fromJson(datasource.getConfiguration(), new TypeToken<List<ApiDefinition>>() {
|
||||
}.getType());
|
||||
JsonObject apiItemStatuses = JsonParser.parseString(datasourceStatus).getAsJsonObject();
|
||||
JsonObject apiItemStatuses = JsonParser.parseString(datasourceStatus.getStatus()).getAsJsonObject();
|
||||
int success = 0;
|
||||
for (ApiDefinition apiDefinition : apiDefinitionList) {
|
||||
String status = apiItemStatuses.get(apiDefinition.getName()).getAsString();
|
||||
@ -386,7 +393,7 @@ public class DatasourceService {
|
||||
}
|
||||
}
|
||||
if (success == apiDefinitionList.size()) {
|
||||
datasource.setStatus(datasourceStatus);
|
||||
datasource.setStatus(datasourceStatus.getStatus());
|
||||
return ResultHolder.success(datasource);
|
||||
}
|
||||
if (success > 0 && success < apiDefinitionList.size()) {
|
||||
@ -398,14 +405,14 @@ public class DatasourceService {
|
||||
return ResultHolder.success("Success");
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
datasourceStatus = "Error";
|
||||
datasourceStatus.setStatus("Error");
|
||||
return ResultHolder.error(Translator.get("I18N_DS_INVALID") + ": " + e.getMessage());
|
||||
} finally {
|
||||
Datasource record = new Datasource();
|
||||
record.setStatus(datasourceStatus);
|
||||
record.setStatus(datasourceStatus.getStatus());
|
||||
record.setVersion(datasourceStatus.getVersion());
|
||||
DatasourceExample example = new DatasourceExample();
|
||||
example.createCriteria().andIdEqualTo(datasource.getId());
|
||||
System.out.println(new Gson().toJson(record));
|
||||
datasourceMapper.updateByExampleSelective(record, example);
|
||||
}
|
||||
}
|
||||
@ -426,7 +433,7 @@ public class DatasourceService {
|
||||
DatasourceRequest datasourceRequest = new DatasourceRequest();
|
||||
datasourceRequest.setDatasource(ds);
|
||||
if (!ds.getType().equalsIgnoreCase(DatasetType.API.name())) {
|
||||
datasourceProvider.checkStatus(datasourceRequest);
|
||||
datasourceProvider.checkDsStatus(datasourceRequest);
|
||||
}
|
||||
|
||||
List<TableDesc> tables = datasourceProvider.getTables(datasourceRequest);
|
||||
@ -458,6 +465,15 @@ public class DatasourceService {
|
||||
List<Datasource> datasources = datasourceMapper.selectByExampleWithBLOBs(new DatasourceExample());
|
||||
datasources.forEach(datasource -> {
|
||||
commonThreadPool.addTask(() -> {
|
||||
try {
|
||||
DatasourceExample example = new DatasourceExample();
|
||||
example.createCriteria().andIdEqualTo(datasource.getId());
|
||||
Status status = checkDatasourceStatus(datasource);
|
||||
Datasource record = new Datasource();
|
||||
record.setVersion(status.getVersion());
|
||||
record.setStatus(status.getStatus());
|
||||
datasourceMapper.updateByExampleSelective(record, example);
|
||||
}catch (Exception ignore){}
|
||||
try {
|
||||
handleConnectionPool(datasource, "add");
|
||||
} catch (Exception e) {
|
||||
@ -515,16 +531,17 @@ public class DatasourceService {
|
||||
return datasourceMapper.selectByExampleWithBLOBs(example);
|
||||
}
|
||||
|
||||
public void checkAndUpdateDatasourceStatus(Datasource datasource) {
|
||||
public Status checkDatasourceStatus(Datasource datasource) {
|
||||
Status status = new Status();
|
||||
try {
|
||||
Provider datasourceProvider = ProviderFactory.getProvider(datasource.getType());
|
||||
DatasourceRequest datasourceRequest = new DatasourceRequest();
|
||||
datasourceRequest.setDatasource(datasource);
|
||||
String status = datasourceProvider.checkStatus(datasourceRequest);
|
||||
datasource.setStatus(status);
|
||||
status = datasourceProvider.checkDsStatus(datasourceRequest);
|
||||
} catch (Exception e) {
|
||||
datasource.setStatus("Error");
|
||||
status.setStatus("Error");
|
||||
}
|
||||
return status;
|
||||
}
|
||||
|
||||
private void checkAndUpdateDatasourceStatus(Datasource datasource, Boolean withMsg) {
|
||||
@ -535,8 +552,9 @@ public class DatasourceService {
|
||||
Provider datasourceProvider = ProviderFactory.getProvider(datasource.getType());
|
||||
DatasourceRequest datasourceRequest = new DatasourceRequest();
|
||||
datasourceRequest.setDatasource(datasource);
|
||||
String status = datasourceProvider.checkStatus(datasourceRequest);
|
||||
record.setStatus(status);
|
||||
Status status = datasourceProvider.checkDsStatus(datasourceRequest);
|
||||
datasource.setStatus(status.getStatus());
|
||||
datasource.setVersion(status.getVersion());
|
||||
datasourceMapper.updateByExampleSelective(record, example);
|
||||
} catch (Exception e) {
|
||||
Datasource temp = datasourceMapper.selectByPrimaryKey(datasource.getId());
|
||||
|
@ -0,0 +1,3 @@
|
||||
ALTER TABLE `datasource`
|
||||
ADD COLUMN `version` varchar(255) NULL COMMENT '版本' AFTER `status`;
|
||||
|
@ -368,7 +368,7 @@ export default {
|
||||
this.showParams = true
|
||||
this.isRangeParamWidget = this.widget.isRangeParamWidget && this.widget.isRangeParamWidget()
|
||||
}
|
||||
if ('textInputWidget,timeYearWidget,timeMonthWidget,timeDateWidget,textSelectWidget,numberSelectWidget'.indexOf(this.widget.name) !== -1) {
|
||||
if ('textInputWidget,timeYearWidget,timeMonthWidget,timeDateWidget,textSelectWidget,numberSelectWidget,numberSelectGridWidget,textSelectGridWidget'.indexOf(this.widget.name) !== -1) {
|
||||
this.showParams = true
|
||||
}
|
||||
},
|
||||
|
@ -1544,12 +1544,7 @@ public class KingbaseQueryProvider extends QueryProvider {
|
||||
}
|
||||
}
|
||||
if (field.getDeExtractType() == 1) {
|
||||
if (request.getOperator().equals("between")) {
|
||||
whereName = originName;
|
||||
} else {
|
||||
whereName = String.format(KingbaseConstants.DATE_FORMAT, originName, format);
|
||||
}
|
||||
|
||||
whereName = originName;
|
||||
}
|
||||
} else if (field.getDeType() == 2 || field.getDeType() == 3) {
|
||||
if (field.getDeExtractType() == 0 || field.getDeExtractType() == 5) {
|
||||
|
@ -23,6 +23,8 @@ public class Datasource implements Serializable {
|
||||
private String createBy;
|
||||
@ApiModelProperty("状态")
|
||||
private String status;
|
||||
@ApiModelProperty("版本")
|
||||
private String version;
|
||||
@ApiModelProperty(value = "配置详情", required = true)
|
||||
private String configuration;
|
||||
|
||||
|
@ -384,6 +384,76 @@ public class DatasourceExample {
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andConfigurationIsNull() {
|
||||
addCriterion("configuration is null");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andConfigurationIsNotNull() {
|
||||
addCriterion("configuration is not null");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andConfigurationEqualTo(String value) {
|
||||
addCriterion("configuration =", value, "configuration");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andConfigurationNotEqualTo(String value) {
|
||||
addCriterion("configuration <>", value, "configuration");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andConfigurationGreaterThan(String value) {
|
||||
addCriterion("configuration >", value, "configuration");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andConfigurationGreaterThanOrEqualTo(String value) {
|
||||
addCriterion("configuration >=", value, "configuration");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andConfigurationLessThan(String value) {
|
||||
addCriterion("configuration <", value, "configuration");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andConfigurationLessThanOrEqualTo(String value) {
|
||||
addCriterion("configuration <=", value, "configuration");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andConfigurationLike(String value) {
|
||||
addCriterion("configuration like", value, "configuration");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andConfigurationNotLike(String value) {
|
||||
addCriterion("configuration not like", value, "configuration");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andConfigurationIn(List<String> values) {
|
||||
addCriterion("configuration in", values, "configuration");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andConfigurationNotIn(List<String> values) {
|
||||
addCriterion("configuration not in", values, "configuration");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andConfigurationBetween(String value1, String value2) {
|
||||
addCriterion("configuration between", value1, value2, "configuration");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andConfigurationNotBetween(String value1, String value2) {
|
||||
addCriterion("configuration not between", value1, value2, "configuration");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andCreateTimeIsNull() {
|
||||
addCriterion("create_time is null");
|
||||
return (Criteria) this;
|
||||
@ -574,73 +644,73 @@ public class DatasourceExample {
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andStatusIsNull() {
|
||||
addCriterion("`status` is null");
|
||||
public Criteria andVersionIsNull() {
|
||||
addCriterion("version is null");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andStatusIsNotNull() {
|
||||
addCriterion("`status` is not null");
|
||||
public Criteria andVersionIsNotNull() {
|
||||
addCriterion("version is not null");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andStatusEqualTo(String value) {
|
||||
addCriterion("`status` =", value, "status");
|
||||
public Criteria andVersionEqualTo(String value) {
|
||||
addCriterion("version =", value, "version");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andStatusNotEqualTo(String value) {
|
||||
addCriterion("`status` <>", value, "status");
|
||||
public Criteria andVersionNotEqualTo(String value) {
|
||||
addCriterion("version <>", value, "version");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andStatusGreaterThan(String value) {
|
||||
addCriterion("`status` >", value, "status");
|
||||
public Criteria andVersionGreaterThan(String value) {
|
||||
addCriterion("version >", value, "version");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andStatusGreaterThanOrEqualTo(String value) {
|
||||
addCriterion("`status` >=", value, "status");
|
||||
public Criteria andVersionGreaterThanOrEqualTo(String value) {
|
||||
addCriterion("version >=", value, "version");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andStatusLessThan(String value) {
|
||||
addCriterion("`status` <", value, "status");
|
||||
public Criteria andVersionLessThan(String value) {
|
||||
addCriterion("version <", value, "version");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andStatusLessThanOrEqualTo(String value) {
|
||||
addCriterion("`status` <=", value, "status");
|
||||
public Criteria andVersionLessThanOrEqualTo(String value) {
|
||||
addCriterion("version <=", value, "version");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andStatusLike(String value) {
|
||||
addCriterion("`status` like", value, "status");
|
||||
public Criteria andVersionLike(String value) {
|
||||
addCriterion("version like", value, "version");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andStatusNotLike(String value) {
|
||||
addCriterion("`status` not like", value, "status");
|
||||
public Criteria andVersionNotLike(String value) {
|
||||
addCriterion("version not like", value, "version");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andStatusIn(List<String> values) {
|
||||
addCriterion("`status` in", values, "status");
|
||||
public Criteria andVersionIn(List<String> values) {
|
||||
addCriterion("version in", values, "version");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andStatusNotIn(List<String> values) {
|
||||
addCriterion("`status` not in", values, "status");
|
||||
public Criteria andVersionNotIn(List<String> values) {
|
||||
addCriterion("version not in", values, "version");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andStatusBetween(String value1, String value2) {
|
||||
addCriterion("`status` between", value1, value2, "status");
|
||||
public Criteria andVersionBetween(String value1, String value2) {
|
||||
addCriterion("version between", value1, value2, "version");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andStatusNotBetween(String value1, String value2) {
|
||||
addCriterion("`status` not between", value1, value2, "status");
|
||||
public Criteria andVersionNotBetween(String value1, String value2) {
|
||||
addCriterion("version not between", value1, value2, "version");
|
||||
return (Criteria) this;
|
||||
}
|
||||
}
|
||||
|
@ -6,13 +6,14 @@
|
||||
<result column="name" jdbcType="VARCHAR" property="name" />
|
||||
<result column="desc" jdbcType="VARCHAR" property="desc" />
|
||||
<result column="type" jdbcType="VARCHAR" property="type" />
|
||||
<result column="configuration" jdbcType="VARCHAR" property="configuration" />
|
||||
<result column="create_time" jdbcType="BIGINT" property="createTime" />
|
||||
<result column="update_time" jdbcType="BIGINT" property="updateTime" />
|
||||
<result column="create_by" jdbcType="VARCHAR" property="createBy" />
|
||||
<result column="status" jdbcType="VARCHAR" property="status" />
|
||||
<result column="version" jdbcType="VARCHAR" property="version" />
|
||||
</resultMap>
|
||||
<resultMap extends="BaseResultMap" id="ResultMapWithBLOBs" type="io.dataease.plugins.common.base.domain.Datasource">
|
||||
<result column="configuration" jdbcType="LONGVARCHAR" property="configuration" />
|
||||
<result column="status" jdbcType="LONGVARCHAR" property="status" />
|
||||
</resultMap>
|
||||
<sql id="Example_Where_Clause">
|
||||
<where>
|
||||
@ -73,10 +74,10 @@
|
||||
</where>
|
||||
</sql>
|
||||
<sql id="Base_Column_List">
|
||||
id, `name`, `desc`, `type`, create_time, update_time, create_by, `status`
|
||||
id, `name`, `desc`, `type`, configuration, create_time, update_time, create_by, version
|
||||
</sql>
|
||||
<sql id="Blob_Column_List">
|
||||
configuration
|
||||
`status`
|
||||
</sql>
|
||||
<select id="selectByExampleWithBLOBs" parameterType="io.dataease.plugins.common.base.domain.DatasourceExample" resultMap="ResultMapWithBLOBs">
|
||||
select
|
||||
@ -128,13 +129,13 @@
|
||||
</delete>
|
||||
<insert id="insert" parameterType="io.dataease.plugins.common.base.domain.Datasource">
|
||||
insert into datasource (id, `name`, `desc`,
|
||||
`type`, create_time, update_time,
|
||||
create_by, `status`, configuration
|
||||
)
|
||||
`type`, configuration, create_time,
|
||||
update_time, create_by, version,
|
||||
`status`)
|
||||
values (#{id,jdbcType=VARCHAR}, #{name,jdbcType=VARCHAR}, #{desc,jdbcType=VARCHAR},
|
||||
#{type,jdbcType=VARCHAR}, #{createTime,jdbcType=BIGINT}, #{updateTime,jdbcType=BIGINT},
|
||||
#{createBy,jdbcType=VARCHAR}, #{status,jdbcType=VARCHAR}, #{configuration,jdbcType=LONGVARCHAR}
|
||||
)
|
||||
#{type,jdbcType=VARCHAR}, #{configuration,jdbcType=VARCHAR}, #{createTime,jdbcType=BIGINT},
|
||||
#{updateTime,jdbcType=BIGINT}, #{createBy,jdbcType=VARCHAR}, #{version,jdbcType=VARCHAR},
|
||||
#{status,jdbcType=LONGVARCHAR})
|
||||
</insert>
|
||||
<insert id="insertSelective" parameterType="io.dataease.plugins.common.base.domain.Datasource">
|
||||
insert into datasource
|
||||
@ -151,6 +152,9 @@
|
||||
<if test="type != null">
|
||||
`type`,
|
||||
</if>
|
||||
<if test="configuration != null">
|
||||
configuration,
|
||||
</if>
|
||||
<if test="createTime != null">
|
||||
create_time,
|
||||
</if>
|
||||
@ -160,12 +164,12 @@
|
||||
<if test="createBy != null">
|
||||
create_by,
|
||||
</if>
|
||||
<if test="version != null">
|
||||
version,
|
||||
</if>
|
||||
<if test="status != null">
|
||||
`status`,
|
||||
</if>
|
||||
<if test="configuration != null">
|
||||
configuration,
|
||||
</if>
|
||||
</trim>
|
||||
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
||||
<if test="id != null">
|
||||
@ -180,6 +184,9 @@
|
||||
<if test="type != null">
|
||||
#{type,jdbcType=VARCHAR},
|
||||
</if>
|
||||
<if test="configuration != null">
|
||||
#{configuration,jdbcType=VARCHAR},
|
||||
</if>
|
||||
<if test="createTime != null">
|
||||
#{createTime,jdbcType=BIGINT},
|
||||
</if>
|
||||
@ -189,11 +196,11 @@
|
||||
<if test="createBy != null">
|
||||
#{createBy,jdbcType=VARCHAR},
|
||||
</if>
|
||||
<if test="status != null">
|
||||
#{status,jdbcType=VARCHAR},
|
||||
<if test="version != null">
|
||||
#{version,jdbcType=VARCHAR},
|
||||
</if>
|
||||
<if test="configuration != null">
|
||||
#{configuration,jdbcType=LONGVARCHAR},
|
||||
<if test="status != null">
|
||||
#{status,jdbcType=LONGVARCHAR},
|
||||
</if>
|
||||
</trim>
|
||||
</insert>
|
||||
@ -218,6 +225,9 @@
|
||||
<if test="record.type != null">
|
||||
`type` = #{record.type,jdbcType=VARCHAR},
|
||||
</if>
|
||||
<if test="record.configuration != null">
|
||||
configuration = #{record.configuration,jdbcType=VARCHAR},
|
||||
</if>
|
||||
<if test="record.createTime != null">
|
||||
create_time = #{record.createTime,jdbcType=BIGINT},
|
||||
</if>
|
||||
@ -227,11 +237,11 @@
|
||||
<if test="record.createBy != null">
|
||||
create_by = #{record.createBy,jdbcType=VARCHAR},
|
||||
</if>
|
||||
<if test="record.status != null">
|
||||
`status` = #{record.status,jdbcType=VARCHAR},
|
||||
<if test="record.version != null">
|
||||
version = #{record.version,jdbcType=VARCHAR},
|
||||
</if>
|
||||
<if test="record.configuration != null">
|
||||
configuration = #{record.configuration,jdbcType=LONGVARCHAR},
|
||||
<if test="record.status != null">
|
||||
`status` = #{record.status,jdbcType=LONGVARCHAR},
|
||||
</if>
|
||||
</set>
|
||||
<if test="_parameter != null">
|
||||
@ -244,11 +254,12 @@
|
||||
`name` = #{record.name,jdbcType=VARCHAR},
|
||||
`desc` = #{record.desc,jdbcType=VARCHAR},
|
||||
`type` = #{record.type,jdbcType=VARCHAR},
|
||||
configuration = #{record.configuration,jdbcType=VARCHAR},
|
||||
create_time = #{record.createTime,jdbcType=BIGINT},
|
||||
update_time = #{record.updateTime,jdbcType=BIGINT},
|
||||
create_by = #{record.createBy,jdbcType=VARCHAR},
|
||||
`status` = #{record.status,jdbcType=VARCHAR},
|
||||
configuration = #{record.configuration,jdbcType=LONGVARCHAR}
|
||||
version = #{record.version,jdbcType=VARCHAR},
|
||||
`status` = #{record.status,jdbcType=LONGVARCHAR}
|
||||
<if test="_parameter != null">
|
||||
<include refid="Update_By_Example_Where_Clause" />
|
||||
</if>
|
||||
@ -259,10 +270,11 @@
|
||||
`name` = #{record.name,jdbcType=VARCHAR},
|
||||
`desc` = #{record.desc,jdbcType=VARCHAR},
|
||||
`type` = #{record.type,jdbcType=VARCHAR},
|
||||
configuration = #{record.configuration,jdbcType=VARCHAR},
|
||||
create_time = #{record.createTime,jdbcType=BIGINT},
|
||||
update_time = #{record.updateTime,jdbcType=BIGINT},
|
||||
create_by = #{record.createBy,jdbcType=VARCHAR},
|
||||
`status` = #{record.status,jdbcType=VARCHAR}
|
||||
version = #{record.version,jdbcType=VARCHAR}
|
||||
<if test="_parameter != null">
|
||||
<include refid="Update_By_Example_Where_Clause" />
|
||||
</if>
|
||||
@ -279,6 +291,9 @@
|
||||
<if test="type != null">
|
||||
`type` = #{type,jdbcType=VARCHAR},
|
||||
</if>
|
||||
<if test="configuration != null">
|
||||
configuration = #{configuration,jdbcType=VARCHAR},
|
||||
</if>
|
||||
<if test="createTime != null">
|
||||
create_time = #{createTime,jdbcType=BIGINT},
|
||||
</if>
|
||||
@ -288,11 +303,11 @@
|
||||
<if test="createBy != null">
|
||||
create_by = #{createBy,jdbcType=VARCHAR},
|
||||
</if>
|
||||
<if test="status != null">
|
||||
`status` = #{status,jdbcType=VARCHAR},
|
||||
<if test="version != null">
|
||||
version = #{version,jdbcType=VARCHAR},
|
||||
</if>
|
||||
<if test="configuration != null">
|
||||
configuration = #{configuration,jdbcType=LONGVARCHAR},
|
||||
<if test="status != null">
|
||||
`status` = #{status,jdbcType=LONGVARCHAR},
|
||||
</if>
|
||||
</set>
|
||||
where id = #{id,jdbcType=VARCHAR}
|
||||
@ -302,11 +317,12 @@
|
||||
set `name` = #{name,jdbcType=VARCHAR},
|
||||
`desc` = #{desc,jdbcType=VARCHAR},
|
||||
`type` = #{type,jdbcType=VARCHAR},
|
||||
configuration = #{configuration,jdbcType=VARCHAR},
|
||||
create_time = #{createTime,jdbcType=BIGINT},
|
||||
update_time = #{updateTime,jdbcType=BIGINT},
|
||||
create_by = #{createBy,jdbcType=VARCHAR},
|
||||
`status` = #{status,jdbcType=VARCHAR},
|
||||
configuration = #{configuration,jdbcType=LONGVARCHAR}
|
||||
version = #{version,jdbcType=VARCHAR},
|
||||
`status` = #{status,jdbcType=LONGVARCHAR}
|
||||
where id = #{id,jdbcType=VARCHAR}
|
||||
</update>
|
||||
<update id="updateByPrimaryKey" parameterType="io.dataease.plugins.common.base.domain.Datasource">
|
||||
@ -314,10 +330,11 @@
|
||||
set `name` = #{name,jdbcType=VARCHAR},
|
||||
`desc` = #{desc,jdbcType=VARCHAR},
|
||||
`type` = #{type,jdbcType=VARCHAR},
|
||||
configuration = #{configuration,jdbcType=VARCHAR},
|
||||
create_time = #{createTime,jdbcType=BIGINT},
|
||||
update_time = #{updateTime,jdbcType=BIGINT},
|
||||
create_by = #{createBy,jdbcType=VARCHAR},
|
||||
`status` = #{status,jdbcType=VARCHAR}
|
||||
version = #{version,jdbcType=VARCHAR}
|
||||
where id = #{id,jdbcType=VARCHAR}
|
||||
</update>
|
||||
</mapper>
|
@ -0,0 +1,9 @@
|
||||
package io.dataease.plugins.datasource.entity;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class Status {
|
||||
private String status;
|
||||
private String version;
|
||||
}
|
@ -12,6 +12,7 @@ import io.dataease.plugins.common.dto.datasource.TableField;
|
||||
import io.dataease.plugins.common.exception.DataEaseException;
|
||||
import io.dataease.plugins.common.request.datasource.DatasourceRequest;
|
||||
import io.dataease.plugins.datasource.entity.JdbcConfiguration;
|
||||
import io.dataease.plugins.datasource.entity.Status;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
|
||||
import javax.annotation.PostConstruct;
|
||||
@ -137,6 +138,13 @@ public abstract class DefaultJdbcProvider extends Provider {
|
||||
return tables;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Status checkDsStatus(DatasourceRequest datasourceRequest) throws Exception {
|
||||
Status status = new Status();
|
||||
status.setStatus(checkStatus(datasourceRequest));
|
||||
return status;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String checkStatus(DatasourceRequest datasourceRequest) throws Exception {
|
||||
String queryStr = getTablesSql(datasourceRequest);
|
||||
|
@ -6,6 +6,7 @@ import io.dataease.plugins.common.dto.datasource.TableDesc;
|
||||
import io.dataease.plugins.common.dto.datasource.TableField;
|
||||
import io.dataease.plugins.common.request.datasource.DatasourceRequest;
|
||||
import io.dataease.plugins.datasource.entity.JdbcConfiguration;
|
||||
import io.dataease.plugins.datasource.entity.Status;
|
||||
|
||||
import java.beans.PropertyVetoException;
|
||||
import java.sql.Connection;
|
||||
@ -21,6 +22,8 @@ public abstract class Provider {
|
||||
|
||||
abstract public String checkStatus(DatasourceRequest datasourceRequest) throws Exception ;
|
||||
|
||||
abstract public Status checkDsStatus(DatasourceRequest datasourceRequest) throws Exception ;
|
||||
|
||||
public List<String[]> fetchResult(DatasourceRequest datasourceRequest) throws Exception {
|
||||
return null;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user