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;
|
}
|
|
}
|