package com.red.circle.other.app.dto.clientobject.dynamic;

import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.red.circle.framework.dto.ClientObject;
import java.io.Serial;
import java.math.BigDecimal;
import java.sql.Timestamp;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * 动态礼物列表.
 *
 * @author pengshigang
 * @since 2025-01-29
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class DynamicGiftListCO extends ClientObject {

  @Serial
  private static final long serialVersionUID = 1L;

  /**
   * 礼物记录id.
   */
  @JsonSerialize(using = ToStringSerializer.class)
  private Long id;

  /**
   * 动态内容id.
   */
  @JsonSerialize(using = ToStringSerializer.class)
  private Long dynamicId;

  /**
   * 礼物ID.
   */
  @JsonSerialize(using = ToStringSerializer.class)
  private Long giftId;

  /**
   * 礼物数量.
   */
  private Integer giftQuantity;

  /**
   * 礼物URL.
   */
  private String giftUrl;

  /**
   * 单个礼物价值.
   */
  private BigDecimal giftUnitPrice;

  /**
   * 用户头像.
   */
  private String userAvatar;

  /**
   * 用户昵称.
   */
  private String userNickname;

  /**
   * 用户性别:0 女，1 男.
   */
  private Integer userSex;

  /**
   * 年龄.
   */
  private Integer age;

  /**
   * 用户id
   */
  @JsonSerialize(using = ToStringSerializer.class)
  private Long userId;

  /**
   * 更新时间.
   */
  private Timestamp updateTime;

}
