package com.buy507.mall.portal.domain;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

import com.buy507.mall.model.PmsComment;
import com.buy507.mall.model.PmsCommentReplay;
import com.buy507.mall.model.PmsProductAttribute;
import com.buy507.mall.model.PmsProductFullReduction;
import com.buy507.mall.model.PmsProductLadder;
import com.buy507.mall.model.SmsCoupon;
import com.buy507.mall.model.SmsCouponProductRelation;

import io.swagger.annotations.ApiModelProperty;

public class ProductDetailResult {
    private Long id;

    private Long brandId;

    private Long productCategoryId;

    private Long feightTemplateId;

    private Long productAttributeCategoryId;

    private String name;

    private String pic;

    @ApiModelProperty(value = "货号")
    private String productSn;

    @ApiModelProperty(value = "删除状态：0->未删除；1->已删除")
    private Integer deleteStatus;

    @ApiModelProperty(value = "上架状态：0->下架；1->上架")
    private Integer publishStatus;

    @ApiModelProperty(value = "新品状态:0->不是新品；1->新品")
    private Integer newStatus;

    @ApiModelProperty(value = "推荐状态；0->不推荐；1->推荐")
    private Integer recommandStatus;

    @ApiModelProperty(value = "审核状态：0->未审核；1->审核通过")
    private Integer verifyStatus;

    @ApiModelProperty(value = "排序")
    private Integer sort;

    @ApiModelProperty(value = "销量")
    private Integer sale;

    private BigDecimal price;

    @ApiModelProperty(value = "促销价格")
    private BigDecimal promotionPrice;

    @ApiModelProperty(value = "赠送的成长值")
    private Integer giftGrowth;

    @ApiModelProperty(value = "赠送的积分")
    private Integer giftPoint;

    @ApiModelProperty(value = "限制使用的积分数")
    private Integer usePointLimit;

    @ApiModelProperty(value = "副标题")
    private String subTitle;

    @ApiModelProperty(value = "市场价")
    private BigDecimal originalPrice;

    @ApiModelProperty(value = "库存")
    private Integer stock;

    @ApiModelProperty(value = "库存预警值")
    private Integer lowStock;

    @ApiModelProperty(value = "单位")
    private String unit;

    @ApiModelProperty(value = "商品重量，默认为克")
    private BigDecimal weight;

    @ApiModelProperty(value = "是否为预告商品：0->不是；1->是")
    private Integer previewStatus;

    @ApiModelProperty(value = "以逗号分割的产品服务：1->无忧退货；2->快速退款；3->免费包邮")
    private String serviceIds;

    private String keywords;

    private String note;

    @ApiModelProperty(value = "画册图片，连产品图片限制为5张，以逗号分割")
    private String albumPics;
    private List<String> ListAlbumPics;
    private String detailTitle;

    @ApiModelProperty(value = "促销开始时间")
    private Date promotionStartTime;

    @ApiModelProperty(value = "促销结束时间")
    private Date promotionEndTime;

    @ApiModelProperty(value = "活动限购数量")
    private Integer promotionPerLimit;

    @ApiModelProperty(value = "促销类型：0->没有促销使用原价;1->使用促销价；2->使用会员价；3->使用阶梯价格；4->使用满减价格；5->限时购")
    private Integer promotionType;

    @ApiModelProperty(value = "品牌名称")
    private String brandName;

    @ApiModelProperty(value = "商品分类名称")
    private String productCategoryName;

    @ApiModelProperty(value = "商品描述")
    private String description;

    private String detailDesc;
    private List<PmsProductAttribute> productAttribute;
    @ApiModelProperty(value = "产品详情网页内容")
    private String detailHtml;

    @ApiModelProperty(value = "移动端网页详情")
    private String detailMobileHtml;
    
    @ApiModelProperty(value = "商品详情数据展示")
    private PmsProductFullReduction pmsProductFullReduction;
    @ApiModelProperty(value = "商品折扣信息")
    private PmsProductLadder pmsProductLadder;
   
    @ApiModelProperty(value = "优惠券")
    private SmsCouponProductRelation smsCouponProductRelation;
    private SmsCoupon smsCoupon;
    @ApiModelProperty(value = "评论信息")
    private List<PmsComment> pmsComment;
    
    @ApiModelProperty(value = "评论回复，差评 ，1星大于1星好评")
    private  PmsCommentReplay pmsCommentReplay;
    
    @ApiModelProperty(value = "好评比例")
    private  PmsComment commentBiLi;
    
    @ApiModelProperty(value = "是否收藏")
    private  int whetherTheCollection;
    
    private int countComent;
    
    private int applauseRate;
    
    List<ProductAttributeResult> specList;
    
    List<ProductAttributeResult> specChildList;


