package cn.lili.modules.lmk.domain.vo; import cn.lili.base.AbsVo; import cn.lili.modules.lmk.domain.entity.ActionRecord; import java.util.List; import org.springframework.lang.NonNull; import org.springframework.beans.BeanUtils; 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 = "用户行为记录响应数据", description = "用户行为记录响应数据") public class ActionRecordVO extends AbsVo { /** 用户id */ @ApiModelProperty("用户id") private Long userId; /** 页面会话id */ @ApiModelProperty("页面会话id") private String sessionId; /** 行为类型 */ @ApiModelProperty("行为类型") private String actionType; /** 触发时间 */ @ApiModelProperty("触发时间") private Date startTime; /** 进入页面方式 */ @ApiModelProperty("进入页面方式") private String joinType; /** 上一个页面的会话id */ @ApiModelProperty("上一个页面的会话id") private String previousSessionId; /** 分享id */ @ApiModelProperty("分享id") private Long shareId; /** 页面编码 */ @ApiModelProperty("页面编码") private String pageCode; /** 页面详情参数(json格式) */ @ApiModelProperty("页面详情参数(json格式)") private String pageParams; /** 页面类型 */ @ApiModelProperty("页面类型") private String pageType; /** 用户在页面状态 */ @ApiModelProperty("用户在页面状态") private String pageStatus; public static ActionRecordVO getVoByEntity(@NonNull ActionRecord entity, ActionRecordVO vo) { if(vo == null) { vo = new ActionRecordVO(); } BeanUtils.copyProperties(entity, vo); return vo; } }