diff --git a/common/common-online/src/main/java/apelet/common/online/util/WidgetFieldTypeMapping.java b/common/common-online/src/main/java/apelet/common/online/util/WidgetFieldTypeMapping.java new file mode 100644 index 0000000..50d6801 --- /dev/null +++ b/common/common-online/src/main/java/apelet/common/online/util/WidgetFieldTypeMapping.java @@ -0,0 +1,87 @@ +package apelet.common.online.util; + +import java.util.HashMap; +import java.util.Map; + +public class WidgetFieldTypeMapping { + + private WidgetFieldTypeMapping() { + } + + private static final Map WIDGET_TO_FIELD_TYPE = new HashMap<>(); + private static final Map DEFAULT_LENGTH = new HashMap<>(); + + static { + // 文本输入框 → varchar + WIDGET_TO_FIELD_TYPE.put(1, "0"); + DEFAULT_LENGTH.put(1, 255); + // 数字输入框 → int + WIDGET_TO_FIELD_TYPE.put(3, "1"); + // 开关组件 → int + WIDGET_TO_FIELD_TYPE.put(5, "1"); + // 滑块组件 → decimal + WIDGET_TO_FIELD_TYPE.put(6, "4"); + // 单选组件 → varchar + WIDGET_TO_FIELD_TYPE.put(7, "0"); + DEFAULT_LENGTH.put(7, 255); + // 复选框 → varchar + WIDGET_TO_FIELD_TYPE.put(8, "0"); + DEFAULT_LENGTH.put(8, 255); + // 下拉选择框 → varchar + WIDGET_TO_FIELD_TYPE.put(10, "0"); + DEFAULT_LENGTH.put(10, 255); + // 级联选择框 → varchar + WIDGET_TO_FIELD_TYPE.put(12, "0"); + DEFAULT_LENGTH.put(12, 255); + // 树形选择 → varchar + WIDGET_TO_FIELD_TYPE.put(13, "0"); + DEFAULT_LENGTH.put(13, 255); + // 评分组件 → int + WIDGET_TO_FIELD_TYPE.put(14, "1"); + DEFAULT_LENGTH.put(14, 5); + // 日期选择框 → datetime + WIDGET_TO_FIELD_TYPE.put(20, "3"); + // 颜色选择 → varchar + WIDGET_TO_FIELD_TYPE.put(30, "0"); + DEFAULT_LENGTH.put(30, 50); + // 附件上传 → varchar + WIDGET_TO_FIELD_TYPE.put(31, "0"); + DEFAULT_LENGTH.put(31, 255); + // 图片上传 → varchar + WIDGET_TO_FIELD_TYPE.put(653, "0"); + DEFAULT_LENGTH.put(653, 255); + // 富文本编辑 → varchar(2000) + WIDGET_TO_FIELD_TYPE.put(32, "0"); + DEFAULT_LENGTH.put(32, 2000); + // MD编辑器 → varchar(2000) + WIDGET_TO_FIELD_TYPE.put(760, "0"); + DEFAULT_LENGTH.put(760, 2000); + // 用户选择 → bigint + WIDGET_TO_FIELD_TYPE.put(400, "2"); + // 部门选择 → bigint + WIDGET_TO_FIELD_TYPE.put(401, "2"); + // 关联选择 → bigint + WIDGET_TO_FIELD_TYPE.put(402, "2"); + // 时间选择器 → datetime + WIDGET_TO_FIELD_TYPE.put(652, "3"); + // 文件上传 → varchar + WIDGET_TO_FIELD_TYPE.put(750, "0"); + DEFAULT_LENGTH.put(750, 255); + } + + public static String getFieldTypeId(Integer widgetType) { + String type = WIDGET_TO_FIELD_TYPE.get(widgetType); + if (type == null) { + throw new IllegalArgumentException("不支持的控件类型: " + widgetType); + } + return type; + } + + public static Integer getDefaultLength(Integer widgetType) { + return DEFAULT_LENGTH.get(widgetType); + } + + public static boolean isDataWidget(Integer widgetType) { + return WIDGET_TO_FIELD_TYPE.containsKey(widgetType); + } +}