package com.fuyuanshen.app.domain.bo;

import com.fuyuanshen.common.core.validate.AddGroup;
import com.fuyuanshen.common.core.validate.EditGroup;
import com.fuyuanshen.common.mybatis.core.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;

import jakarta.validation.constraints.*;

/**
 * 设备语音业务对象 app_device_voice
 *
 * @author Lion Li
 * @date 2025-07-02
 */
@Data
@EqualsAndHashCode(callSuper = true)
public class AppDeviceVoiceBo extends BaseEntity {

    /**
     * 主键id
     */
    @NotNull(message = "主键id不能为空", groups = { EditGroup.class })
    private Long id;

    /**
     * 视频名称
     */
    @NotBlank(message = "视频名称不能为空", groups = { AddGroup.class, EditGroup.class })
    private String videoName;

    /**
     * 视频链接
     */
    @NotBlank(message = "视频链接不能为空", groups = { AddGroup.class, EditGroup.class })
    private String videoUrl;

    /**
     * 设备di
     */
    @NotNull(message = "设备di不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long deviceId;

    /**
     * 备注
     */
    private String remark;

    /**
     * 文件类型
     * audio/mp3, audio/wav 等
     */
    private String type;

    /**
     * 时长（秒）
     */
    private Integer duration;

    /**
     * 文件大小（字节）
     */
    private Long size;

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

}