package com.red.circle.other.infra.database.cache.entity.game.ktv;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import java.io.Serial;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;


/**
 * ktv游戏全部歌曲.
 *
 * @author zongpubin on 2023/5/11
 */
@Data
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@JsonIgnoreProperties(ignoreUnknown = true)
public class GameKtvSongCache implements Serializable {

  @Serial
  private static final long serialVersionUID = 1L;

  /**
   * 主键标识.
   */
  @JsonSerialize(using = ToStringSerializer.class)
  private Long id;

  /**
   * 区域.
   */
  private String regions;

  /**
   * 封面图片.
   */
  private String coverUrl;

  /**
   * 音频文件名.
   */
  private String songFileName;

  /**
   * 歌名.
   */
  private String songName;

  /**
   * 歌手.
   */
  private String songUser;

  /**
   * 音频资源url.
   */
  private String songSourceUrl;

  /**
   * 歌词资源url.
   */
  private String lyricSourceUrl;

  /**
   * 歌曲时长(单位:秒).
   */
  private Long songDuration;

}
