From e78684886d9c3d8e955b7e647bd1ed5ce7d10b34 Mon Sep 17 00:00:00 2001
From: 疯狂的狮子Li <15040126243@163.com>
Date: 星期一, 25 十一月 2024 11:58:39 +0800
Subject: [PATCH] update 优化 数据权限处理
---
ruoyi-modules/ruoyi-generator/src/main/java/org/dromara/generator/service/GenTableServiceImpl.java | 32 ++++++++++++++++++++++----------
1 files changed, 22 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 e1e340f..d3f4dde 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;
@@ -30,7 +29,6 @@
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;
@@ -107,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;
}
@@ -138,7 +137,7 @@
}
// 杩囨护骞惰浆鎹㈣〃鏍兼暟鎹�
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;
@@ -175,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;
+ }
+
/**
* 鏌ヨ鎹簱鍒楄〃
*
@@ -196,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 -> {
@@ -260,11 +269,10 @@
@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) {
@@ -295,14 +303,18 @@
@DS("#dataName")
@Override
public List<GenTableColumn> selectDbTableColumnsByName(String tableName, String dataName) {
- LinkedHashMap<String, Column> columns = ServiceProxy.metadata().columns(tableName);
+ Table<?> table = ServiceProxy.metadata().table(tableName);
+ if (ObjectUtil.isNull(table)) {
+ return new ArrayList<>();
+ }
+ LinkedHashMap<String, Column> columns = table.getColumns();
List<GenTableColumn> tableColumns = new ArrayList<>();
columns.forEach((columnName, column) -> {
GenTableColumn tableColumn = new GenTableColumn();
tableColumn.setIsPk(String.valueOf(column.isPrimaryKey()));
tableColumn.setColumnName(column.getName());
tableColumn.setColumnComment(column.getComment());
- tableColumn.setColumnType(column.getTypeName().toLowerCase());
+ tableColumn.setColumnType(column.getOriginType().toLowerCase());
tableColumn.setSort(column.getPosition());
tableColumn.setIsRequired(column.isNullable() == 0 ? "1" : "0");
tableColumn.setIsIncrement(column.isAutoIncrement() == -1 ? "0" : "1");
@@ -549,7 +561,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