peng
4 天以前 882ae5b03957e8b3c72032d2c7da67738554aa55
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
package cn.lili.modules.lmk.domain.form;
 
import cn.lili.group.Update;
import cn.lili.group.Add;
import cn.lili.base.AbsForm;
import cn.lili.modules.lmk.domain.entity.ActionRecord;
import cn.lili.modules.lmk.enums.general.*;
import org.springframework.beans.BeanUtils;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import org.springframework.lang.NonNull;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
 
/**
 * 用户行为记录表单
 *
 * @author peng
 * @since 2025-09-08
 */
@Data
@ApiModel(value = "ActionRecord表单", description = "用户行为记录表单")
public class ActionRecordForm extends AbsForm {
 
    @NotBlank(message = "页面会话id不能为空", groups = {Add.class, Update.class})
    @ApiModelProperty("页面会话id")
    private String sessionId;
    /**
     * @see UserActionTypeEnum
     */
    @NotBlank(message = "行为类型不能为空", groups = {Add.class, Update.class})
    @ApiModelProperty("行为类型")
    private String actionType;
    /**
     * @see UserActionJoinPageTypeEnum
     */
    @NotBlank(message = "进入页面方式不能为空", groups = {Add.class, Update.class})
    @ApiModelProperty("进入页面方式")
    private String joinType;
 
    @NotBlank(message = "上一个页面的会话id不能为空", groups = { Update.class})
    @ApiModelProperty("上一个页面的会话id")
    private String previousSessionId;
 
    @NotNull(message = "分享id不能为空", groups = { Update.class})
    @ApiModelProperty("分享id")
    private Long shareId;
    /**
     * @see UserActionPageEnums
     */
    @NotBlank(message = "页面编码不能为空", groups = {Add.class, Update.class})
    @ApiModelProperty("页面编码")
    private String pageCode;
 
    @NotBlank(message = "页面详情参数(json格式)不能为空", groups = {Add.class, Update.class})
    @ApiModelProperty("页面详情参数(json格式)")
    private String pageParams;
    /**
     * @see UserActionPageTypeEnum
     */
    @NotBlank(message = "页面类型不能为空", groups = {Add.class, Update.class})
    @ApiModelProperty("页面类型")
    private String pageType;
    /**
     * @see UserActionInPageStatusEnum
     */
    @NotBlank(message = "用户在页面状态不能为空", groups = {Add.class, Update.class})
    @ApiModelProperty("用户在页面状态")
    private String pageStatus;
 
    public static ActionRecord getEntityByForm(@NonNull ActionRecordForm form, ActionRecord entity) {
        if(entity == null) {
          entity = new ActionRecord();
        }
        BeanUtils.copyProperties(form, entity);
        return entity;
    }
 
}