package com.gxwebsoft.shop.param;

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 lombok.Data;
import lombok.EqualsAndHashCode;

import java.math.BigDecimal;

/**
 * 收银查询参数
 *
 * @author 科技小王子
 * @since 2024-09-10 21:05:06
 */
@Data
@EqualsAndHashCode(callSuper = false)
@JsonInclude(JsonInclude.Include.NON_NULL)
@ApiModel(value = "ShopCashierParam对象", description = "收银查询参数")
public class ShopCashierParam extends BaseParam {
    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "收银单ID")
    @QueryField(type = QueryType.EQ)
    private Long id;

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

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

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

    @ApiModelProperty(value = "商品名称")
    private String name;

    @ApiModelProperty(value = "商品规格")
    private String spec;

    @ApiModelProperty(value = "商品价格")
    @QueryField(type = QueryType.EQ)
    private BigDecimal price;

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

    @ApiModelProperty(value = "单商品合计")
    @QueryField(type = QueryType.EQ)
    private BigDecimal totalPrice;

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

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

    @ApiModelProperty(value = "是否选中")
    @QueryField(type = QueryType.EQ)
    private Boolean selected;

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

    @ApiModelProperty(value = "备注")
    private String comments;

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

    @ApiModelProperty(value = "收银员ID")
    private Long cashierId;

    @ApiModelProperty(value = "分组取单")
    private Long groupId;

}
