From caf93da26aa4f5bcc3ed2686da6895735623ce1f Mon Sep 17 00:00:00 2001
From: Yjoioooo <i.zhujie.cn@gmail.com>
Date: 星期四, 23 十二月 2021 23:07:54 +0800
Subject: [PATCH] add 新增数据脱敏注解,可根据菜单权限字符控制是否脱敏
---
ruoyi-generator/src/main/java/com/ruoyi/generator/util/GenUtils.java | 165 +++++++++++++++++++++++++-----------------------------
1 files changed, 76 insertions(+), 89 deletions(-)
diff --git a/ruoyi-generator/src/main/java/com/ruoyi/generator/util/GenUtils.java b/ruoyi-generator/src/main/java/com/ruoyi/generator/util/GenUtils.java
index ea3b3fb..c434ca8 100644
--- a/ruoyi-generator/src/main/java/com/ruoyi/generator/util/GenUtils.java
+++ b/ruoyi-generator/src/main/java/com/ruoyi/generator/util/GenUtils.java
@@ -1,25 +1,25 @@
package com.ruoyi.generator.util;
-import java.util.Arrays;
-import org.apache.commons.lang3.RegExUtils;
import com.ruoyi.common.constant.GenConstants;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.generator.config.GenConfig;
import com.ruoyi.generator.domain.GenTable;
import com.ruoyi.generator.domain.GenTableColumn;
+import org.apache.commons.lang3.RegExUtils;
+
+import java.util.Arrays;
/**
* 浠g爜鐢熸垚鍣� 宸ュ叿绫�
- *
+ *
* @author ruoyi
*/
-public class GenUtils
-{
+public class GenUtils {
+
/**
* 鍒濆鍖栬〃淇℃伅
*/
- public static void initTable(GenTable genTable, String operName)
- {
+ public static void initTable(GenTable genTable, String operName) {
genTable.setClassName(convertClassName(genTable.getTableName()));
genTable.setPackageName(GenConfig.getPackageName());
genTable.setModuleName(getModuleName(GenConfig.getPackageName()));
@@ -32,107 +32,108 @@
/**
* 鍒濆鍖栧垪灞炴�у瓧娈�
*/
- public static void initColumnField(GenTableColumn column, GenTable table)
- {
+ public static void initColumnField(GenTableColumn column, GenTable table) {
String dataType = getDbType(column.getColumnType());
String columnName = column.getColumnName();
column.setTableId(table.getTableId());
column.setCreateBy(table.getCreateBy());
// 璁剧疆java瀛楁鍚�
column.setJavaField(StringUtils.toCamelCase(columnName));
+ // 璁剧疆榛樿绫诲瀷
+ column.setJavaType(GenConstants.TYPE_STRING);
- if (arraysContains(GenConstants.COLUMNTYPE_STR, dataType))
- {
- column.setJavaType(GenConstants.TYPE_STRING);
+ if (arraysContains(GenConstants.COLUMNTYPE_STR, dataType) || arraysContains(GenConstants.COLUMNTYPE_TEXT, dataType)) {
// 瀛楃涓查暱搴﹁秴杩�500璁剧疆涓烘枃鏈煙
Integer columnLength = getColumnLength(column.getColumnType());
- String htmlType = columnLength >= 500 ? GenConstants.HTML_TEXTAREA : GenConstants.HTML_INPUT;
+ String htmlType = columnLength >= 500 || arraysContains(GenConstants.COLUMNTYPE_TEXT, dataType) ? GenConstants.HTML_TEXTAREA : GenConstants.HTML_INPUT;
column.setHtmlType(htmlType);
- }
- else if (arraysContains(GenConstants.COLUMNTYPE_TIME, dataType))
- {
+ } else if (arraysContains(GenConstants.COLUMNTYPE_TIME, dataType)) {
column.setJavaType(GenConstants.TYPE_DATE);
column.setHtmlType(GenConstants.HTML_DATETIME);
- }
- else if (arraysContains(GenConstants.COLUMNTYPE_NUMBER, dataType))
- {
+ } else if (arraysContains(GenConstants.COLUMNTYPE_NUMBER, dataType)) {
column.setHtmlType(GenConstants.HTML_INPUT);
// 濡傛灉鏄诞鐐瑰瀷 缁熶竴鐢˙igDecimal
String[] str = StringUtils.split(StringUtils.substringBetween(column.getColumnType(), "(", ")"), ",");
- if (str != null && str.length == 2 && Integer.parseInt(str[1]) > 0)
- {
+ if (str != null && str.length == 2 && Integer.parseInt(str[1]) > 0) {
column.setJavaType(GenConstants.TYPE_BIGDECIMAL);
}
// 濡傛灉鏄暣褰�
- else if (str != null && str.length == 1 && Integer.parseInt(str[0]) <= 10)
- {
+ else if (str != null && str.length == 1 && Integer.parseInt(str[0]) <= 10) {
column.setJavaType(GenConstants.TYPE_INTEGER);
}
// 闀挎暣褰�
- else
- {
+ else {
column.setJavaType(GenConstants.TYPE_LONG);
}
}
- // 鎻掑叆瀛楁锛堥粯璁ゆ墍鏈夊瓧娈甸兘闇�瑕佹彃鍏ワ級
- column.setIsInsert(GenConstants.REQUIRE);
-
- // 缂栬緫瀛楁
- if (!arraysContains(GenConstants.COLUMNNAME_NOT_EDIT, columnName) && !column.isPk())
- {
+ // BO瀵硅薄 榛樿鎻掑叆鍕鹃��
+ if (!arraysContains(GenConstants.COLUMNNAME_NOT_ADD, columnName) && !column.isPk()) {
+ column.setIsInsert(GenConstants.REQUIRE);
+ }
+ // BO瀵硅薄 榛樿缂栬緫鍕鹃��
+ if (!arraysContains(GenConstants.COLUMNNAME_NOT_EDIT, columnName)) {
column.setIsEdit(GenConstants.REQUIRE);
}
- // 鍒楄〃瀛楁
- if (!arraysContains(GenConstants.COLUMNNAME_NOT_LIST, columnName) && !column.isPk())
- {
+ // BO瀵硅薄 榛樿鏄惁蹇呭~鍕鹃��
+ if (!arraysContains(GenConstants.COLUMNNAME_NOT_EDIT, columnName)) {
+ column.setIsRequired(GenConstants.REQUIRE);
+ }
+ // VO瀵硅薄 榛樿杩斿洖鍕鹃��
+ if (!arraysContains(GenConstants.COLUMNNAME_NOT_LIST, columnName)) {
column.setIsList(GenConstants.REQUIRE);
}
- // 鏌ヨ瀛楁
- if (!arraysContains(GenConstants.COLUMNNAME_NOT_QUERY, columnName) && !column.isPk())
- {
+ // BO瀵硅薄 榛樿鏌ヨ鍕鹃��
+ if (!arraysContains(GenConstants.COLUMNNAME_NOT_QUERY, columnName) && !column.isPk()) {
column.setIsQuery(GenConstants.REQUIRE);
}
// 鏌ヨ瀛楁绫诲瀷
- if (StringUtils.endsWithIgnoreCase(columnName, "name"))
- {
+ if (StringUtils.endsWithIgnoreCase(columnName, "name")) {
column.setQueryType(GenConstants.QUERY_LIKE);
}
// 鐘舵�佸瓧娈佃缃崟閫夋
- if (StringUtils.endsWithIgnoreCase(columnName, "status"))
- {
+ if (StringUtils.endsWithIgnoreCase(columnName, "status")) {
column.setHtmlType(GenConstants.HTML_RADIO);
}
// 绫诲瀷&鎬у埆瀛楁璁剧疆涓嬫媺妗�
else if (StringUtils.endsWithIgnoreCase(columnName, "type")
- || StringUtils.endsWithIgnoreCase(columnName, "sex"))
- {
+ || StringUtils.endsWithIgnoreCase(columnName, "sex")) {
column.setHtmlType(GenConstants.HTML_SELECT);
+ }
+ // 鍥剧墖瀛楁璁剧疆鍥剧墖涓婁紶鎺т欢
+ else if (StringUtils.endsWithIgnoreCase(columnName, "image")) {
+ column.setHtmlType(GenConstants.HTML_IMAGE_UPLOAD);
+ }
+ // 鏂囦欢瀛楁璁剧疆鏂囦欢涓婁紶鎺т欢
+ else if (StringUtils.endsWithIgnoreCase(columnName, "file")) {
+ column.setHtmlType(GenConstants.HTML_FILE_UPLOAD);
+ }
+ // 鍐呭瀛楁璁剧疆瀵屾枃鏈帶浠�
+ else if (StringUtils.endsWithIgnoreCase(columnName, "content")) {
+ column.setHtmlType(GenConstants.HTML_EDITOR);
}
}
/**
* 鏍¢獙鏁扮粍鏄惁鍖呭惈鎸囧畾鍊�
- *
- * @param arr 鏁扮粍
+ *
+ * @param arr 鏁扮粍
* @param targetValue 鍊�
* @return 鏄惁鍖呭惈
*/
- public static boolean arraysContains(String[] arr, String targetValue)
- {
+ public static boolean arraysContains(String[] arr, String targetValue) {
return Arrays.asList(arr).contains(targetValue);
}
/**
* 鑾峰彇妯″潡鍚�
- *
+ *
* @param packageName 鍖呭悕
* @return 妯″潡鍚�
*/
- public static String getModuleName(String packageName)
- {
+ public static String getModuleName(String packageName) {
int lastIndex = packageName.lastIndexOf(".");
int nameLength = packageName.length();
String moduleName = StringUtils.substring(packageName, lastIndex + 1, nameLength);
@@ -141,30 +142,28 @@
/**
* 鑾峰彇涓氬姟鍚�
- *
+ *
* @param tableName 琛ㄥ悕
* @return 涓氬姟鍚�
*/
- public static String getBusinessName(String tableName)
- {
- int lastIndex = tableName.indexOf("_");
+ public static String getBusinessName(String tableName) {
+ int firstIndex = tableName.indexOf("_");
int nameLength = tableName.length();
- String businessName = StringUtils.substring(tableName, lastIndex + 1, nameLength);
- return StringUtils.toCamelCase(businessName);
+ String businessName = StringUtils.substring(tableName, firstIndex + 1, nameLength);
+ businessName = StringUtils.toCamelCase(businessName);
+ return businessName;
}
/**
* 琛ㄥ悕杞崲鎴怞ava绫诲悕
- *
+ *
* @param tableName 琛ㄥ悕绉�
* @return 绫诲悕
*/
- public static String convertClassName(String tableName)
- {
+ public static String convertClassName(String tableName) {
boolean autoRemovePre = GenConfig.getAutoRemovePre();
String tablePrefix = GenConfig.getTablePrefix();
- if (autoRemovePre && StringUtils.isNotEmpty(tablePrefix))
- {
+ if (autoRemovePre && StringUtils.isNotEmpty(tablePrefix)) {
String[] searchList = StringUtils.split(tablePrefix, ",");
tableName = replaceFirst(tableName, searchList);
}
@@ -173,18 +172,15 @@
/**
* 鎵归噺鏇挎崲鍓嶇紑
- *
+ *
* @param replacementm 鏇挎崲鍊�
- * @param searchList 鏇挎崲鍒楄〃
+ * @param searchList 鏇挎崲鍒楄〃
* @return
*/
- public static String replaceFirst(String replacementm, String[] searchList)
- {
+ public static String replaceFirst(String replacementm, String[] searchList) {
String text = replacementm;
- for (String searchString : searchList)
- {
- if (replacementm.startsWith(searchString))
- {
+ for (String searchString : searchList) {
+ if (replacementm.startsWith(searchString)) {
text = replacementm.replaceFirst(searchString, "");
break;
}
@@ -194,48 +190,39 @@
/**
* 鍏抽敭瀛楁浛鎹�
- *
- * @param name 闇�瑕佽鏇挎崲鐨勫悕瀛�
+ *
+ * @param text 闇�瑕佽鏇挎崲鐨勫悕瀛�
* @return 鏇挎崲鍚庣殑鍚嶅瓧
*/
- public static String replaceText(String text)
- {
+ public static String replaceText(String text) {
return RegExUtils.replaceAll(text, "(?:琛▅鑻ヤ緷)", "");
}
/**
* 鑾峰彇鏁版嵁搴撶被鍨嬪瓧娈�
- *
+ *
* @param columnType 鍒楃被鍨�
* @return 鎴彇鍚庣殑鍒楃被鍨�
*/
- public static String getDbType(String columnType)
- {
- if (StringUtils.indexOf(columnType, "(") > 0)
- {
+ public static String getDbType(String columnType) {
+ if (StringUtils.indexOf(columnType, '(') > 0) {
return StringUtils.substringBefore(columnType, "(");
- }
- else
- {
+ } else {
return columnType;
}
}
/**
* 鑾峰彇瀛楁闀垮害
- *
+ *
* @param columnType 鍒楃被鍨�
* @return 鎴彇鍚庣殑鍒楃被鍨�
*/
- public static Integer getColumnLength(String columnType)
- {
- if (StringUtils.indexOf(columnType, "(") > 0)
- {
+ public static Integer getColumnLength(String columnType) {
+ if (StringUtils.indexOf(columnType, '(') > 0) {
String length = StringUtils.substringBetween(columnType, "(", ")");
return Integer.valueOf(length);
- }
- else
- {
+ } else {
return 0;
}
}
--
Gitblit v1.9.3