package com.tashow.cloud.productapi.api.product.vo;

import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

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

@Schema(description = "管理后台 - 产品类目 Response VO")
@Data
@ExcelIgnoreUnannotated
public class CategoryRespVO {

    @Schema(description = "类目ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "15856")
    @ExcelProperty("类目ID")
    private Long categoryId;

    @Schema(description = "店铺ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "22369")
    @ExcelProperty("店铺ID")
    private Long shopId;

    @Schema(description = "父节点", requiredMode = Schema.RequiredMode.REQUIRED, example = "16509")
    @ExcelProperty("父节点")
    private Long parentId;

    @Schema(description = "产品类目名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "王五")
    @ExcelProperty("产品类目名称")
    private String categoryName;

    @Schema(description = "类目图标")
    @ExcelProperty("类目图标")
    private String icon;

    @Schema(description = "类目的显示图片")
    @ExcelProperty("类目的显示图片")
    private String pic;

    @Schema(description = "类目描述")
    @ExcelProperty("类目描述")
    private String description;

    @Schema(description = "标签")
    @ExcelProperty("标签")
    private List<String> tag;

    @Schema(description = "排序", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("排序")
    private Integer sort;

    @Schema(description = "默认是1，表示正常状态,0为下线状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    @ExcelProperty("默认是1，表示正常状态,0为下线状态")
    private Integer status;

    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("创建时间")
    private LocalDateTime createTime;

    @Schema(description = "分类层级", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("分类层级")
    private Integer grade;

}