package com.tmerclub.cloud.cuerecycle.model.vo;

import com.tmerclub.cloud.common.vo.BaseVO;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serial;
import java.io.Serializable;

/**
 * 球杆商品视图对象
 *
 * @author :  frank
 * @create :  2025-04-13
 */
@Data
@EqualsAndHashCode(callSuper = true)
public class CueProductVO extends BaseVO implements Serializable {
    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 商品ID
     */
    @Schema(description = "商品ID")
    private Long productId;
    /**
     * 关联的品牌ID
     */
    @Schema(description = "关联的品牌ID")
    private Long brandId;
    /**
     * 关联的系列ID
     */
    @Schema(description = "关联的系列ID")
    private Long seriesId;
    /**
     * 关联的球杆类型ID
     */
    @Schema(description = "关联的球杆类型ID")
    private Long typeId;
    /**
     * 商品名称
     */
    @Schema(description = "商品名称")
    private String productName;
    /**
     * 商品描述
     */
    @Schema(description = "商品描述")
    private String productDescription;
    /**
     * 商品图片
     */
    @Schema(description = "商品图片")
    private String productImages;
    /**
     * 价格
     */
    @Schema(description = "价格")
    private Long productPrice;
    /**
     * 排序
     */
    @Schema(description = "排序")
    private Integer productSeq;
    /**
     * 状态：0-禁用，1-启用
     */
    @Schema(description = "状态：0-禁用，1-启用")
    private Integer productStatus;
    /**
     * 关联的品牌名称
     */
    @Schema(description = "关联的品牌名称")
    private String brandName;
    /**
     * 关联的系列名称
     */
    @Schema(description = "关联的系列名称")
    private String seriesName;
    /**
     * 关联的球杆类型名称
     */
    @Schema(description = "关联的球杆类型名称")
    private String typeName;
}