From 6acd466db330ef1ad7e6cd5a03b4d56260a6aaba Mon Sep 17 00:00:00 2001 From: gaoxq <376340421@qq.com> Date: Fri, 29 Aug 2025 18:08:32 +0800 Subject: [PATCH] =?UTF-8?q?=E9=87=8D=E5=86=99=E5=A4=8D=E7=8E=B0=E6=96=B9?= =?UTF-8?q?=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 5 + .../controller/SyncTablesViewController.java | 18 + .../mini/capi/biz/domain/SyncTablesView.java | 96 ++++ .../capi/biz/mapper/SyncTablesViewMapper.java | 16 + .../biz/service/SyncTablesViewService.java | 16 + .../impl/SyncTablesViewServiceImpl.java | 20 + src/main/java/com/mini/capi/mybatis/demo.java | 2 +- .../sys/controller/LoginPageController.java | 3 + .../capi/sys/controller/dataController.java | 18 + .../sys/controller/dataPageController.java | 40 ++ .../resources/mapper/SyncTablesViewMapper.xml | 26 + src/main/resources/static/index.html | 6 + .../resources/static/views/data/baklist.html | 180 +++++++ .../resources/static/views/data/detail.html | 449 ++++++++++++++++++ .../resources/static/views/data/list.html | 189 ++++++++ 15 files changed, 1083 insertions(+), 1 deletion(-) create mode 100644 src/main/java/com/mini/capi/biz/controller/SyncTablesViewController.java create mode 100644 src/main/java/com/mini/capi/biz/domain/SyncTablesView.java create mode 100644 src/main/java/com/mini/capi/biz/mapper/SyncTablesViewMapper.java create mode 100644 src/main/java/com/mini/capi/biz/service/SyncTablesViewService.java create mode 100644 src/main/java/com/mini/capi/biz/service/impl/SyncTablesViewServiceImpl.java create mode 100644 src/main/java/com/mini/capi/sys/controller/dataController.java create mode 100644 src/main/java/com/mini/capi/sys/controller/dataPageController.java create mode 100644 src/main/resources/mapper/SyncTablesViewMapper.xml create mode 100644 src/main/resources/static/views/data/baklist.html create mode 100644 src/main/resources/static/views/data/detail.html create mode 100644 src/main/resources/static/views/data/list.html diff --git a/pom.xml b/pom.xml index 4cafaa7..f2dbc78 100644 --- a/pom.xml +++ b/pom.xml @@ -32,6 +32,11 @@ + + org.springframework.boot + spring-boot-starter-thymeleaf + + org.springdoc springdoc-openapi-starter-webmvc-ui diff --git a/src/main/java/com/mini/capi/biz/controller/SyncTablesViewController.java b/src/main/java/com/mini/capi/biz/controller/SyncTablesViewController.java new file mode 100644 index 0000000..043f654 --- /dev/null +++ b/src/main/java/com/mini/capi/biz/controller/SyncTablesViewController.java @@ -0,0 +1,18 @@ +package com.mini.capi.biz.controller; + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * VIEW 前端控制器 + *

+ * + * @author gaoxq + * @since 2025-08-29 + */ +@RestController +@RequestMapping("/biz/syncTablesView") +public class SyncTablesViewController { + +} diff --git a/src/main/java/com/mini/capi/biz/domain/SyncTablesView.java b/src/main/java/com/mini/capi/biz/domain/SyncTablesView.java new file mode 100644 index 0000000..0afb13e --- /dev/null +++ b/src/main/java/com/mini/capi/biz/domain/SyncTablesView.java @@ -0,0 +1,96 @@ +package com.mini.capi.biz.domain; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import java.time.LocalDateTime; +import lombok.Getter; +import lombok.Setter; + +/** + *

+ * VIEW + *

+ * + * @author gaoxq + * @since 2025-08-29 + */ +@Getter +@Setter +@TableName("biz_sync_tables_view") +public class SyncTablesView implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 记录创建时间 + */ + @TableField("create_time") + private LocalDateTime createTime; + + /** + * 同步任务唯一标识 + */ + @TableField("task_id") + private String taskId; + + /** + * 同步任务名称 + */ + @TableField("task_name") + private String taskName; + + /** + * 源数据库配置ID,关联biz_db_config表 + */ + @TableField("source_db_id") + private String sourceDbId; + + /** + * 源数据库表名 + */ + @TableField("source_table") + private String sourceTable; + + /** + * 目标数据库表名 + */ + @TableField("target_table") + private String targetTable; + + /** + * 是否激活(任务启用状态标识) + */ + @TableField("is_active") + private String isActive; + + /** + * 最后一次同步时间 + */ + @TableField("last_sync_time") + private LocalDateTime lastSyncTime; + + /** + * 记录最后更新时间 + */ + @TableField("update_time") + private LocalDateTime updateTime; + + /** + * 数据库类型(如mysql、oracle、postgresql等) + */ + @TableField("db_type") + private String dbType; + + /** + * 数据库配置唯一标识 + */ + @TableField("db_id") + private String dbId; + + /** + * 成功同步记录数 + */ + @TableField("success_rows") + private Long successRows; +} diff --git a/src/main/java/com/mini/capi/biz/mapper/SyncTablesViewMapper.java b/src/main/java/com/mini/capi/biz/mapper/SyncTablesViewMapper.java new file mode 100644 index 0000000..826ef41 --- /dev/null +++ b/src/main/java/com/mini/capi/biz/mapper/SyncTablesViewMapper.java @@ -0,0 +1,16 @@ +package com.mini.capi.biz.mapper; + +import com.mini.capi.biz.domain.SyncTablesView; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * VIEW Mapper 接口 + *

