feat: add analytics backend
This commit is contained in:
@@ -0,0 +1,59 @@
|
||||
package com.emotion.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
|
||||
import com.emotion.common.BaseEntity;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.experimental.SuperBuilder;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.Map;
|
||||
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@SuperBuilder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@TableName(value = "t_analytics_event", autoResultMap = true)
|
||||
public class AnalyticsEvent extends BaseEntity {
|
||||
|
||||
@TableField("user_id")
|
||||
private String userId;
|
||||
|
||||
@TableField("anonymous_id")
|
||||
private String anonymousId;
|
||||
|
||||
@TableField("session_id")
|
||||
private String sessionId;
|
||||
|
||||
@TableField("event_name")
|
||||
private String eventName;
|
||||
|
||||
@TableField("event_type")
|
||||
private String eventType;
|
||||
|
||||
@TableField("page_path")
|
||||
private String pagePath;
|
||||
|
||||
@TableField("referrer_path")
|
||||
private String referrerPath;
|
||||
|
||||
@TableField(value = "properties", typeHandler = JacksonTypeHandler.class)
|
||||
private Map<String, Object> properties;
|
||||
|
||||
@TableField(value = "device_info", typeHandler = JacksonTypeHandler.class)
|
||||
private Map<String, Object> deviceInfo;
|
||||
|
||||
@TableField("duration_ms")
|
||||
private Long durationMs;
|
||||
|
||||
@TableField("occurred_at")
|
||||
private LocalDateTime occurredAt;
|
||||
|
||||
@TableField("server_time")
|
||||
private LocalDateTime serverTime;
|
||||
}
|
||||
Reference in New Issue
Block a user