package com.gxwebsoft.shop.param;

import java.math.BigDecimal;
import com.gxwebsoft.common.core.annotation.QueryField;
import com.gxwebsoft.common.core.annotation.QueryType;
import com.gxwebsoft.common.core.web.BaseParam;
import com.fasterxml.jackson.annotation.JsonInclude;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.models.auth.In;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * 购物车查询参数
 *
 * @author 科技小王子
 * @since 2024-07-29 21:02:39
 */
@Data
@EqualsAndHashCode(callSuper = false)
@JsonInclude(JsonInclude.Include.NON_NULL)
@ApiModel(value = "CartParam对象", description = "购物车查询参数")
public class CartParam extends BaseParam {
    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "购物车表ID")
    @QueryField(type = QueryType.EQ)
    private Integer id;

    @ApiModelProperty(value = "类型 0商城 1预定 ")
    @QueryField(type = QueryType.EQ)
    private Integer type;

    @ApiModelProperty(value = "商品ID")
    @QueryField(type = QueryType.EQ)
    private Integer goodsId;

    @ApiModelProperty(value = "唯一标识")
    private String code;

    @ApiModelProperty(value = "商品规格")
    @QueryField(type = QueryType.EQ)
    private String spec;

    @ApiModelProperty(value = "商品数量")
    @QueryField(type = QueryType.EQ)
    private Integer cartNum;

    @ApiModelProperty(value = "0 = 未购买 1 = 已购买")
    @QueryField(type = QueryType.EQ)
    private Boolean isPay;

    @ApiModelProperty(value = "是否为立即购买")
    @QueryField(type = QueryType.EQ)
    private Boolean isNew;

    @ApiModelProperty(value = "拼团id")
    @QueryField(type = QueryType.EQ)
    private Integer combinationId;

    @ApiModelProperty(value = "秒杀产品ID")
    @QueryField(type = QueryType.EQ)
    private Integer seckillId;

    @ApiModelProperty(value = "砍价id")
    @QueryField(type = QueryType.EQ)
    private Integer bargainId;

    @ApiModelProperty(value = "用户ID")
    private Integer userId;

    @ApiModelProperty(value = "是否选中")
    private Boolean selected;

    @ApiModelProperty(value = "商户ID")
    private Integer merchantId;

    @ApiModelProperty(value = "商品名称")
    @QueryField(type = QueryType.LIKE)
    private String goodsName;

    @ApiModelProperty(value = "店铺ID")
    @QueryField(type = QueryType.EQ)
    private Integer shopId;

}
