From 0b5e924a21f07bd31a1bd7b7c2295ce0b4f7c920 Mon Sep 17 00:00:00 2001
From: 疯狂的狮子li <15040126243@163.com>
Date: 星期二, 15 三月 2022 11:58:07 +0800
Subject: [PATCH] update 代码生成适配雪花id

---
 ruoyi-generator/src/main/java/com/ruoyi/generator/service/GenTableServiceImpl.java |   14 ++++++++++++++
 ruoyi-generator/src/main/java/com/ruoyi/generator/util/VelocityUtils.java          |   11 ++++++++++-
 ruoyi-generator/src/main/java/com/ruoyi/generator/domain/GenTable.java             |    6 ++++++
 3 files changed, 30 insertions(+), 1 deletions(-)

diff --git a/ruoyi-generator/src/main/java/com/ruoyi/generator/domain/GenTable.java b/ruoyi-generator/src/main/java/com/ruoyi/generator/domain/GenTable.java
index f8bbc47..45e9168 100644
--- a/ruoyi-generator/src/main/java/com/ruoyi/generator/domain/GenTable.java
+++ b/ruoyi-generator/src/main/java/com/ruoyi/generator/domain/GenTable.java
@@ -150,6 +150,12 @@
     @TableField(exist = false)
     private String treeName;
 
+    /*
+     * 鑿滃崟id鍒楄〃
+     */
+    @TableField(exist = false)
+    private List<Long> menuIds;
+
     /**
      * 涓婄骇鑿滃崟ID瀛楁
      */
diff --git a/ruoyi-generator/src/main/java/com/ruoyi/generator/service/GenTableServiceImpl.java b/ruoyi-generator/src/main/java/com/ruoyi/generator/service/GenTableServiceImpl.java
index ac0c6be..e988894 100644
--- a/ruoyi-generator/src/main/java/com/ruoyi/generator/service/GenTableServiceImpl.java
+++ b/ruoyi-generator/src/main/java/com/ruoyi/generator/service/GenTableServiceImpl.java
@@ -3,6 +3,8 @@
 import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.io.IoUtil;
 import cn.hutool.core.lang.Dict;
+import cn.hutool.core.lang.Snowflake;
+import cn.hutool.core.util.IdUtil;
 import cn.hutool.core.util.ObjectUtil;
 import com.baomidou.dynamic.datasource.annotation.DS;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@@ -222,6 +224,12 @@
         Map<String, String> dataMap = new LinkedHashMap<>();
         // 鏌ヨ琛ㄤ俊鎭�
         GenTable table = baseMapper.selectGenTableById(tableId);
+        Snowflake snowflake = IdUtil.getSnowflake();
+        List<Long> menuIds = new ArrayList<>();
+        for (int i = 0; i < 6; i++) {
+            menuIds.add(snowflake.nextId());
+        }
+        table.setMenuIds(menuIds);
         // 璁剧疆涓诲瓙琛ㄤ俊鎭�
         setSubTable(table);
         // 璁剧疆涓婚敭鍒椾俊鎭�
@@ -367,6 +375,12 @@
     private void generatorCode(String tableName, ZipOutputStream zip) {
         // 鏌ヨ琛ㄤ俊鎭�
         GenTable table = baseMapper.selectGenTableByName(tableName);
+        Snowflake snowflake = IdUtil.getSnowflake();
+        List<Long> menuIds = new ArrayList<>();
+        for (int i = 0; i < 6; i++) {
+            menuIds.add(snowflake.nextId());
+        }
+        table.setMenuIds(menuIds);
         // 璁剧疆涓诲瓙琛ㄤ俊鎭�
         setSubTable(table);
         // 璁剧疆涓婚敭鍒椾俊鎭�
diff --git a/ruoyi-generator/src/main/java/com/ruoyi/generator/util/VelocityUtils.java b/ruoyi-generator/src/main/java/com/ruoyi/generator/util/VelocityUtils.java
index 9cc1c34..81afe56 100644
--- a/ruoyi-generator/src/main/java/com/ruoyi/generator/util/VelocityUtils.java
+++ b/ruoyi-generator/src/main/java/com/ruoyi/generator/util/VelocityUtils.java
@@ -5,6 +5,7 @@
 import cn.hutool.core.lang.Dict;
 import cn.hutool.core.util.ObjectUtil;
 import com.ruoyi.common.constant.GenConstants;
+import com.ruoyi.common.helper.DataBaseHelper;
 import com.ruoyi.common.utils.DateUtils;
 import com.ruoyi.common.utils.JsonUtils;
 import com.ruoyi.common.utils.StringUtils;
@@ -135,7 +136,15 @@
         templates.add("vm/java/serviceImpl.java.vm");
         templates.add("vm/java/controller.java.vm");
         templates.add("vm/xml/mapper.xml.vm");
-        templates.add("vm/sql/sql.vm");
+        if (DataBaseHelper.isOracle()) {
+            templates.add("vm/sql/oracle/sql.vm");
+        } else if (DataBaseHelper.isPostgerSql()) {
+            templates.add("vm/sql/postgers/sql.vm");
+        } else if (DataBaseHelper.isSqlServer()) {
+            templates.add("vm/sql/sqlserver/sql.vm");
+        } else {
+            templates.add("vm/sql/sql.vm");
+        }
         templates.add("vm/js/api.js.vm");
         if (GenConstants.TPL_CRUD.equals(tplCategory)) {
             templates.add("vm/vue/index.vue.vm");

--
Gitblit v1.9.3