package com.red.circle.mq.business.model.event;

import java.io.Serial;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * 徽章操作事件消息.
 *
 * @author system
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class BadgeOperateEvent implements Serializable {

  @Serial
  private static final long serialVersionUID = 1L;

  /**
   * 用户id.
   */
  private Long userId;

  /**
   * 徽章Key.
   */
  private String badgeKey;

  /**
   * 操作类型: WEAR-佩戴, REMOVE-移除.
   */
  private String operationType;

  /**
   * 操作类型枚举.
   */
  public enum OperationType {
    /**
     * 佩戴徽章.
     */
    WEAR,
    /**
     * 移除徽章.
     */
    REMOVE
  }
}
