package com.ltkj.tduck.domain; import com.baomidou.mybatisplus.annotation.FieldStrategy; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.ltkj.tduck.enums.FormItemTypeEnum; import com.ltkj.tduck.utils.HtmlUtils; import lombok.Data; import lombok.experimental.Accessors; import lombok.experimental.FieldNameConstants; import org.apache.ibatis.type.BooleanTypeHandler; import org.apache.ibatis.type.EnumTypeHandler; import javax.validation.constraints.NotNull; import java.util.Date; import java.util.List; import java.util.Map; /** * 表单表单项(FormItem)表实体类 * * @author smalljop * @since 2020-11-19 10:49:16 */ @Data @Accessors(chain = true) @FieldNameConstants @JsonIgnoreProperties(ignoreUnknown = true) @TableName(value = "fm_user_form_item", autoResultMap = true) public class UserFormItemEntity { /** * 主键 避免超出长度 前端丢失精度 */ private Long id; /** * 创建时间 **/ protected Date createTime; /** * 更新时间 **/ protected Date updateTime; /** * 表单Id */ @NotNull(message = "key请求异常") private String formKey; /** * 表单项Id 类型 + 时间戳 */ @NotNull(message = "Id请求错误") private String formItemId; /** * 表单项类型 */ @NotNull(message = "类型请求错误") @TableField(typeHandler = EnumTypeHandler.class) private FormItemTypeEnum type; /** * 表单项标题 */ @NotNull(message = "标题不能为空") private String label; /** * 展示类型组件 只在表单填写页查询到 */ @TableField(value = "is_display_type", typeHandler = BooleanTypeHandler.class) private Boolean displayType; /** * 隐藏类型组件 在表单填写页面无法查看到 */ @TableField(value = "is_hide_type", typeHandler = BooleanTypeHandler.class) private Boolean hideType; /** * 需要在入库前特殊处理的组件 比如随机编码等 验重 */ @TableField(value = "is_special_type", typeHandler = BooleanTypeHandler.class) private Boolean specialType; /** * 是否显示标签 */ @TableField(typeHandler = BooleanTypeHandler.class) private Boolean showLabel; /** * 表单项默认值 */ @TableField(updateStrategy = FieldStrategy.IGNORED) private String defaultValue; /** * 是否必填 */ @TableField(typeHandler = BooleanTypeHandler.class) private Boolean required; /** * 输入型提示文字 */ private String placeholder; /** * 排序 */ private Long sort; /** * 栅格宽度 */ private int span; /** * 扩展字段 表单项独有字段 */ @TableField(typeHandler = JacksonTypeHandler.class) private Map scheme; /** * 正则表达式 */ @TableField(typeHandler = JacksonTypeHandler.class) private List> regList; /** * 去除html格式 * * @return */ public String getTextLabel() { return HtmlUtils.cleanHtmlTag(this.label); } }