feat: add analytics backend

This commit is contained in:
2026-05-17 10:14:08 +08:00
parent 6542912d93
commit 3decff526a
19 changed files with 809 additions and 0 deletions
@@ -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;
}