
package com.tmerclub.cloud.common.product.vo;

import io.swagger.v3.oas.annotations.media.Schema;

import java.io.Serial;
import java.io.Serializable;
import java.util.List;

/**
 * 分类信息VO
 *
 * @author tmerclub
 * @date 2020-10-28 15:27:24
 */
public class CategoryVO implements Serializable {
    @Serial
    private static final long serialVersionUID = 1L;
    @Schema(description = "分类id")
    private Long categoryId;

    @Schema(description = "店铺id")
    private Long shopId;

    @Schema(description = "供应商id")
    private Long supplierId;

    @Schema(description = "父ID")
    private Long parentId;

    @Schema(description = "父分类名称")
    private String parentName;

    @Schema(description = "分类语言")
    private List<CategoryLangVO> categoryLangList;

    @Schema(description = "分类名称")
    private String name;

    @Schema(description = "分类描述")
    private String desc;

    @Schema(description = "分类地址{parent_id}-{child_id},...")
    private String path;

    @Schema(description = "状态 1:enable, 0:disable, -1:deleted")
    private Integer status;

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

    @Schema(description = "分类的显示图片")
    private String imgUrl;

    @Schema(description = "分类层级 从0开始")
    private Integer level;

    @Schema(description = "分类扣率")
    private Double deductionRate;

    @Schema(description = "排序")
    private Integer seq;

    @Schema(description = "上级/子分类列表")
    private List<ParentCategoryVO> categories;

    @Schema(description = "平台一级分类id")
    private Long primaryCategoryId;

    public String getParentName() {
        return parentName;
    }

    public void setParentName(String parentName) {
        this.parentName = parentName;
    }

    public Long getCategoryId() {
        return categoryId;
    }

    public void setCategoryId(Long categoryId) {
        this.categoryId = categoryId;
    }

    public Long getShopId() {
        return shopId;
    }

    public void setShopId(Long shopId) {
        this.shopId = shopId;
    }

    public Long getSupplierId() {
        return supplierId;
    }

    public void setSupplierId(Long supplierId) {
        this.supplierId = supplierId;
    }

    public Long getParentId() {
        return parentId;
    }

    public void setParentId(Long parentId) {
        this.parentId = parentId;
    }

    public List<CategoryLangVO> getCategoryLangList() {
        return categoryLangList;
    }

    public void setCategoryLangList(List<CategoryLangVO> categoryLangList) {
        this.categoryLangList = categoryLangList;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getDesc() {
        return desc;
    }

    public void setDesc(String desc) {
        this.desc = desc;
    }

    public String getPath() {
        return path;
    }

    public void setPath(String path) {
        this.path = path;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public String getIcon() {
        return icon;
    }

    public void setIcon(String icon) {
        this.icon = icon;
    }

    public String getImgUrl() {
        return imgUrl;
    }

    public void setImgUrl(String imgUrl) {
        this.imgUrl = imgUrl;
    }

    public Integer getLevel() {
        return level;
    }

    public void setLevel(Integer level) {
        this.level = level;
    }

    public Integer getSeq() {
        return seq;
    }

    public void setSeq(Integer seq) {
        this.seq = seq;
    }

    public List<ParentCategoryVO> getCategories() {
        return categories;
    }

    public void setCategories(List<ParentCategoryVO> categories) {
        this.categories = categories;
    }

    public Double getDeductionRate() {
        return deductionRate;
    }

    public void setDeductionRate(Double deductionRate) {
        this.deductionRate = deductionRate;
    }

    public Long getPrimaryCategoryId() {
        return primaryCategoryId;
    }

    public void setPrimaryCategoryId(Long primaryCategoryId) {
        this.primaryCategoryId = primaryCategoryId;
    }

    @Override
    public String toString() {
        return "CategoryVO{" +
                "categoryId=" + categoryId +
                ", shopId=" + shopId +
                ", supplierId=" + supplierId +
                ", parentId=" + parentId +
                ", parentName='" + parentName + '\'' +
                ", categoryLangList=" + categoryLangList +
                ", name='" + name + '\'' +
                ", desc='" + desc + '\'' +
                ", path='" + path + '\'' +
                ", status=" + status +
                ", icon='" + icon + '\'' +
                ", imgUrl='" + imgUrl + '\'' +
                ", level=" + level +
                ", deductionRate=" + deductionRate +
                ", seq=" + seq +
                ", categories=" + categories +
                ", primaryCategoryId=" + primaryCategoryId +
                '}';
    }
}
