package com.fs.newAdv.event;


import com.fs.newAdv.enums.SystemEventTypeEnum;
import lombok.Getter;
import org.springframework.context.ApplicationEvent;

/**
 * 转化事件
 * 当用户发生转化行为时发布此事件（观察者模式）
 * 事件监听器会将其转换为MQ消息发送
 *
 * @author zhangqin
 * @date 2025-11-03
 * @updated 2025-11-05 添加clickId参数，直接传递点击ID
 */
@Getter
public class ConversionEvent extends ApplicationEvent {

    /**
     * 点击ID（广告平台提供）
     */
    private final String traceId;


    /**
     * 转化事件类型（如：register、form_submit、add_wechat）
     */
    private final SystemEventTypeEnum eventType;

    /**
     * 转化价值（元）
     */
    private final Double value;


    public ConversionEvent(Object source, String traceId, SystemEventTypeEnum eventType, Double value) {
        super(source);
        this.traceId = traceId;
        this.eventType = eventType;
        this.value = value;
    }
}

