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

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

import javax.validation.constraints.NotNull;

import com.alibaba.fastjson.annotation.JSONField;
import com.alibaba.fastjson.serializer.SerializerFeature;
import com.qs.mp.common.enums.GoodsStatusEnum;

import lombok.Data;

import java.util.List;

/**
 * @describe 商品库实体类
 * @auther quanshu
 * @create 2022-03-07 20:43:44
 */
@ApiModel(value = "商品列表查询参数")
@Data
public class GoodsQueryParam {

    @ApiModelProperty(value = "商品ID", required = false)
    private Long goodsId;

    @ApiModelProperty(value = "分类ID", required = false)
    private Long categoryId;

    @ApiModelProperty(value = "分类ID列表", required = false)
    private List<Long> categoryIdList;

    @ApiModelProperty(value = "标签ID", required = false)
    private Long tagId;

    @NotNull(message = "商品名称不能为空")
    @ApiModelProperty(value = "商品名称", required = true)
    private String title;


    @ApiModelProperty(value = "供应商id", required = false)
    private Long supplierId;


    /**
     * 最低成本
     */
    @ApiModelProperty(value = "最低成本", required = false)
    private Integer minCost;

    /**
     * 最高成本
     */
    @ApiModelProperty(value = "最高成本", required = false)
    private Integer maxCost;

    /**
     * 最低价格
     */
    @ApiModelProperty(value = "最低价格", required = false)
    private Integer minValue;

    /**
     * 最高价格
     */
    @ApiModelProperty(value = "最高价格", required = false)
    private Integer maxValue;

    @ApiModelProperty("最低兑换价格")
    private Integer minExchange;

    @ApiModelProperty("最高兑换价格")
    private Integer maxExchange;

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

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


}
