mirror of
https://github.com/tencentmusic/supersonic.git
synced 2025-12-12 12:37:55 +00:00
[improvement][Headless] Add get database by type
This commit is contained in:
@@ -2,6 +2,7 @@ package com.tencent.supersonic.headless.server.service;
|
|||||||
|
|
||||||
import com.tencent.supersonic.common.pojo.User;
|
import com.tencent.supersonic.common.pojo.User;
|
||||||
import com.tencent.supersonic.headless.api.pojo.DBColumn;
|
import com.tencent.supersonic.headless.api.pojo.DBColumn;
|
||||||
|
import com.tencent.supersonic.headless.api.pojo.enums.DataType;
|
||||||
import com.tencent.supersonic.headless.api.pojo.request.DatabaseReq;
|
import com.tencent.supersonic.headless.api.pojo.request.DatabaseReq;
|
||||||
import com.tencent.supersonic.headless.api.pojo.request.ModelBuildReq;
|
import com.tencent.supersonic.headless.api.pojo.request.ModelBuildReq;
|
||||||
import com.tencent.supersonic.headless.api.pojo.request.SqlExecuteReq;
|
import com.tencent.supersonic.headless.api.pojo.request.SqlExecuteReq;
|
||||||
@@ -17,6 +18,8 @@ public interface DatabaseService {
|
|||||||
|
|
||||||
SemanticQueryResp executeSql(String sql, DatabaseResp databaseResp);
|
SemanticQueryResp executeSql(String sql, DatabaseResp databaseResp);
|
||||||
|
|
||||||
|
List<DatabaseResp> getDatabaseByType(DataType dataType);
|
||||||
|
|
||||||
SemanticQueryResp executeSql(SqlExecuteReq sqlExecuteReq, Long id, User user);
|
SemanticQueryResp executeSql(SqlExecuteReq sqlExecuteReq, Long id, User user);
|
||||||
|
|
||||||
DatabaseResp getDatabase(Long id, User user);
|
DatabaseResp getDatabase(Long id, User user);
|
||||||
|
|||||||
@@ -1,11 +1,13 @@
|
|||||||
package com.tencent.supersonic.headless.server.service.impl;
|
package com.tencent.supersonic.headless.server.service.impl;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import com.google.common.collect.Lists;
|
import com.google.common.collect.Lists;
|
||||||
import com.tencent.supersonic.common.pojo.QueryColumn;
|
import com.tencent.supersonic.common.pojo.QueryColumn;
|
||||||
import com.tencent.supersonic.common.pojo.User;
|
import com.tencent.supersonic.common.pojo.User;
|
||||||
import com.tencent.supersonic.common.pojo.enums.EngineType;
|
import com.tencent.supersonic.common.pojo.enums.EngineType;
|
||||||
import com.tencent.supersonic.headless.api.pojo.DBColumn;
|
import com.tencent.supersonic.headless.api.pojo.DBColumn;
|
||||||
|
import com.tencent.supersonic.headless.api.pojo.enums.DataType;
|
||||||
import com.tencent.supersonic.headless.api.pojo.request.DatabaseReq;
|
import com.tencent.supersonic.headless.api.pojo.request.DatabaseReq;
|
||||||
import com.tencent.supersonic.headless.api.pojo.request.ModelBuildReq;
|
import com.tencent.supersonic.headless.api.pojo.request.ModelBuildReq;
|
||||||
import com.tencent.supersonic.headless.api.pojo.request.SqlExecuteReq;
|
import com.tencent.supersonic.headless.api.pojo.request.SqlExecuteReq;
|
||||||
@@ -131,6 +133,14 @@ public class DatabaseServiceImpl extends ServiceImpl<DatabaseDOMapper, DatabaseD
|
|||||||
return databaseResp;
|
return databaseResp;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<DatabaseResp> getDatabaseByType(DataType dataType) {
|
||||||
|
QueryWrapper<DatabaseDO> queryWrapper = new QueryWrapper<>();
|
||||||
|
queryWrapper.lambda().eq(DatabaseDO::getType, dataType.getFeature());
|
||||||
|
List<DatabaseDO> list = list(queryWrapper);
|
||||||
|
return list.stream().map(DatabaseConverter::convertWithPassword).collect(Collectors.toList());
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public SemanticQueryResp executeSql(SqlExecuteReq sqlExecuteReq, Long id, User user) {
|
public SemanticQueryResp executeSql(SqlExecuteReq sqlExecuteReq, Long id, User user) {
|
||||||
DatabaseResp databaseResp = getDatabase(id);
|
DatabaseResp databaseResp = getDatabase(id);
|
||||||
|
|||||||
Reference in New Issue
Block a user