	public int getWhetherTheCollection() {
		return whetherTheCollection;
	}

	public void setWhetherTheCollection(int whetherTheCollection) {
		this.whetherTheCollection = whetherTheCollection;
	}

	public int getCountComent() {
		return countComent;
	}

	public void setCountComent(int countComent) {
		this.countComent = countComent;
	}

	public int getApplauseRate() {
		return applauseRate;
	}

	public void setApplauseRate(int applauseRate) {
		this.applauseRate = applauseRate;
	}

	public List<PmsProductAttribute> getProductAttribute() {
		return productAttribute;
	}

	public void setProductAttribute(List<PmsProductAttribute> productAttribute) {
		this.productAttribute = productAttribute;
	}

	public List<String> getListAlbumPics() {
		return ListAlbumPics;
	}

	public void setListAlbumPics(List<String> listAlbumPics) {
		ListAlbumPics = listAlbumPics;
	}

	public PmsProductLadder getPmsProductLadder() {
		return pmsProductLadder;
	}

	public void setPmsProductLadder(PmsProductLadder pmsProductLadder) {
		this.pmsProductLadder = pmsProductLadder;
	}

	public SmsCouponProductRelation getSmsCouponProductRelation() {
		return smsCouponProductRelation;
	}

	public void setSmsCouponProductRelation(SmsCouponProductRelation smsCouponProductRelation) {
		this.smsCouponProductRelation = smsCouponProductRelation;
	}

	public SmsCoupon getSmsCoupon() {
		return smsCoupon;
	}

	public void setSmsCoupon(SmsCoupon smsCoupon) {
		this.smsCoupon = smsCoupon;
	}


	public List<PmsComment> getPmsComment() {
		return pmsComment;
	}

	public void setPmsComment(List<PmsComment> pmsComment) {
		this.pmsComment = pmsComment;
	}

	public PmsCommentReplay getPmsCommentReplay() {
		return pmsCommentReplay;
	}

	public void setPmsCommentReplay(PmsCommentReplay pmsCommentReplay) {
		this.pmsCommentReplay = pmsCommentReplay;
	}

	public PmsComment getCommentBiLi() {
		return commentBiLi;
	}

	public void setCommentBiLi(PmsComment commentBiLi) {
		this.commentBiLi = commentBiLi;
	}

	public PmsProductFullReduction getPmsProductFullReduction() {
		return pmsProductFullReduction;
	}

	public void setPmsProductFullReduction(PmsProductFullReduction pmsProductFullReduction) {
		this.pmsProductFullReduction = pmsProductFullReduction;
	}

	//    @ApiModelProperty(value = "移动端网页详情")
//    private List
    private static final long serialVersionUID = 1L;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Long getBrandId() {
        return brandId;
    }

    public void setBrandId(Long brandId) {
        this.brandId = brandId;
    }

    public Long getProductCategoryId() {
        return productCategoryId;
    }

    public void setProductCategoryId(Long productCategoryId) {
        this.productCategoryId = productCategoryId;
    }

    public Long getFeightTemplateId() {
        return feightTemplateId;
    }

    public void setFeightTemplateId(Long feightTemplateId) {
        this.feightTemplateId = feightTemplateId;
    }

    public Long getProductAttributeCategoryId() {
        return productAttributeCategoryId;
    }

    public void setProductAttributeCategoryId(Long productAttributeCategoryId) {
        this.productAttributeCategoryId = productAttributeCategoryId;
    }

    public String getName() {
        return name;
    }

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

    public String getPic() {
        return pic;
    }

    public void setPic(String pic) {
        this.pic = pic;
    }

    public String getProductSn() {
        return productSn;
    }

    public void setProductSn(String productSn) {
        this.productSn = productSn;
    }

    public Integer getDeleteStatus() {
        return deleteStatus;
    }

    public void setDeleteStatus(Integer deleteStatus) {
        this.deleteStatus = deleteStatus;
    }

    public Integer getPublishStatus() {
        return publishStatus;
    }

    public void setPublishStatus(Integer publishStatus) {
        this.publishStatus = publishStatus;
    }

    public Integer getNewStatus() {
        return newStatus;
    }

    public void setNewStatus(Integer newStatus) {
        this.newStatus = newStatus;
    }

    public Integer getRecommandStatus() {
        return recommandStatus;
    }

    public void setRecommandStatus(Integer recommandStatus) {
        this.recommandStatus = recommandStatus;
    }

    public Integer getVerifyStatus() {
        return verifyStatus;
    }

    public void setVerifyStatus(Integer verifyStatus) {
        this.verifyStatus = verifyStatus;
    }

    public Integer getSort() {
        return sort;
    }

    public void setSort(Integer sort) {
        this.sort = sort;
    }

