From 2e06c03e573edd7f8686e6d01a010fc573a38558 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=86=B7=E5=86=B7?= <2270033969@qq.com> Date: Tue, 18 Jun 2024 11:48:48 +0800 Subject: [PATCH] =?UTF-8?q?=E2=99=BB=EF=B8=8F=20=E4=BB=A3=E7=A0=81?= =?UTF-8?q?=E7=94=9F=E6=88=90=E5=90=8E=E7=AB=AFAPI=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit (cherry picked from commit a3b8798eb39537a32f89371a949a0a80b37110b9) --- .../controller/GenTableController.java | 34 +++++++++++++++++++ .../pigx/codegen/service/GenTableService.java | 15 ++++++++ .../service/impl/GenTableServiceImpl.java | 27 +++++++++++++++ 3 files changed, 76 insertions(+) diff --git a/pigx-visual/pigx-codegen/src/main/java/com/pig4cloud/pigx/codegen/controller/GenTableController.java b/pigx-visual/pigx-codegen/src/main/java/com/pig4cloud/pigx/codegen/controller/GenTableController.java index 808fb5aaf..ce5ef4687 100644 --- a/pigx-visual/pigx-codegen/src/main/java/com/pig4cloud/pigx/codegen/controller/GenTableController.java +++ b/pigx-visual/pigx-codegen/src/main/java/com/pig4cloud/pigx/codegen/controller/GenTableController.java @@ -25,6 +25,7 @@ import com.pig4cloud.pigx.codegen.service.GenTableColumnService; import com.pig4cloud.pigx.codegen.service.GenTableService; import com.pig4cloud.pigx.common.core.util.R; import com.pig4cloud.pigx.common.excel.annotation.ResponseExcel; +import com.pig4cloud.pigx.common.log.annotation.SysLog; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.security.SecurityRequirement; import io.swagger.v3.oas.annotations.tags.Tag; @@ -76,6 +77,16 @@ public class GenTableController { return R.ok(tableService.getById(id)); } + /** + * 查询数据源所有表 + * + * @param dsName 数据源 + */ + @GetMapping("/list/{dsName}") + public R listTable(@PathVariable("dsName") String dsName) { + return R.ok(tableService.queryTableList(dsName)); + } + /** * 获取表信息 * @@ -94,6 +105,17 @@ public class GenTableController { * @param tableName 表名称 */ @GetMapping("/column/{dsName}/{tableName}") + public R getColumn(@PathVariable("dsName") String dsName, @PathVariable String tableName) throws Exception { + return R.ok(tableService.queryTableColumn(dsName, tableName)); + } + + /** + * 查询表DDL语句 + * + * @param dsName 数据源 + * @param tableName 表名称 + */ + @GetMapping("/ddl/{dsName}/{tableName}") public R getDdl(@PathVariable("dsName") String dsName, @PathVariable String tableName) throws Exception { return R.ok(tableService.queryTableDdl(dsName, tableName)); } @@ -117,6 +139,18 @@ public class GenTableController { return R.ok(tableService.queryOrBuildTable(dsName, tableName)); } + /** + * 修改列属性 + * @param table 列属性 + * @return R + */ + @Operation(summary = "修改列属性", description = "修改列属性") + @SysLog("修改列属性") + @PutMapping + public R updateById(@RequestBody GenTable table) { + return R.ok(tableService.updateById(table)); + } + /** * 修改表字段数据 * diff --git a/pigx-visual/pigx-codegen/src/main/java/com/pig4cloud/pigx/codegen/service/GenTableService.java b/pigx-visual/pigx-codegen/src/main/java/com/pig4cloud/pigx/codegen/service/GenTableService.java index 604b2cb24..899c35531 100644 --- a/pigx-visual/pigx-codegen/src/main/java/com/pig4cloud/pigx/codegen/service/GenTableService.java +++ b/pigx-visual/pigx-codegen/src/main/java/com/pig4cloud/pigx/codegen/service/GenTableService.java @@ -23,6 +23,7 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.pig4cloud.pigx.codegen.entity.GenTable; import org.anyline.metadata.Table; +import java.util.List; import java.util.Map; /** @@ -66,4 +67,18 @@ public interface GenTableService extends IService { */ String queryTableDdl(String dsName, String tableName) throws Exception; + /** + * 查询数据源里面的全部表 + * @param dsName 数据源名称 + * @return table + */ + List queryTableList(String dsName); + + /** + * 查询表的全部字段 + * @param dsName 数据源 + * @param tableName 表名称 + * @return column + */ + List queryTableColumn(String dsName, String tableName); } diff --git a/pigx-visual/pigx-codegen/src/main/java/com/pig4cloud/pigx/codegen/service/impl/GenTableServiceImpl.java b/pigx-visual/pigx-codegen/src/main/java/com/pig4cloud/pigx/codegen/service/impl/GenTableServiceImpl.java index 24e4744b2..675b1ec3e 100644 --- a/pigx-visual/pigx-codegen/src/main/java/com/pig4cloud/pigx/codegen/service/impl/GenTableServiceImpl.java +++ b/pigx-visual/pigx-codegen/src/main/java/com/pig4cloud/pigx/codegen/service/impl/GenTableServiceImpl.java @@ -99,6 +99,20 @@ public class GenTableServiceImpl extends ServiceImpl i return table.getDdl();// 返回创建表的DDL } + /** + * 查询表的全部字段 + * + * @param dsName 数据源 + * @param tableName 表名称 + * @return column + */ + @Override + public List queryTableColumn(String dsName, String tableName) { + // 手动切换数据源 + DynamicDataSourceContextHolder.push(dsName); + return ServiceProxy.metadata().columns(tableName).values().stream().map(Column::getName).toList(); + } + /** * 查询对应数据源的表 * @@ -125,6 +139,19 @@ public class GenTableServiceImpl extends ServiceImpl i return page; } + /** + * 查询数据源里面的全部表 + * + * @param dsName 数据源名称 + * @return table + */ + @Override + public List queryTableList(String dsName) { + // 手动切换数据源 + DynamicDataSourceContextHolder.push(dsName); + return ServiceProxy.metadata().tables().values().stream().map(Table::getName).toList(); + } + /** * 查询表信息(列),然后插入到中间表中 *