+ * + * @author gaoxq + * @since 2025-08-29 + */ +public interface SyncTablesViewMapper extends BaseMapper { + +} diff --git a/src/main/java/com/mini/capi/biz/service/SyncTablesViewService.java b/src/main/java/com/mini/capi/biz/service/SyncTablesViewService.java new file mode 100644 index 0000000..bc0f5d3 --- /dev/null +++ b/src/main/java/com/mini/capi/biz/service/SyncTablesViewService.java @@ -0,0 +1,16 @@ +package com.mini.capi.biz.service; + +import com.mini.capi.biz.domain.SyncTablesView; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + *

+ * VIEW 服务类 + *

+ * + * @author gaoxq + * @since 2025-08-29 + */ +public interface SyncTablesViewService extends IService { + +} diff --git a/src/main/java/com/mini/capi/biz/service/impl/SyncTablesViewServiceImpl.java b/src/main/java/com/mini/capi/biz/service/impl/SyncTablesViewServiceImpl.java new file mode 100644 index 0000000..ea66df2 --- /dev/null +++ b/src/main/java/com/mini/capi/biz/service/impl/SyncTablesViewServiceImpl.java @@ -0,0 +1,20 @@ +package com.mini.capi.biz.service.impl; + +import com.mini.capi.biz.domain.SyncTablesView; +import com.mini.capi.biz.mapper.SyncTablesViewMapper; +import com.mini.capi.biz.service.SyncTablesViewService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +/** + *

+ * VIEW 服务实现类 + *

+ * + * @author gaoxq + * @since 2025-08-29 + */ +@Service +public class SyncTablesViewServiceImpl extends ServiceImpl implements SyncTablesViewService { + +} diff --git a/src/main/java/com/mini/capi/mybatis/demo.java b/src/main/java/com/mini/capi/mybatis/demo.java index 045af45..806ae69 100644 --- a/src/main/java/com/mini/capi/mybatis/demo.java +++ b/src/main/java/com/mini/capi/mybatis/demo.java @@ -29,7 +29,7 @@ public class demo { .pathInfo(Collections.singletonMap(OutputFile.xml, System.getProperty("user.dir") + "/src/main/resources/mapper")); }) .strategyConfig(builder -> { - builder.addInclude("biz_api_module,biz_api_menus") + builder.addInclude("biz_sync_tables_view") .addTablePrefix("biz_") .entityBuilder() .enableLombok() diff --git a/src/main/java/com/mini/capi/sys/controller/LoginPageController.java b/src/main/java/com/mini/capi/sys/controller/LoginPageController.java index fc06cd2..c2c5e58 100644 --- a/src/main/java/com/mini/capi/sys/controller/LoginPageController.java +++ b/src/main/java/com/mini/capi/sys/controller/LoginPageController.java @@ -27,4 +27,7 @@ public class LoginPageController { public String homePage() { return "forward:/views/home.html"; } + + + } diff --git a/src/main/java/com/mini/capi/sys/controller/dataController.java b/src/main/java/com/mini/capi/sys/controller/dataController.java new file mode 100644 index 0000000..2ad5142 --- /dev/null +++ b/src/main/java/com/mini/capi/sys/controller/dataController.java @@ -0,0 +1,18 @@ +package com.mini.capi.sys.controller; + +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.GetMapping; + +@Controller +public class dataController { + + @GetMapping("/Sys/data/list") + public String listPage() { + return "forward:/views/data/list.html"; + } + + @GetMapping("/Sys/data/getTableDetail") + public String getTableDetail(String taskId) { + return "forward:/views/data/detail.html"; + } +} diff --git a/src/main/java/com/mini/capi/sys/controller/dataPageController.java b/src/main/java/com/mini/capi/sys/controller/dataPageController.java new file mode 100644 index 0000000..ffce72f --- /dev/null +++ b/src/main/java/com/mini/capi/sys/controller/dataPageController.java @@ -0,0 +1,40 @@ +package com.mini.capi.sys.controller; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.mini.capi.biz.domain.DbConfig; +import com.mini.capi.biz.domain.SyncTablesView; +import com.mini.capi.biz.service.DbConfigService; +import com.mini.capi.biz.service.SyncTablesViewService; +import jakarta.annotation.Resource; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +@RestController // ← 关键 +@RequestMapping("/Sys/data") +public class dataPageController { + + + @Resource + private DbConfigService configService; + + + @Resource + private SyncTablesViewService tablesViewService; + + + @GetMapping("/getDbList") + public List getDbList() { + return configService.list(); + } + + @GetMapping("/getTableList") + public List getTableList(String dbId, String targetTable) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq(dbId != null && !dbId.isBlank(), "db_id", dbId) + .like(targetTable != null && !targetTable.isBlank(), "target_table", targetTable); + return tablesViewService.list(queryWrapper); + } +} diff --git a/src/main/resources/mapper/SyncTablesViewMapper.xml b/src/main/resources/mapper/SyncTablesViewMapper.xml new file mode 100644 index 0000000..72cdb87 --- /dev/null +++ b/src/main/resources/mapper/SyncTablesViewMapper.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + create_time, task_id, task_name, source_db_id, source_table, target_table, is_active, last_sync_time, update_time, db_type, db_id, success_rows + + + diff --git a/src/main/resources/static/index.html b/src/main/resources/static/index.html index 1068291..d6f20ae 100644 --- a/src/main/resources/static/index.html +++ b/src/main/resources/static/index.html @@ -6,6 +6,12 @@ cApi登录 + diff --git a/src/main/resources/static/views/data/baklist.html b/src/main/resources/static/views/data/baklist.html new file mode 100644 index 0000000..121bc96 --- /dev/null +++ b/src/main/resources/static/views/data/baklist.html @@ -0,0 +1,180 @@ + + + + + + 数据库表管理 + + + + + + + + +
+
+
+ +
+
+
+ + +
+ +
+
+ + +
+
+ +
+ + 3 + 个对象 +
+ + +
+ +
+
+
+
+
+
+

ads_ghgsah_shjahsajs_shahsajs_01

+

表说明: 系统表

+
+
+
+

源端数据库

MySQL

+

更新时间

2024-09-10 12:32:34

+

访问时间

2024-09-10 13:22:02

+
+
+
+
存储量: 20G
+
+ + +
+
+
+
+ + + + +
+
+
+ + + + + + + \ No newline at end of file diff --git a/src/main/resources/static/views/data/detail.html b/src/main/resources/static/views/data/detail.html new file mode 100644 index 0000000..0bda1a2 --- /dev/null +++ b/src/main/resources/static/views/data/detail.html @@ -0,0 +1,449 @@ + + + + + + 市区信息表结构 + + + + +
+
+
+ 表基础信息 +
+
+
+
+
数据库
+
work
+
+
+
表名称
+
biz_cities
+
+
+
表描述
+
市区信息表
+
+
+
存储量
+
333条
+
+
+ +
+
+
创建时间
+
+ 2025-08-29 15:54:41 + (2小时前) +
+
+
+
更新时间
+
+ 2025-08-29 15:54:41 + (2小时前) +
+
+
+ +
+
+ + 1 个主键 +
+
+ + 2 个索引 +
+
+ + 13 个字段 +
+
+
+
+ +
+
+ 表结构信息 +
+
+
+
+ 字段信息 +
+
+ 生成SELECT +
+
+ 生成DDL +
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
序号字段名称字段类型描述键类型
1iddatetime主键
2create_timevarchar记录时间
3province_codevarchar省份编码索引
4city_codevarchar市区编码
5city_namevarchar市区名称
6area_codevarchar市区区号
7area_typevarchar市区级别
8update_timevarchar更新时间
9data_statusvarchar数据状态
10f_tenant_idvarchar租户id
11f_flow_iddatetime流程id索引
12f_flow_task_iddatetime流程任务主键
13f_flow_statebigint流程任务状态
14f_created_byvarchar创建人
15f_updated_byvarchar更新人
16f_versionint版本号
+
+
+
+
+ + \ No newline at end of file diff --git a/src/main/resources/static/views/data/list.html b/src/main/resources/static/views/data/list.html new file mode 100644 index 0000000..5c734bc --- /dev/null +++ b/src/main/resources/static/views/data/list.html @@ -0,0 +1,189 @@ + + + + + + 数据库表管理 + + + + + + + + +
+
+ +
+ +
+ +
+
+ + +
+ + +
+ + +
+
+ + +
+
+ +
+ + 0 + 个对象 +
+ + +
+
+
+ + + + + + + + + \ No newline at end of file