support sqlserver metadata update

This commit is contained in:
SwallowGG
2023-10-07 19:27:06 +08:00
parent d483dd1df2
commit 04462d7811
20 changed files with 1002 additions and 205 deletions

View File

@ -4,6 +4,7 @@ import java.sql.Connection;
import java.util.List;
import ai.chat2db.server.domain.api.param.DlExecuteParam;
import ai.chat2db.server.domain.api.param.UpdateSelectResultParam;
import ai.chat2db.server.domain.api.service.DlTemplateService;
import ai.chat2db.server.tools.base.wrapper.result.DataResult;
import ai.chat2db.server.tools.base.wrapper.result.ListResult;
@ -11,6 +12,7 @@ import ai.chat2db.server.web.api.aspect.ConnectionInfoAspect;
import ai.chat2db.server.web.api.controller.rdb.converter.RdbWebConverter;
import ai.chat2db.server.web.api.controller.rdb.request.DdlCountRequest;
import ai.chat2db.server.web.api.controller.rdb.request.DmlRequest;
import ai.chat2db.server.web.api.controller.rdb.request.SelectResultUpdateRequest;
import ai.chat2db.server.web.api.controller.rdb.vo.ExecuteResultVO;
import ai.chat2db.spi.model.ExecuteResult;
import ai.chat2db.spi.sql.Chat2DBContext;
@ -54,6 +56,20 @@ public class RdbDmlController {
}
/**
* update 查询结果
*
* @param request
* @return
*/
@RequestMapping(value = "/execute_update", method = {RequestMethod.POST, RequestMethod.PUT})
public DataResult<String> executeUpdate(@RequestBody SelectResultUpdateRequest request) {
UpdateSelectResultParam param = rdbWebConverter.request2param(request);
return dlTemplateService.updateSelectResult(param);
}
/**
* 增删改查等数据运维
*

View File

@ -174,11 +174,13 @@ public class TableController {
tableIndex.setTableName(table.getName());
tableIndex.setDatabaseName(request.getDatabaseName());
}
return tableService.buildSql(rdbWebConverter.tableRequest2param(request.getOldTable()),table)
.map(rdbWebConverter::dto2vo);
}
/**
* 数据库支持的数据类型
*

View File

@ -2,22 +2,9 @@ package ai.chat2db.server.web.api.controller.rdb.converter;
import java.util.List;
import ai.chat2db.server.domain.api.param.DlCountParam;
import ai.chat2db.server.domain.api.param.DlExecuteParam;
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.domain.api.param.*;
import ai.chat2db.server.web.api.controller.data.source.vo.DatabaseVO;
import ai.chat2db.server.web.api.controller.rdb.request.DataExportRequest;
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;
import ai.chat2db.server.web.api.controller.rdb.request.DmlRequest;
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.request.*;
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;
@ -234,4 +221,7 @@ public abstract class RdbWebConverter {
public abstract List<DatabaseVO> databaseDto2vo(List<Database> dto);
public abstract MetaSchemaVO metaSchemaDto2vo(MetaSchema data);
public abstract UpdateSelectResultParam request2param(SelectResultUpdateRequest request);
}

View File

@ -0,0 +1,44 @@
package ai.chat2db.server.web.api.controller.rdb.request;
import ai.chat2db.server.web.api.controller.data.source.request.DataSourceBaseRequest;
import ai.chat2db.server.web.api.controller.data.source.request.DataSourceConsoleRequestInfo;
import ai.chat2db.server.web.api.controller.rdb.vo.HeaderVO;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import java.util.List;
@Data
public class SelectResultUpdateRequest extends DataSourceBaseRequest implements DataSourceConsoleRequestInfo {
/**
* 展示头的列表
*/
private List<HeaderVO> headerList;
/**
* 修改后数据的列表
*/
private List<List<String>> dataList;
/**
* 数据的列表
*/
private List<List<String>> oldDataList;
/**
* 表名
*/
private String tableName;
/**
* 控制台id
*/
@NotNull
private Long consoleId;
@Override
public Long getConsoleId() {
return consoleId;
}
}