fix: 无法生成内置数据脱敏处理器键(Masks)的问题。

This commit is contained in:
Suomm 2024-03-29 12:21:49 +08:00
parent 5e1b5cd587
commit b0a3b358d7
2 changed files with 24 additions and 3 deletions

View File

@ -20,6 +20,8 @@ import com.mybatisflex.annotation.Id;
import com.mybatisflex.annotation.KeyType;
import com.mybatisflex.codegen.config.ColumnConfig;
import com.mybatisflex.codegen.config.EntityConfig;
import com.mybatisflex.core.mask.MaskManager;
import com.mybatisflex.core.mask.Masks;
import com.mybatisflex.core.util.StringUtil;
import java.util.LinkedHashSet;
@ -365,8 +367,20 @@ public class Column {
}
// @ColumnMask 注解
if (columnConfig.getMaskType() != null) {
annotations.append("@ColumnMask(\"").append(columnConfig.getMaskType()).append("\")");
String maskType = columnConfig.getMaskType();
if (maskType != null) {
if (annotations.length() != 0) {
annotations.append("\n\t");
}
annotations.append("@ColumnMask(");
if (MaskManager.getProcessorMap().containsKey(maskType)) {
// @ColumnMask(Masks.MOBILE)
annotations.append("Masks.").append(maskType.toUpperCase());
} else {
// @ColumnMask("custom")
annotations.append("\"").append(maskType).append("\"");
}
annotations.append(")");
}
return annotations.toString();
@ -390,6 +404,9 @@ public class Column {
}
if (columnConfig.getMaskType() != null) {
addImportClass(importClasses, ColumnMask.class.getName());
if (MaskManager.getProcessorMap().containsKey(columnConfig.getMaskType())) {
addImportClass(importClasses, Masks.class.getName());
}
}
if (columnConfig.getJdbcType() != null) {

View File

@ -15,6 +15,7 @@
*/
package com.mybatisflex.core.mask;
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
import java.util.function.Supplier;
@ -58,6 +59,9 @@ public class MaskManager {
processorMap.put(type, processor);
}
public static Map<String, MaskProcessor> getProcessorMap() {
return Collections.unmodifiableMap(processorMap);
}
/**
* 跳过脱敏处理