package com.neusoft.smart.pos.dto.payment.response;

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

/**
 * @author zcf
 * @date 2018-05-02 10：43
 * @description 资金预授权订单查询使用Response
 */
@ApiModel
@Data
public class PostQueryPayGrantResponse {

	@ApiModelProperty(name = "mcode", value = "商户号(聚合支付平台提供)", dataType = "String" ,example="NEU226104452154865")
	private String mcode;

	@ApiModelProperty(name = "orderNumber", value = "业务系统订单号", dataType = "String" ,example="201801301122")
	private String orderNumber;
	
	@ApiModelProperty(name = "authNo", value = "支付宝资金授权订单号", dataType = "String" ,example="1")
	private String authNo;
	
	@ApiModelProperty(name = "totalFreezeAmount", value = "订单累计的冻结金额，单位为：分（人民币）", dataType = "Long" ,example="1")
	private Long totalFreezeAmount;
	
	@ApiModelProperty(name = "restAmount", value = "订单总共剩余的冻结金额，单位为：分（人民币）", dataType = "Long" ,example="1")
	private Long restAmount;
	
	@ApiModelProperty(name = "totalPayAmount", value = "订单累计用于支付的金额，单位为：分（人民币）", dataType = "Long" ,example="1")
	private Long totalPayAmount;
	
	@ApiModelProperty(name = "orderTitle", value = "业务订单的简单描述，如商品名称等", dataType = "String" ,example="1")
	private String orderTitle;
	
	@ApiModelProperty(name = "payerLogonId", value = "付款方支付宝账号（Email或手机号），仅作展示使用，默认会加“*”号处理", dataType = "String" ,example="1")
	private String payerLogonId;
	
	@ApiModelProperty(name = "payerUserId", value = "付款方支付宝账号对应的支付宝唯一用户号，以2088开头的16位纯数字组成", dataType = "String" ,example="1")
	private String payerUserId;
	
	@ApiModelProperty(name = "outerOrderNumber", value = "支付宝资金操作流水号", dataType = "String" ,example="1")
	private String outerOrderNumber;
	
	@ApiModelProperty(name = "outRequestNo", value = "商户资金操作的请求流水号", dataType = "String" ,example="1")
	private String outRequestNo;
	
	@ApiModelProperty(name = "amount", value = "该笔资金操作流水opertion_id对应的操作金额，单位为：分（人民币）", dataType = "Long" ,example="1")
	private Long amount;
	
//	@ApiModelProperty(name = "operationType", value = "支付宝资金操作类型， 目前支持：  FREEZE：冻结  UNFREEZE：解冻  PAY：支付", dataType = "String" ,example="1")
//	private String operationType;
	
	@ApiModelProperty(name = "grantStatus", value = "授权状态@1:授权处理中@2:已授权@3:已解冻@4:已撤销@5:授权转支付", dataType = "String" ,example="1")
	private String grantStatus;
	
	@ApiModelProperty(name = "remark", value = "商户对本次操作的附言描述，长度不超过100个字母或50个汉字", dataType = "String" ,example="1")
	private String remark;
	
	@ApiModelProperty(name = "gmtCreate", value = "资金授权单据操作流水创建时间， 格式：YYYY-MM-DD HH:MM:SS", dataType = "String" ,example="1")
	private String gmtCreate;
	
	@ApiModelProperty(name = "gmtTrans", value = "支付宝账务处理成功时间， 格式：YYYY-MM-DD HH:MM:SS", dataType = "String" ,example="1")
	private String gmtTrans;
	
//	@ApiModelProperty(name = "totalFreezeCreditAmount", value = "累计冻结信用金额，单位为：分（人民币）", dataType = "Long" ,example="1")
//	private Long totalFreezeCreditAmount;
//
//	@ApiModelProperty(name = "totalFreezeFundAmount", value = "累计冻结自有资金金额，单位为：分（人民币）", dataType = "Long" ,example="1")
//	private Long totalFreezeFundAmount;
//
//	@ApiModelProperty(name = "totalPayCreditAmount", value = "累计支付信用金额，单位为：分（人民币）", dataType = "Long" ,example="1")
//	private Long totalPayCreditAmount;
//
//	@ApiModelProperty(name = "totalPayFundAmount", value = "累计支付自有资金金额，单位为：分（人民币）", dataType = "Long" ,example="1")
//	private Long totalPayFundAmount;
//
//	@ApiModelProperty(name = "restCreditAmount", value = "剩余冻结信用金额，单位为：分（人民币）", dataType = "Long" ,example="1")
//	private Long restCreditAmount;
//
//	@ApiModelProperty(name = "restFundAmount", value = "剩余冻结自有资金金额，单位为：分（人民币）", dataType = "Long" ,example="1")
//	private Long restFundAmount;
//
//	@ApiModelProperty(name = "creditAmount", value = "该笔资金操作流水opertion_id对应的操作信用金额", dataType = "Long" ,example="1")
//	private Long creditAmount;
//
//	@ApiModelProperty(name = "fundAmount", value = "该笔资金操作流水opertion_id对应的操作自有资金金额", dataType = "Long" ,example="1")
//	private Long fundAmount;
	
	@ApiModelProperty(name = "sign", value = "签名(MD5加密字符串)", dataType = "String" ,example="5CFB108E5A9CAA78B141251BC2BD7F74")
	private String sign;

	public PostQueryPayGrantResponse() {
	}
	
}
