mirror of
https://github.com/CodePhiliaX/Chat2DB.git
synced 2025-07-31 11:42:41 +08:00
update
This commit is contained in:
@ -75,8 +75,8 @@ public class RdbDocController {
|
||||
TableQueryParam param = rdbWebConverter.tableRequest2param(request);
|
||||
for (TableVO tableVO: tableVOS) {
|
||||
param.setTableName(tableVO.getName());
|
||||
tableVO.setColumnList(rdbWebConverter.columnDto2vo(tableService.queryColumns(param)));
|
||||
tableVO.setIndexList(rdbWebConverter.indexDto2vo(tableService.queryIndexes(param)));
|
||||
tableVO.setColumnList(tableService.queryColumns(param));
|
||||
tableVO.setIndexList(tableService.queryIndexes(param));
|
||||
}
|
||||
Class<?> targetClass = ExportServiceFactory.get(exportType.getCode());
|
||||
Constructor<?> constructor = targetClass.getDeclaredConstructor();
|
||||
|
@ -1,7 +1,5 @@
|
||||
package ai.chat2db.server.web.api.controller.rdb;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import ai.chat2db.server.domain.api.param.*;
|
||||
import ai.chat2db.server.domain.api.service.DatabaseService;
|
||||
import ai.chat2db.server.domain.api.service.DlTemplateService;
|
||||
@ -18,18 +16,13 @@ import ai.chat2db.server.web.api.controller.rdb.vo.ColumnVO;
|
||||
import ai.chat2db.server.web.api.controller.rdb.vo.IndexVO;
|
||||
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.Table;
|
||||
import ai.chat2db.spi.model.TableColumn;
|
||||
import ai.chat2db.spi.model.TableIndex;
|
||||
import ai.chat2db.spi.model.Type;
|
||||
import ai.chat2db.spi.model.*;
|
||||
import com.google.common.collect.Lists;
|
||||
import jakarta.validation.Valid;
|
||||
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;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@ConnectionInfoAspect
|
||||
@RequestMapping("/api/rdb/table")
|
||||
@ -66,7 +59,7 @@ public class TableController {
|
||||
return WebPageResult.of(tableVOS, tableDTOPageResult.getTotal(), request.getPageNo(),
|
||||
request.getPageSize());
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 查询当前DB下的表columns
|
||||
@ -167,7 +160,7 @@ public class TableController {
|
||||
* @return
|
||||
*/
|
||||
@PostMapping("/modify/sql")
|
||||
public ListResult<SqlVO> modifySql(@Valid @RequestBody TableModifySqlRequest request) {
|
||||
public ListResult<SqlVO> modifySql(@Valid @RequestBody TableModifySqlRequest request) {
|
||||
return tableService.buildSql(
|
||||
rdbWebConverter.tableRequest2param(request.getOldTable()),
|
||||
rdbWebConverter.tableRequest2param(request.getNewTable()))
|
||||
@ -188,6 +181,14 @@ public class TableController {
|
||||
return ListResult.of(types);
|
||||
}
|
||||
|
||||
|
||||
@GetMapping("/table_meta")
|
||||
public DataResult<TableMeta> tableMeta(@Valid TypeQueryRequest request) {
|
||||
TypeQueryParam typeQueryParam = TypeQueryParam.builder().dataSourceId(request.getDataSourceId()).build();
|
||||
TableMeta tableMeta = tableService.queryTableMeta(typeQueryParam);
|
||||
return DataResult.of(tableMeta);
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除表
|
||||
*
|
||||
|
@ -8,6 +8,9 @@ import ai.chat2db.server.web.api.controller.rdb.vo.ColumnVO;
|
||||
import ai.chat2db.server.web.api.controller.rdb.vo.IndexVO;
|
||||
import ai.chat2db.server.web.api.controller.rdb.vo.TableVO;
|
||||
import ai.chat2db.server.web.api.util.StringUtils;
|
||||
import ai.chat2db.spi.model.TableColumn;
|
||||
import ai.chat2db.spi.model.TableIndex;
|
||||
import ai.chat2db.spi.model.TableIndexColumn;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.SneakyThrows;
|
||||
@ -82,13 +85,13 @@ public class DatabaseExportService {
|
||||
val t = new TableParameter();
|
||||
t.setFieldName(item.getName() + "[" + StringUtils.isNull(item.getComment()) + "]");
|
||||
List<TableParameter> colForTable = new LinkedList<>();
|
||||
for (ColumnVO info : item.getColumnList()) {
|
||||
for (TableColumn info : item.getColumnList()) {
|
||||
val p = new TableParameter();
|
||||
p.setFieldName(info.getName()).setColumnDefault(info.getDefaultValue())
|
||||
.setColumnComment(info.getComment())
|
||||
.setColumnType(info.getColumnType())
|
||||
.setLength(String.valueOf(info.getCharacterMaximumLength())).setIsNullAble(String.valueOf(info.getNullable()))
|
||||
.setDecimalPlaces(String.valueOf(info.getNumericPrecision()));
|
||||
.setLength(String.valueOf(info.getColumnSize())).setIsNullAble(String.valueOf(info.getNullable()))
|
||||
.setDecimalPlaces(String.valueOf(info.getDecimalDigits()));
|
||||
colForTable.add(p);
|
||||
}
|
||||
String key = databaseName + JOINER + t.getFieldName();
|
||||
@ -108,11 +111,12 @@ public class DatabaseExportService {
|
||||
}
|
||||
}
|
||||
|
||||
private List<IndexInfo> vo2Info(List<IndexVO> indexList) {
|
||||
private List<IndexInfo> vo2Info(List<TableIndex> indexList) {
|
||||
return indexList.stream().map(v -> {
|
||||
IndexInfo info = new IndexInfo();
|
||||
info.setName(v.getName());
|
||||
info.setColumnName(v.getColumns());
|
||||
List<TableIndexColumn> columnList = v.getColumnList();
|
||||
info.setColumnName(columnList.stream().map(TableIndexColumn::getColumnName).collect(Collectors.joining(",")));
|
||||
info.setIndexType(v.getType());
|
||||
info.setComment(v.getComment());
|
||||
return info;
|
||||
|
Reference in New Issue
Block a user