From c67a7b6ea29c38c110f0c46c0e85e4c004e6570a Mon Sep 17 00:00:00 2001
From: Charles7c <charles7c@126.com>
Date: Sat, 12 Aug 2023 17:37:08 +0800
Subject: [PATCH] =?UTF-8?q?feat:=20=E6=9C=AA=E8=BF=9B=E8=A1=8C=E7=94=9F?=
 =?UTF-8?q?=E6=88=90=E9=85=8D=E7=BD=AE=E7=9A=84=E6=95=B0=E6=8D=AE=E8=A1=A8?=
 =?UTF-8?q?=EF=BC=8C=E4=B8=8D=E5=85=81=E8=AE=B8=E7=82=B9=E5=87=BB=E4=BB=A3?=
 =?UTF-8?q?=E7=A0=81=E7=94=9F=E6=88=90?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../java/top/charles7c/cnadmin/tool/model/vo/TableVO.java | 6 ++++++
 .../cnadmin/tool/service/impl/GeneratorServiceImpl.java   | 8 +++++++-
 continew-admin-ui/src/api/tool/generator.ts               | 1 +
 continew-admin-ui/src/views/tool/generator/index.vue      | 3 ++-
 4 files changed, 16 insertions(+), 2 deletions(-)

diff --git a/continew-admin-tool/src/main/java/top/charles7c/cnadmin/tool/model/vo/TableVO.java b/continew-admin-tool/src/main/java/top/charles7c/cnadmin/tool/model/vo/TableVO.java
index 08110b00..ec0d2d7c 100644
--- a/continew-admin-tool/src/main/java/top/charles7c/cnadmin/tool/model/vo/TableVO.java
+++ b/continew-admin-tool/src/main/java/top/charles7c/cnadmin/tool/model/vo/TableVO.java
@@ -64,4 +64,10 @@ public class TableVO implements Serializable {
      */
     @Schema(description = "创建时间")
     private LocalDateTime createTime;
+
+    /**
+     * 是否已配置
+     */
+    @Schema(description = "是否已配置")
+    private Boolean isConfiged;
 }
diff --git a/continew-admin-tool/src/main/java/top/charles7c/cnadmin/tool/service/impl/GeneratorServiceImpl.java b/continew-admin-tool/src/main/java/top/charles7c/cnadmin/tool/service/impl/GeneratorServiceImpl.java
index 09f8be58..c8bf495d 100644
--- a/continew-admin-tool/src/main/java/top/charles7c/cnadmin/tool/service/impl/GeneratorServiceImpl.java
+++ b/continew-admin-tool/src/main/java/top/charles7c/cnadmin/tool/service/impl/GeneratorServiceImpl.java
@@ -80,7 +80,13 @@ public class GeneratorServiceImpl implements GeneratorService {
         }
         tableList.removeIf(table -> StrUtil.equalsAny(table.getTableName(), generatorProperties.getExcludeTables()));
         List<TableVO> tableVOList = BeanUtil.copyToList(tableList, TableVO.class);
-        return PageDataVO.build(pageQuery.getPage(), pageQuery.getSize(), tableVOList);
+        PageDataVO<TableVO> pageDataVO = PageDataVO.build(pageQuery.getPage(), pageQuery.getSize(), tableVOList);
+        for (TableVO tableVO : pageDataVO.getList()) {
+            long count = genConfigMapper.selectCount(
+                Wrappers.lambdaQuery(GenConfigDO.class).eq(GenConfigDO::getTableName, tableVO.getTableName()));
+            tableVO.setIsConfiged(count > 0);
+        }
+        return pageDataVO;
     }
 
     @Override
diff --git a/continew-admin-ui/src/api/tool/generator.ts b/continew-admin-ui/src/api/tool/generator.ts
index ee4ce831..90cf6d01 100644
--- a/continew-admin-ui/src/api/tool/generator.ts
+++ b/continew-admin-ui/src/api/tool/generator.ts
@@ -9,6 +9,7 @@ export interface TableRecord {
   engine: string;
   charset: string;
   createTime?: string;
+  isConfiged: boolean;
 }
 
 export interface TableParam {
diff --git a/continew-admin-ui/src/views/tool/generator/index.vue b/continew-admin-ui/src/views/tool/generator/index.vue
index 2bfd641b..3a0d2057 100644
--- a/continew-admin-ui/src/views/tool/generator/index.vue
+++ b/continew-admin-ui/src/views/tool/generator/index.vue
@@ -78,7 +78,8 @@
               <a-button
                 type="text"
                 size="small"
-                title="生成"
+                :title="record.isConfiged ? '生成' : '请先进行生成配置'"
+                :disabled="!record.isConfiged"
                 @click="handleGenerate(record.tableName)"
               >
                 <template #icon><icon-robot-add /></template>生成