package com.liquidnet.service.goblin.param.shouqianba.request;

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


@Data
@ApiModel(value = "收银台查询请求")
public class CashierQueryRequest {

    @ApiModelProperty(required = true, value = "应用id", example = "202507xxxxxxx")
    private String appid;

    @ApiModelProperty(required = true, value = "支付模式代码", example = "4")
    private Integer paymentMode;

    @ApiModelProperty(required = true, value = "支付环境")
    private PaymentEnv paymentEnv;

    @ApiModelProperty(required = false, value = "付款人信息")
    private Payer payer;

    @ApiModelProperty(required = true, value = "收单信息")
    private AcquiringInfo acquiringInfo;

    @Data
    @ApiModel(value = "支付环境信息")
    public static class PaymentEnv {
        @ApiModelProperty(required = false, value = "ip地址")
        private String ip;

        @ApiModelProperty(required = true, value = "支付客户端", example = "wechat")
        private String client;

        @ApiModelProperty(required = false, value = "设备号")
        private String device;

        @ApiModelProperty(required = false, value = "版本号", example = "1.4")
        private String version;
    }

    @Data
    @ApiModel(value = "付款人信息")
    public static class Payer {
        @ApiModelProperty(required = true, value = "付款人Id")
        private String userId;
    }

    @Data
    @ApiModel(value = "收单信息")
    public static class AcquiringInfo {
        @ApiModelProperty(required = true, value = "收单号")
        private String acquiringSn;

        @ApiModelProperty(required = true, value = "收单签名")
        private String signature;
    }
}
