From c4e17ff8472fd9f8123e86b593b2968ad5936b15 Mon Sep 17 00:00:00 2001
From: 疯狂的狮子li <15040126243@163.com>
Date: 星期一, 01 十一月 2021 13:49:11 +0800
Subject: [PATCH] fix 修复 xxl-job-admin 部署问题

---
 ruoyi-generator/src/main/java/com/ruoyi/generator/service/GenTableServiceImpl.java |   59 ++++++++++++++++++++++++++---------------------------------
 1 files changed, 26 insertions(+), 33 deletions(-)

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 48bec60..62fe67a 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
@@ -2,9 +2,7 @@
 
 import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.convert.Convert;
-import com.ruoyi.common.utils.StringUtils;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.ruoyi.common.constant.Constants;
 import com.ruoyi.common.constant.GenConstants;
 import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl;
@@ -13,6 +11,7 @@
 import com.ruoyi.common.utils.JsonUtils;
 import com.ruoyi.common.utils.PageUtils;
 import com.ruoyi.common.utils.SecurityUtils;
+import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.common.utils.file.FileUtils;
 import com.ruoyi.generator.domain.GenTable;
 import com.ruoyi.generator.domain.GenTableColumn;
@@ -34,10 +33,7 @@
 import java.io.File;
 import java.io.IOException;
 import java.io.StringWriter;
-import java.util.Arrays;
-import java.util.LinkedHashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 import java.util.stream.Collectors;
 import java.util.zip.ZipEntry;
 import java.util.zip.ZipOutputStream;
@@ -45,7 +41,7 @@
 /**
  * 涓氬姟 鏈嶅姟灞傚疄鐜�
  *
- * @author ruoyi
+ * @author Lion Li
  */
 @Slf4j
 @Service
@@ -134,18 +130,7 @@
         int row = baseMapper.updateById(genTable);
         if (row > 0) {
             for (GenTableColumn cenTableColumn : genTable.getColumns()) {
-                genTableColumnMapper.update(cenTableColumn,
-                        new LambdaUpdateWrapper<GenTableColumn>()
-							.set(StringUtils.isBlank(cenTableColumn.getColumnComment()), GenTableColumn::getColumnComment, null)
-							.set(StringUtils.isBlank(cenTableColumn.getIsPk()), GenTableColumn::getIsPk, null)
-							.set(StringUtils.isBlank(cenTableColumn.getIsIncrement()), GenTableColumn::getIsIncrement, null)
-							.set(StringUtils.isBlank(cenTableColumn.getIsInsert()), GenTableColumn::getIsInsert, null)
-							.set(StringUtils.isBlank(cenTableColumn.getIsEdit()), GenTableColumn::getIsEdit, null)
-							.set(StringUtils.isBlank(cenTableColumn.getIsList()), GenTableColumn::getIsList, null)
-							.set(StringUtils.isBlank(cenTableColumn.getIsQuery()), GenTableColumn::getIsQuery, null)
-							.set(StringUtils.isBlank(cenTableColumn.getIsRequired()), GenTableColumn::getIsRequired, null)
-							.set(StringUtils.isBlank(cenTableColumn.getDictType()), GenTableColumn::getDictType, "")
-							.eq(GenTableColumn::getColumnId,cenTableColumn.getColumnId()));
+                genTableColumnMapper.updateById(cenTableColumn);
             }
         }
     }
@@ -181,11 +166,15 @@
                 if (row > 0) {
                     // 淇濆瓨鍒椾俊鎭�
                     List<GenTableColumn> genTableColumns = genTableColumnMapper.selectDbTableColumnsByName(tableName);
+                    List<GenTableColumn> saveColumns = new ArrayList<>();
                     for (GenTableColumn column : genTableColumns) {
                         GenUtils.initColumnField(column, table);
-						genTableColumnMapper.insert(column);
+                        saveColumns.add(column);
                     }
-				}
+                    if (CollUtil.isNotEmpty(saveColumns)) {
+                        genTableColumnMapper.insertAll(saveColumns);
+                    }
+                }
             }
         } catch (Exception e) {
             throw new ServiceException("瀵煎叆澶辫触锛�" + e.getMessage());
@@ -264,12 +253,12 @@
                 StringWriter sw = new StringWriter();
                 Template tpl = Velocity.getTemplate(template, Constants.UTF8);
                 tpl.merge(context, sw);
-				try {
-                	String path = getGenPath(table, template);
-                	FileUtils.writeUtf8String(sw.toString(), path);
-				} catch (IOException e) {
-					throw new ServiceException("娓叉煋妯℃澘澶辫触锛岃〃鍚嶏細" + table.getTableName());
-				}
+                try {
+                    String path = getGenPath(table, template);
+                    FileUtils.writeUtf8String(sw.toString(), path);
+                } catch (Exception e) {
+                    throw new ServiceException("娓叉煋妯℃澘澶辫触锛岃〃鍚嶏細" + table.getTableName());
+                }
             }
         }
     }
@@ -292,12 +281,16 @@
         }
         List<String> dbTableColumnNames = dbTableColumns.stream().map(GenTableColumn::getColumnName).collect(Collectors.toList());
 
+        List<GenTableColumn> saveColumns = new ArrayList<>();
         dbTableColumns.forEach(column -> {
             if (!tableColumnNames.contains(column.getColumnName())) {
                 GenUtils.initColumnField(column, table);
-				genTableColumnMapper.insert(column);
-			}
-		});
+                saveColumns.add(column);
+            }
+        });
+        if (CollUtil.isNotEmpty(saveColumns)) {
+            genTableColumnMapper.insertAll(saveColumns);
+        }
 
         List<GenTableColumn> delColumns = tableColumns.stream().filter(column -> !dbTableColumnNames.contains(column.getColumnName())).collect(Collectors.toList());
         if (CollUtil.isNotEmpty(delColumns)) {
@@ -366,7 +359,7 @@
     @Override
     public void validateEdit(GenTable genTable) {
         if (GenConstants.TPL_TREE.equals(genTable.getTplCategory())) {
-			Map<String, Object> paramsObj = genTable.getParams();
+            Map<String, Object> paramsObj = genTable.getParams();
             if (StringUtils.isEmpty(paramsObj.get(GenConstants.TREE_CODE))) {
                 throw new ServiceException("鏍戠紪鐮佸瓧娈典笉鑳戒负绌�");
             } else if (StringUtils.isEmpty(paramsObj.get(GenConstants.TREE_PARENT_CODE))) {
@@ -429,7 +422,7 @@
      * @param genTable 璁剧疆鍚庣殑鐢熸垚瀵硅薄
      */
     public void setTableFromOptions(GenTable genTable) {
-		Map<String, Object> paramsObj = JsonUtils.parseMap(genTable.getOptions());
+        Map<String, Object> paramsObj = JsonUtils.parseMap(genTable.getOptions());
         if (StringUtils.isNotNull(paramsObj)) {
             String treeCode = Convert.toStr(paramsObj.get(GenConstants.TREE_CODE));
             String treeParentCode = Convert.toStr(paramsObj.get(GenConstants.TREE_PARENT_CODE));
@@ -448,7 +441,7 @@
     /**
      * 鑾峰彇浠g爜鐢熸垚鍦板潃
      *
-     * @param table 涓氬姟琛ㄤ俊鎭�
+     * @param table    涓氬姟琛ㄤ俊鎭�
      * @param template 妯℃澘鏂囦欢璺緞
      * @return 鐢熸垚鍦板潃
      */

--
Gitblit v1.9.3