From 098d3347a0df808908aab8c554cd7c4febc5e6d9 Mon Sep 17 00:00:00 2001 From: 疯狂的狮子Li <15040126243@163.com> Date: 星期一, 26 八月 2024 11:43:59 +0800 Subject: [PATCH] !577 发布 5.2.2 正式版 安全性提升 Merge pull request !577 from 疯狂的狮子Li/dev --- ruoyi-modules/ruoyi-generator/src/main/java/org/dromara/generator/service/GenTableServiceImpl.java | 18 ++++++++---------- 1 files changed, 8 insertions(+), 10 deletions(-) diff --git a/ruoyi-modules/ruoyi-generator/src/main/java/org/dromara/generator/service/GenTableServiceImpl.java b/ruoyi-modules/ruoyi-generator/src/main/java/org/dromara/generator/service/GenTableServiceImpl.java index 4d16f71..99935f7 100644 --- a/ruoyi-modules/ruoyi-generator/src/main/java/org/dromara/generator/service/GenTableServiceImpl.java +++ b/ruoyi-modules/ruoyi-generator/src/main/java/org/dromara/generator/service/GenTableServiceImpl.java @@ -3,7 +3,6 @@ import cn.hutool.core.collection.CollUtil; import cn.hutool.core.io.IoUtil; import cn.hutool.core.lang.Dict; -import cn.hutool.core.util.ArrayUtil; import cn.hutool.core.util.ObjectUtil; import com.baomidou.dynamic.datasource.annotation.DS; import com.baomidou.dynamic.datasource.annotation.DSTransactional; @@ -17,13 +16,13 @@ import lombok.extern.slf4j.Slf4j; import org.anyline.metadata.Column; import org.anyline.metadata.Table; -import org.anyline.proxy.CacheProxy; import org.anyline.proxy.ServiceProxy; import org.apache.velocity.Template; import org.apache.velocity.VelocityContext; import org.apache.velocity.app.Velocity; import org.dromara.common.core.constant.Constants; import org.dromara.common.core.exception.ServiceException; +import org.dromara.common.core.utils.SpringUtils; import org.dromara.common.core.utils.StreamUtils; import org.dromara.common.core.utils.StringUtils; import org.dromara.common.core.utils.file.FileUtils; @@ -143,7 +142,7 @@ if (CollUtil.isEmpty(tableNames)) { return true; } - return !StringUtils.containsAnyIgnoreCase(x.getName(), tableArrays); + return !StringUtils.equalsAnyIgnoreCase(x.getName(), tableArrays); }) .filter(x -> { boolean nameMatches = true; @@ -186,7 +185,7 @@ @Override public List<GenTable> selectDbTableListByNames(String[] tableNames, String dataName) { Set<String> tableNameSet = new HashSet<>(List.of(tableNames)); - LinkedHashMap<String, Table<?>> tablesMap = ServiceProxy.service(dataName).metadata().tables(); + LinkedHashMap<String, Table<?>> tablesMap = ServiceProxy.metadata().tables(); if (CollUtil.isEmpty(tablesMap)) { return new ArrayList<>(); @@ -196,7 +195,7 @@ .filter(x -> !StringUtils.containsAnyIgnoreCase(x.getName(), TABLE_IGNORE)) .filter(x -> tableNameSet.contains(x.getName())).toList(); - if (ArrayUtil.isEmpty(tableList)) { + if (CollUtil.isEmpty(tableList)) { return new ArrayList<>(); } return tableList.stream().map(x -> { @@ -269,7 +268,7 @@ int row = baseMapper.insert(table); if (row > 0) { // 淇濆瓨鍒椾俊鎭� - List<GenTableColumn> genTableColumns = selectDbTableColumnsByName(tableName, dataName); + List<GenTableColumn> genTableColumns = SpringUtils.getAopProxy(this).selectDbTableColumnsByName(tableName, dataName); List<GenTableColumn> saveColumns = new ArrayList<>(); for (GenTableColumn column : genTableColumns) { GenUtils.initColumnField(column, table); @@ -293,9 +292,8 @@ * @return 鍒椾俊鎭� */ @DS("#dataName") - private List<GenTableColumn> selectDbTableColumnsByName(String tableName, String dataName) { - // 娓呯悊anyline缂撳瓨 - CacheProxy.clear(); + @Override + public List<GenTableColumn> selectDbTableColumnsByName(String tableName, String dataName) { LinkedHashMap<String, Column> columns = ServiceProxy.metadata().columns(tableName); List<GenTableColumn> tableColumns = new ArrayList<>(); columns.forEach((columnName, column) -> { @@ -407,7 +405,7 @@ List<GenTableColumn> tableColumns = table.getColumns(); Map<String, GenTableColumn> tableColumnMap = StreamUtils.toIdentityMap(tableColumns, GenTableColumn::getColumnName); - List<GenTableColumn> dbTableColumns = selectDbTableColumnsByName(table.getTableName(), table.getDataName()); + List<GenTableColumn> dbTableColumns = SpringUtils.getAopProxy(this).selectDbTableColumnsByName(table.getTableName(), table.getDataName()); if (CollUtil.isEmpty(dbTableColumns)) { throw new ServiceException("鍚屾鏁版嵁澶辫触锛屽師琛ㄧ粨鏋勪笉瀛樺湪"); } -- Gitblit v1.9.3