package com.test.musichouduan.dto;

import lombok.Data;

import java.time.LocalDateTime;
import java.util.List;

/**
 * 音乐数据传输对象
 */
@Data
public class MusicDTO {

    /**
     * 音乐ID
     */
    private Long id;

    /**
     * 音乐名称
     */
    private String name;

    /**
     * 封面URL
     */
    private String cover;

    /**
     * 音乐文件URL
     */
    private String url;

    /**
     * 歌词
     */
    private String lyric;

    /**
     * 时长(秒)
     */
    private Integer duration;

    /**
     * 专辑
     */
    private String album;

    /**
     * 播放次数
     */
    private Long playCount;

    /**
     * 歌手列表
     */
    private List<SingerDTO> singers;

    /**
     * 歌手ID列表
     */
    private List<Long> singerIds;

    /**
     * 歌手名称列表
     */
    private List<String> singerNames;

    /**
     * 歌手名称（字符串）
     */
    private String singer;

    /**
     * 歌手头像
     */
    private String singerAvatar;

    /**
     * 音乐类型列表
     */
    private List<MusicTypeDTO> types;

    /**
     * 音乐类型ID列表
     */
    private List<Long> typeIds;

    /**
     * 音乐类型名称列表
     */
    private List<String> typeNames;

    /**
     * 音乐类型名称（字符串）
     */
    private String typeName;

    /**
     * 发行日期
     */
    private LocalDateTime releaseDate;

    /**
     * 是否已收藏
     */
    private Boolean isCollected;

    /**
     * 是否已点赞
     */
    private Boolean isLiked;

    /**
     * 创建时间
     */
    private LocalDateTime createTime;

    /**
     * 收藏时间
     */
    private LocalDateTime collectTime;

    /**
     * 设置是否已收藏
     */
    public void setCollected(boolean collected) {
        this.isCollected = collected;
    }

    /**
     * 设置是否已点赞
     */
    public void setLiked(boolean liked) {
        this.isLiked = liked;
    }
}