    public Integer getSale() {
        return sale;
    }

    public void setSale(Integer sale) {
        this.sale = sale;
    }

    public BigDecimal getPrice() {
        return price;
    }

    public void setPrice(BigDecimal price) {
        this.price = price;
    }

    public BigDecimal getPromotionPrice() {
        return promotionPrice;
    }

    public void setPromotionPrice(BigDecimal promotionPrice) {
        this.promotionPrice = promotionPrice;
    }

    public Integer getGiftGrowth() {
        return giftGrowth;
    }

    public void setGiftGrowth(Integer giftGrowth) {
        this.giftGrowth = giftGrowth;
    }

    public Integer getGiftPoint() {
        return giftPoint;
    }

    public void setGiftPoint(Integer giftPoint) {
        this.giftPoint = giftPoint;
    }

    public Integer getUsePointLimit() {
        return usePointLimit;
    }

    public void setUsePointLimit(Integer usePointLimit) {
        this.usePointLimit = usePointLimit;
    }

    public String getSubTitle() {
        return subTitle;
    }

    public void setSubTitle(String subTitle) {
        this.subTitle = subTitle;
    }

    public BigDecimal getOriginalPrice() {
        return originalPrice;
    }

    public void setOriginalPrice(BigDecimal originalPrice) {
        this.originalPrice = originalPrice;
    }

    public Integer getStock() {
        return stock;
    }

    public void setStock(Integer stock) {
        this.stock = stock;
    }

    public Integer getLowStock() {
        return lowStock;
    }

    public void setLowStock(Integer lowStock) {
        this.lowStock = lowStock;
    }

    public String getUnit() {
        return unit;
    }

    public void setUnit(String unit) {
        this.unit = unit;
    }

    public BigDecimal getWeight() {
        return weight;
    }

    public void setWeight(BigDecimal weight) {
        this.weight = weight;
    }

    public Integer getPreviewStatus() {
        return previewStatus;
    }

    public void setPreviewStatus(Integer previewStatus) {
        this.previewStatus = previewStatus;
    }

    public String getServiceIds() {
        return serviceIds;
    }

    public void setServiceIds(String serviceIds) {
        this.serviceIds = serviceIds;
    }

    public String getKeywords() {
        return keywords;
    }

    public void setKeywords(String keywords) {
        this.keywords = keywords;
    }

    public String getNote() {
        return note;
    }

    public void setNote(String note) {
        this.note = note;
    }

    public String getAlbumPics() {
        return albumPics;
    }

    public void setAlbumPics(String albumPics) {
        this.albumPics = albumPics;
    }

    public String getDetailTitle() {
        return detailTitle;
    }

    public void setDetailTitle(String detailTitle) {
        this.detailTitle = detailTitle;
    }

    public Date getPromotionStartTime() {
        return promotionStartTime;
    }

    public void setPromotionStartTime(Date promotionStartTime) {
        this.promotionStartTime = promotionStartTime;
    }

    public Date getPromotionEndTime() {
        return promotionEndTime;
    }

    public void setPromotionEndTime(Date promotionEndTime) {
        this.promotionEndTime = promotionEndTime;
    }

    public Integer getPromotionPerLimit() {
        return promotionPerLimit;
    }

    public void setPromotionPerLimit(Integer promotionPerLimit) {
        this.promotionPerLimit = promotionPerLimit;
    }

    public Integer getPromotionType() {
        return promotionType;
    }

    public void setPromotionType(Integer promotionType) {
        this.promotionType = promotionType;
    }

    public String getBrandName() {
        return brandName;
    }

    public void setBrandName(String brandName) {
        this.brandName = brandName;
    }

    public String getProductCategoryName() {
        return productCategoryName;
    }

    public void setProductCategoryName(String productCategoryName) {
        this.productCategoryName = productCategoryName;
    }

    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    public String getDetailDesc() {
        return detailDesc;
    }

    public void setDetailDesc(String detailDesc) {
        this.detailDesc = detailDesc;
    }

    public String getDetailHtml() {
        return detailHtml;
    }

    public void setDetailHtml(String detailHtml) {
        this.detailHtml = detailHtml;
    }

    public String getDetailMobileHtml() {
        return detailMobileHtml;
    }

    public void setDetailMobileHtml(String detailMobileHtml) {
        this.detailMobileHtml = detailMobileHtml;
    }

	public List<ProductAttributeResult> getSpecList() {
		return specList;
	}

	public void setSpecList(List<ProductAttributeResult> specList) {
		this.specList = specList;
	}

	public List<ProductAttributeResult> getSpecChildList() {
		return specChildList;
	}

	public void setSpecChildList(List<ProductAttributeResult> specChildList) {
		this.specChildList = specChildList;
	}
    
}