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

import com.neusoft.smart.pos.constants.DictionaryConstant;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

/**
 * @author zcf
 * @date 2018-01-08 10：43
 * @description 第三方支付订单生成使用Response
 */
@ApiModel
@Data
public class PostFreePayResponse {

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

	@ApiModelProperty(name = "payCode", value = "第三方支付单号(支付二维码)", dataType = "String" ,example="weixin：//wxpay/s/An4baqw")
	public String payCode;

	@ApiModelProperty(name = "timeExpire", value = "订单失效时间，格式为yyyyMMddHHmmss，有效时间至少5分钟,如果为空默认为2小时", dataType = "String" ,example="20180129172506")
	private String timeExpire;

	@ApiModelProperty(name = "tradeId", value = "聚合支付平台流水号", dataType = "String" ,example="151720983735135147")
	private String tradeId;

	@ApiModelProperty(name = "outerOrderNumber", value = "第三方支付平台流水号", dataType = "String" ,example="wx20180129151039d010396eb60382461353")
	private String outerOrderNumber;
	
	@ApiModelProperty(name = "authNo", value = "第三方支付平台资金授权订单号", dataType = "String" ,example="wx20180129151039d010396eb60382461353")
	private String authNo;

	@ApiModelProperty(name = "orderNumber", value = "业务系统订单号", dataType = "String" ,example="201801301122")
	private String orderNumber;

	@ApiModelProperty(name = "payType", value = "支付方式(@1:微信扫码支付@2:支付宝扫码支付@3:支付宝当面资金授权支付@4:银联二维码支付)", dataType = "String" ,example="1",required=true)
	private String payType;

	@ApiModelProperty(name = "grantStatus", value = "授权状态@1:授权处理中@2:已授权@3:已解冻@4:已撤销", dataType = "String" ,example="1",required=true)
	private String grantStatus = DictionaryConstant.PAY_GRANT_STATUS_CLZ.getCode();

	@ApiModelProperty(name = "sign", value = "签名(MD5加密字符串)", dataType = "String" ,example="5CFB108E5A9CAA78B141251BC2BD7F74",required=true)
	private String sign;
	
	@ApiModelProperty(name = "grantTime", value = "授权时间", dataType = "String" ,example="yyyy-MM-dd HH:mm:ss")
	private String grantTime;

	public PostFreePayResponse() {
	}

}
