From 0baf2c5861a039403385a7e41da79c43a136cdd3 Mon Sep 17 00:00:00 2001 From: 疯狂的狮子Li <15040126243@163.com> Date: 星期三, 30 十月 2024 10:51:45 +0800 Subject: [PATCH] fix 修复 新版本mp默认使用最新 sqlserver 语法导致代码生成分页报错问题 --- ruoyi-modules/ruoyi-generator/src/main/java/org/dromara/generator/service/GenTableServiceImpl.java | 43 +++++++++++++++++++++++-------------------- 1 files changed, 23 insertions(+), 20 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 f7d475b..3f9ef19 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; @@ -23,13 +22,13 @@ 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; import org.dromara.common.json.utils.JsonUtils; import org.dromara.common.mybatis.core.page.PageQuery; import org.dromara.common.mybatis.core.page.TableDataInfo; -import org.dromara.common.satoken.utils.LoginHelper; import org.dromara.generator.constant.GenConstants; import org.dromara.generator.domain.GenTable; import org.dromara.generator.domain.GenTableColumn; @@ -106,7 +105,8 @@ .like(StringUtils.isNotBlank(genTable.getTableName()), "lower(table_name)", StringUtils.lowerCase(genTable.getTableName())) .like(StringUtils.isNotBlank(genTable.getTableComment()), "lower(table_comment)", StringUtils.lowerCase(genTable.getTableComment())) .between(params.get("beginTime") != null && params.get("endTime") != null, - "create_time", params.get("beginTime"), params.get("endTime")); + "create_time", params.get("beginTime"), params.get("endTime")) + .orderByAsc("table_id"); return wrapper; } @@ -123,9 +123,6 @@ // 鑾峰彇鏌ヨ鏉′欢 String tableName = genTable.getTableName(); String tableComment = genTable.getTableComment(); - // 鑾峰彇鍒嗛〉鍙傛暟 - Integer pageNum = pageQuery.getPageNum(); - Integer pageSize = pageQuery.getPageSize(); LinkedHashMap<String, Table<?>> tablesMap = ServiceProxy.metadata().tables(); if (CollUtil.isEmpty(tablesMap)) { @@ -140,12 +137,12 @@ } // 杩囨护骞惰浆鎹㈣〃鏍兼暟鎹� List<GenTable> tables = tablesMap.values().stream() - .filter(x -> !StringUtils.containsAnyIgnoreCase(x.getName(), TABLE_IGNORE)) + .filter(x -> !startWithAnyIgnoreCase(x.getName(), TABLE_IGNORE)) .filter(x -> { if (CollUtil.isEmpty(tableNames)) { return true; } - return !StringUtils.containsAnyIgnoreCase(x.getName(), tableArrays); + return !StringUtils.equalsAnyIgnoreCase(x.getName(), tableArrays); }) .filter(x -> { boolean nameMatches = true; @@ -177,6 +174,16 @@ return TableDataInfo.build(page); } + public static boolean startWithAnyIgnoreCase(CharSequence cs, CharSequence... searchCharSequences) { + // 鍒ゆ柇鏄惁鏄互鎸囧畾瀛楃涓插紑澶� + for (CharSequence searchCharSequence : searchCharSequences) { + if (StringUtils.startsWithIgnoreCase(cs, searchCharSequence)) { + return true; + } + } + return false; + } + /** * 鏌ヨ鎹簱鍒楄〃 * @@ -198,7 +205,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 -> { @@ -262,16 +269,15 @@ @DSTransactional @Override public void importGenTable(List<GenTable> tableList, String dataName) { - Long operId = LoginHelper.getUserId(); try { for (GenTable table : tableList) { String tableName = table.getTableName(); - GenUtils.initTable(table, operId); + GenUtils.initTable(table); table.setDataName(dataName); 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); @@ -295,12 +301,9 @@ * @return 鍒椾俊鎭� */ @DS("#dataName") - private List<GenTableColumn> selectDbTableColumnsByName(String tableName, String dataName) { - Table<?> table = ServiceProxy.metadata().table(tableName); - if (Objects.isNull(table)) { - return new ArrayList<>(); - } - LinkedHashMap<String, Column> columns = table.getColumns(); + @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) -> { GenTableColumn tableColumn = new GenTableColumn(); @@ -411,7 +414,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("鍚屾鏁版嵁澶辫触锛屽師琛ㄧ粨鏋勪笉瀛樺湪"); } @@ -554,7 +557,7 @@ String treeCode = paramsObj.getStr(GenConstants.TREE_CODE); String treeParentCode = paramsObj.getStr(GenConstants.TREE_PARENT_CODE); String treeName = paramsObj.getStr(GenConstants.TREE_NAME); - String parentMenuId = paramsObj.getStr(GenConstants.PARENT_MENU_ID); + Long parentMenuId = paramsObj.getLong(GenConstants.PARENT_MENU_ID); String parentMenuName = paramsObj.getStr(GenConstants.PARENT_MENU_NAME); genTable.setTreeCode(treeCode); -- Gitblit v1.9.3