package com.gxwebsoft.apps.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 WebSoft
 * @since 2022-11-18 11:47:09
 */
@Data
@EqualsAndHashCode(callSuper = false)
@JsonInclude(JsonInclude.Include.NON_NULL)
@ApiModel(value = "CashierParam对象", description = "海牛收银台记录表查询参数")
public class CashierParam extends BaseParam {
    private static final long serialVersionUID = 1L;

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

    @ApiModelProperty(value = "客户ID")
    private String buyerId;

    @ApiModelProperty(value = "设备ID")
    private String merchantCode;

    @ApiModelProperty(value = "支付标识")
    private String code;

    @ApiModelProperty(value = "返回消息")
    private String msg;

    @ApiModelProperty(value = "客户端交易订单编号")
    private String outTradeNo;

    @ApiModelProperty(value = "数量")
    private String amount;

    @ApiModelProperty(value = "支付时间")
    private String payTime;

    @ApiModelProperty(value = "支付方式")
    private String payType;

    @ApiModelProperty(value = "交易金额")
    @QueryField(type = QueryType.EQ)
    private BigDecimal totalAmount;

    @ApiModelProperty(value = "实收金额")
    @QueryField(type = QueryType.EQ)
    private BigDecimal receiptAmount;

    @ApiModelProperty(value = "第三方交易手续费")
    @QueryField(type = QueryType.EQ)
    private BigDecimal feeAmount;

    @ApiModelProperty(value = "第三方结算金额")
    @QueryField(type = QueryType.EQ)
    private BigDecimal settleAmount;

    @ApiModelProperty(value = "商户名称")
    private String merchantName;

    @ApiModelProperty(value = "手机号码")
    private String mobile;

    @ApiModelProperty(value = "订单备注")
    private String orderRemark;

    @ApiModelProperty(value = "订单状态")
    private String orderStatus;

    @ApiModelProperty(value = "是否删除, 0否, 1是")
    @QueryField(type = QueryType.EQ)
    private Integer deleted;

}
