mirror of
https://github.com/CodePhiliaX/Chat2DB.git
synced 2025-07-31 19:52:54 +08:00
Add CacheManage
This commit is contained in:
@ -27,4 +27,10 @@ public class DataSourceBaseRequest implements DataSourceBaseRequestInfo{
|
||||
* 表所在空间
|
||||
*/
|
||||
private String schemaName;
|
||||
|
||||
|
||||
/**
|
||||
* if true, refresh the cache
|
||||
*/
|
||||
private boolean refresh;
|
||||
}
|
||||
|
@ -2,16 +2,21 @@ package ai.chat2db.server.web.api.controller.driver;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import ai.chat2db.server.domain.api.service.JdbcDriverService;
|
||||
import ai.chat2db.server.tools.base.wrapper.result.ActionResult;
|
||||
import ai.chat2db.server.tools.base.wrapper.result.DataResult;
|
||||
import ai.chat2db.server.tools.base.wrapper.result.ListResult;
|
||||
import ai.chat2db.server.web.api.controller.driver.request.JdbcDriverRequest;
|
||||
import ai.chat2db.spi.config.DBConfig;
|
||||
import ai.chat2db.spi.util.JdbcJarUtils;
|
||||
import org.apache.commons.io.FilenameUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
@ -44,6 +49,7 @@ public class JdbcDriverController {
|
||||
|
||||
/**
|
||||
* 下载驱动
|
||||
*
|
||||
* @param dbType
|
||||
* @return
|
||||
*/
|
||||
@ -57,17 +63,13 @@ public class JdbcDriverController {
|
||||
* 上传驱动
|
||||
*
|
||||
* @param multipartFiles
|
||||
* @param jdbcDriverClass
|
||||
* @return
|
||||
*/
|
||||
@PostMapping("/upload")
|
||||
public ActionResult upload(@RequestParam MultipartFile[] multipartFiles, @RequestParam String jdbcDriverClass,
|
||||
@RequestParam String dbType) {
|
||||
StringBuilder stringBuilder = new StringBuilder();
|
||||
public ListResult<String> upload(@RequestParam MultipartFile[] multipartFiles) {
|
||||
List<String> list = new ArrayList<>();
|
||||
for (int i = 0; i < multipartFiles.length; i++) {
|
||||
if (i > 0) {
|
||||
stringBuilder.append(",");
|
||||
}
|
||||
|
||||
MultipartFile multipartFile = multipartFiles[i];
|
||||
String originalFilename = FilenameUtils.getName(multipartFile.getOriginalFilename());
|
||||
String location = JdbcJarUtils.PATH + originalFilename;
|
||||
@ -76,10 +78,22 @@ public class JdbcDriverController {
|
||||
} catch (IOException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
stringBuilder.append(originalFilename);
|
||||
list.add(originalFilename);
|
||||
}
|
||||
return jdbcDriverService.upload(dbType, jdbcDriverClass, stringBuilder.toString());
|
||||
return ListResult.of(list);
|
||||
}
|
||||
|
||||
/**
|
||||
* save
|
||||
*
|
||||
* @param request
|
||||
* @return
|
||||
*/
|
||||
@PostMapping("/save")
|
||||
public ActionResult save(@RequestBody JdbcDriverRequest request) {
|
||||
|
||||
return jdbcDriverService.upload(request.getDbType(), request.getJdbcDriverClass(),
|
||||
String.join(",", request.getJdbcDriver()));
|
||||
}
|
||||
|
||||
///**
|
||||
|
@ -0,0 +1,13 @@
|
||||
package ai.chat2db.server.web.api.controller.driver.request;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class JdbcDriverRequest {
|
||||
String jdbcDriverClass;
|
||||
String dbType;
|
||||
|
||||
List<String> jdbcDriver;
|
||||
}
|
@ -75,7 +75,7 @@ public class RdbDdlController {
|
||||
PageResult<Table> tableDTOPageResult = tableService.pageQuery(queryParam, tableSelector);
|
||||
List<TableVO> tableVOS = rdbWebConverter.tableDto2vo(tableDTOPageResult.getData());
|
||||
return WebPageResult.of(tableVOS, tableDTOPageResult.getTotal(), request.getPageNo(),
|
||||
request.getPageSize());
|
||||
request.getPageSize());
|
||||
}
|
||||
|
||||
/**
|
||||
@ -100,7 +100,8 @@ public class RdbDdlController {
|
||||
*/
|
||||
@GetMapping("/database_schema_list")
|
||||
public DataResult<MetaSchemaVO> databaseSchemaList(@Valid DataSourceBaseRequest request) {
|
||||
MetaDataQueryParam queryParam = MetaDataQueryParam.builder().dataSourceId(request.getDataSourceId()).build();
|
||||
MetaDataQueryParam queryParam = MetaDataQueryParam.builder().dataSourceId(request.getDataSourceId()).refresh(
|
||||
request.isRefresh()).build();
|
||||
DataResult<MetaSchema> result = databaseService.queryDatabaseSchema(queryParam);
|
||||
MetaSchemaVO schemaDto2vo = rdbWebConverter.metaSchemaDto2vo(result.getData());
|
||||
return DataResult.of(schemaDto2vo);
|
||||
@ -139,7 +140,7 @@ public class RdbDdlController {
|
||||
@PostMapping("/modify_database")
|
||||
public ActionResult modifyDatabase(@Valid @RequestBody UpdateDatabaseRequest request) {
|
||||
DatabaseOperationParam param = DatabaseOperationParam.builder().databaseName(request.getDatabaseName())
|
||||
.newDatabaseName(request.getNewDatabaseName()).build();
|
||||
.newDatabaseName(request.getNewDatabaseName()).build();
|
||||
return databaseService.modifyDatabase(param);
|
||||
}
|
||||
|
||||
@ -152,7 +153,7 @@ public class RdbDdlController {
|
||||
@PostMapping("/delete_schema")
|
||||
public ActionResult deleteSchema(@Valid @RequestBody DataSourceBaseRequest request) {
|
||||
SchemaOperationParam param = SchemaOperationParam.builder().databaseName(request.getDatabaseName())
|
||||
.schemaName(request.getSchemaName()).build();
|
||||
.schemaName(request.getSchemaName()).build();
|
||||
return databaseService.deleteSchema(param);
|
||||
}
|
||||
|
||||
@ -165,7 +166,7 @@ public class RdbDdlController {
|
||||
@PostMapping("/create_schema")
|
||||
public ActionResult createSchema(@Valid @RequestBody DataSourceBaseRequest request) {
|
||||
SchemaOperationParam param = SchemaOperationParam.builder().databaseName(request.getDatabaseName())
|
||||
.schemaName(request.getSchemaName()).build();
|
||||
.schemaName(request.getSchemaName()).build();
|
||||
return databaseService.createSchema(param);
|
||||
}
|
||||
|
||||
@ -178,7 +179,7 @@ public class RdbDdlController {
|
||||
@PostMapping("/modify_schema")
|
||||
public ActionResult modifySchema(@Valid @RequestBody UpdateSchemaRequest request) {
|
||||
SchemaOperationParam param = SchemaOperationParam.builder().databaseName(request.getDatabaseName())
|
||||
.schemaName(request.getSchemaName()).newSchemaName(request.getNewSchemaName()).build();
|
||||
.schemaName(request.getSchemaName()).newSchemaName(request.getNewSchemaName()).build();
|
||||
return databaseService.modifySchema(param);
|
||||
}
|
||||
|
||||
@ -283,9 +284,9 @@ public class RdbDdlController {
|
||||
@GetMapping("/modify/sql")
|
||||
public ListResult<SqlVO> modifySql(@Valid TableModifySqlRequest request) {
|
||||
return tableService.buildSql(
|
||||
rdbWebConverter.tableRequest2param(request.getOldTable()),
|
||||
rdbWebConverter.tableRequest2param(request.getNewTable()))
|
||||
.map(rdbWebConverter::dto2vo);
|
||||
rdbWebConverter.tableRequest2param(request.getOldTable()),
|
||||
rdbWebConverter.tableRequest2param(request.getNewTable()))
|
||||
.map(rdbWebConverter::dto2vo);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -38,4 +38,9 @@ public class TableBriefQueryRequest extends PageQueryRequest implements DataSour
|
||||
* 模糊搜索词
|
||||
*/
|
||||
private String searchKey;
|
||||
|
||||
/**
|
||||
* if true, refresh the cache
|
||||
*/
|
||||
private boolean refresh;
|
||||
}
|
||||
|
Reference in New Issue
Block a user