package com.qs.mp.admin.domain.vo;

import com.alibaba.fastjson.annotation.JSONField;
import com.alibaba.fastjson.serializer.SerializerFeature;
import com.baomidou.mybatisplus.annotation.TableField;
import com.qs.mp.admin.domain.GoodsSku;
import com.qs.mp.common.enums.GoodsStatusEnum;

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

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

/**
 * @describe 商品详情VO类
 * @auther quanshu
 * @create 2022-03-07 20:43:44
 */
@Data
@ApiModel("商品详情VO类")
public class GoodsVO {

	/**
	 * 规格列表
	 */
	@ApiModelProperty("规格列表")
	private List<GoodsSku> skuList;

	@ApiModelProperty("商品id")
	private Long goodsId;
	/**
	 * 商品标题
	 */
	@ApiModelProperty("商品标题")
	private String title;

	/**
	 * 商品类目ID
	 */
	@ApiModelProperty("商品类目ID")
	private Long categoryId;

	@ApiModelProperty("商品编码")
	private String goodsCode;

	/**
	 * 商品图片
	 */
	@ApiModelProperty("商品图片")
	private String picUrl;

	/**
	 * 详情
	 */
	@ApiModelProperty("详情")
	private String description;

	/**
	 * 原兑换价格
	 */
	@ApiModelProperty("原兑换价格")
	private Integer originPrice;

	/**
	 * 现兑换价格
	 */
	@ApiModelProperty("现兑换价格")
	private Integer exchangePrice;

	/**
	 * 商品价值
	 */
	@ApiModelProperty("商品价值")
	private Integer value;

	/**
	 * 商品成本
	 */
	@ApiModelProperty("商品成本")
	private Integer cost;

	@ApiModelProperty("回收折扣")
	private BigDecimal discountRate;

	/**
	 * 库存数量
	 */
	@ApiModelProperty("库存数量")
	private Integer quantity;

	/**
	 * 已兑换量
	 */
	@ApiModelProperty("已兑换量")
	private Integer exchangedQty;

	/**
	 * 兑换大厅是否展示，0不展示，1展示
	 */
	@ApiModelProperty("兑换大厅是否展示，0不展示，1展示")
	private Integer exchangeShow;

	/**
	 * 是否多sku，0否，1是
	 */
	@ApiModelProperty("是否多sku，0否，1是")
	private Integer multiSku;

	/**
	 * 规格描述
	 */
	@ApiModelProperty("规格描述")
	private String skuProp;

	/**
	 * 上架状态;上架/下架
	 */
	@ApiModelProperty("上架状态;上架/下架")
	@JSONField(serialzeFeatures = SerializerFeature.WriteEnumUsingToString)
	private GoodsStatusEnum status;

	/**
	 * 逻辑删除标识
	 */
	@ApiModelProperty("逻辑删除标识")
	private Integer isDeleted;

	/**
	 * 标签ID列表
	 */
	@ApiModelProperty("标签ID列表")
	private List<Long> tagIds;



	@ApiModelProperty("商家信息")
	private String merchantInfo;

	@ApiModelProperty("供应商ID")
	private Long supplierId;

	@ApiModelProperty("采购链接")
	private String shoppingLink;


	/**
	 * 创建时间
	 */
	@ApiModelProperty("创建时间")
	private Date createdTime;

	/**
	 * 更新时间
	 */
	@ApiModelProperty("更新时间")
	private Date updatedTime;
}
