zjh
2025-02-21 2c785c3d4513daea9deb5c7edbb17a9f17111d25
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
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<String, Object> scheme;
 
    /**
     * 正则表达式
     */
    @TableField(typeHandler = JacksonTypeHandler.class)
    private List<Map<String, Object>> regList;
 
 
    /**
     * 去除html格式
     *
     * @return
     */
    public String getTextLabel() {
        return HtmlUtils.cleanHtmlTag(this.label);
    }
 
 
}