Auto Upgrade

This commit is contained in:
jipengfei-jpf
2023-07-23 15:51:37 +08:00
parent 339d3eca4d
commit 2f42d74c60
15 changed files with 450 additions and 306 deletions

View File

@ -1,17 +1,19 @@
package ai.chat2db.server.web.api.controller.rdb;
import ai.chat2db.server.domain.api.param.DatabaseOperationParam;
import ai.chat2db.server.domain.api.param.DatabaseQueryAllParam;
import ai.chat2db.server.domain.api.param.MetaDataQueryParam;
import ai.chat2db.server.domain.api.service.DatabaseService;
import ai.chat2db.server.domain.api.service.DlTemplateService;
import ai.chat2db.server.domain.api.service.TableService;
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.aspect.ConnectionInfoAspect;
import ai.chat2db.server.web.api.controller.data.source.request.DataSourceBaseRequest;
import ai.chat2db.server.web.api.controller.data.source.vo.DatabaseVO;
import ai.chat2db.server.web.api.controller.rdb.converter.RdbWebConverter;
import ai.chat2db.server.web.api.controller.rdb.request.UpdateDatabaseRequest;
import ai.chat2db.server.web.api.controller.rdb.vo.MetaSchemaVO;
import ai.chat2db.spi.model.Database;
import ai.chat2db.spi.model.MetaSchema;
import jakarta.validation.Valid;
import org.springframework.beans.factory.annotation.Autowired;
@ -22,21 +24,15 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@ConnectionInfoAspect
@RequestMapping("/api/rdb/datbase")
@RequestMapping("/api/rdb/database")
@RestController
public class DatabaseController {
@Autowired
private TableService tableService;
@Autowired
private DlTemplateService dlTemplateService;
@Autowired
private RdbWebConverter rdbWebConverter;
@Autowired
private DatabaseService databaseService;
/**
* 查询数据库里包含的database_schema_list
*
@ -45,13 +41,22 @@ public class DatabaseController {
*/
@GetMapping("/database_schema_list")
public DataResult<MetaSchemaVO> databaseSchemaList(@Valid DataSourceBaseRequest request) {
MetaDataQueryParam queryParam = MetaDataQueryParam.builder().dataSourceId(request.getDataSourceId()).refresh(
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);
}
@GetMapping("list")
public ListResult<DatabaseVO> databaseList(@Valid DataSourceBaseRequest request) {
DatabaseQueryAllParam queryParam = DatabaseQueryAllParam.builder().dataSourceId(request.getDataSourceId())
.refresh(
request.isRefresh()).build();
ListResult<Database> result = databaseService.queryAll(queryParam);
return ListResult.of(rdbWebConverter.databaseDto2vo(result.getData()));
}
/**
* 删除数据库
@ -77,7 +82,6 @@ public class DatabaseController {
return databaseService.createDatabase(param);
}
/**
* 修改database
*

View File

@ -9,6 +9,7 @@ import ai.chat2db.server.domain.api.service.DlTemplateService;
import ai.chat2db.server.domain.api.service.TableService;
import ai.chat2db.server.tools.base.wrapper.result.ActionResult;
import ai.chat2db.server.tools.base.wrapper.result.ListResult;
import ai.chat2db.server.web.api.aspect.ConnectionInfoAspect;
import ai.chat2db.server.web.api.controller.data.source.request.DataSourceBaseRequest;
import ai.chat2db.server.web.api.controller.rdb.converter.RdbWebConverter;
import ai.chat2db.server.web.api.controller.rdb.request.UpdateSchemaRequest;
@ -19,10 +20,14 @@ 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.RestController;
@ConnectionInfoAspect
@RequestMapping("/api/rdb/schema")
@RestController
public class SchemaController {
@Autowired
private TableService tableService;
@ -43,7 +48,8 @@ public class SchemaController {
*/
@GetMapping("/list")
public ListResult<SchemaVO> list(@Valid DataSourceBaseRequest request) {
SchemaQueryParam queryParam = SchemaQueryParam.builder().dataBaseName(request.getDatabaseName()).build();
SchemaQueryParam queryParam = SchemaQueryParam.builder().dataSourceId(request.getDataSourceId()).dataBaseName(
request.getDatabaseName()).refresh(request.isRefresh()).build();
ListResult<Schema> tableColumns = databaseService.querySchema(queryParam);
List<SchemaVO> tableVOS = rdbWebConverter.schemaDto2vo(tableColumns.getData());
return ListResult.of(tableVOS);

View File

@ -8,9 +8,7 @@ import ai.chat2db.server.domain.api.param.DropParam;
import ai.chat2db.server.domain.api.param.ShowCreateTableParam;
import ai.chat2db.server.domain.api.param.TablePageQueryParam;
import ai.chat2db.server.domain.api.param.TableQueryParam;
import ai.chat2db.server.tools.base.wrapper.result.DataResult;
import ai.chat2db.server.web.api.controller.rdb.vo.*;
import ai.chat2db.spi.model.*;
import ai.chat2db.server.web.api.controller.data.source.vo.DatabaseVO;
import ai.chat2db.server.web.api.controller.rdb.request.DdlCountRequest;
import ai.chat2db.server.web.api.controller.rdb.request.DdlExportRequest;
import ai.chat2db.server.web.api.controller.rdb.request.DdlRequest;
@ -19,7 +17,21 @@ import ai.chat2db.server.web.api.controller.rdb.request.TableBriefQueryRequest;
import ai.chat2db.server.web.api.controller.rdb.request.TableDeleteRequest;
import ai.chat2db.server.web.api.controller.rdb.request.TableDetailQueryRequest;
import ai.chat2db.server.web.api.controller.rdb.request.TableRequest;
import ai.chat2db.server.web.api.controller.rdb.vo.ColumnVO;
import ai.chat2db.server.web.api.controller.rdb.vo.ExecuteResultVO;
import ai.chat2db.server.web.api.controller.rdb.vo.IndexVO;
import ai.chat2db.server.web.api.controller.rdb.vo.MetaSchemaVO;
import ai.chat2db.server.web.api.controller.rdb.vo.SchemaVO;
import ai.chat2db.server.web.api.controller.rdb.vo.SqlVO;
import ai.chat2db.server.web.api.controller.rdb.vo.TableVO;
import ai.chat2db.spi.model.Database;
import ai.chat2db.spi.model.ExecuteResult;
import ai.chat2db.spi.model.MetaSchema;
import ai.chat2db.spi.model.Schema;
import ai.chat2db.spi.model.Sql;
import ai.chat2db.spi.model.Table;
import ai.chat2db.spi.model.TableColumn;
import ai.chat2db.spi.model.TableIndex;
import org.mapstruct.Mapper;
import org.mapstruct.Mapping;
import org.mapstruct.Mappings;
@ -191,5 +203,20 @@ public abstract class RdbWebConverter {
*/
public abstract SchemaVO schemaDto2vo(Schema dto);
/**
* 模型转换
* @param dto
* @return
*/
public abstract DatabaseVO databaseDto2vo(Database dto);
/**
* 模型转换
* @param dto
* @return
*/
public abstract List<DatabaseVO> databaseDto2vo(List<Database> dto);
public abstract MetaSchemaVO metaSchemaDto2vo(MetaSchema data);
}