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

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

import java.math.BigDecimal;
import java.util.Date;

/**
 * @author zcf
 * @date 2018-04-08 10：43
 * @description 订单查询使用Response
 */
@ApiModel
@Data
@NoArgsConstructor
public class GetOrderResponse {

	@ApiModelProperty(name = "id", value = "主键", dataType = "Integer" ,example="2")
	private Integer id;

	@ApiModelProperty(name = "orderNumber", value = "订单编号", dataType = "String" ,example="820841382841")
	private String orderNumber;

	@ApiModelProperty(name = "orgId", value = "组织机构Id", dataType = "Integer" ,example="122")
	private Integer orgId;

	@ApiModelProperty(name = "shopId", value = "门店Id", dataType = "Integer" ,example="122")
	private Integer shopId;

	@ApiModelProperty(name = "serialNo", value = "设备序列号", dataType = "String" ,example="NSPSA110GW174920069")
	private String serialNo;

	@ApiModelProperty(name = "customerNumber", value = "操作员编号", dataType = "String" ,example="12251212")
	private String customerNumber;

	@ApiModelProperty(name = "seqNo", value = "订单序号(每日0点重置)", dataType = "Integer" ,example="1")
	private Integer seqNo;

	@ApiModelProperty(name = "memberCardNo", value = "会员卡号", dataType = "String" ,example="1")
	private String memberCardNo;

    @ApiModelProperty(name = "cardNum", value = "会员卡编号(印刷,沈阳食堂使用)", dataType = "String", example = "201601212215")
    public String cardNum = "";

	@ApiModelProperty(name = "orderAmount", value = "订单应付金额(实付金额+折扣金额)", dataType = "Double" ,example="1")
	private BigDecimal orderAmount;

	@ApiModelProperty(name = "realPayAmount", value = "订单实付金额", dataType = "Double" ,example="1")
	private BigDecimal realPayAmount;

	@ApiModelProperty(name = "discountAmount", value = "折扣金额", dataType = "Double" ,example="1")
	private BigDecimal discountAmount;

	@ApiModelProperty(name = "payType", value = "付款方式编号@1:微信支付@2:支付宝支付@3:银行卡支付@4:微信转账@:5支付宝转账@6:现金支付@7:会员卡支付@8:当面资金授权支付@9:银联二维码支付", dataType = "String" ,example="1")
	private String payType;

	@ApiModelProperty(name = "payTypeName", value = "付款方式名称", dataType = "String" ,example="微信支付")
	private String payTypeName;

	@ApiModelProperty(name = "paidTime", value = "支付完成时间", dataType = "Date" ,example="")
	private Date paidTime;

	@ApiModelProperty(name = "orderStatus", value = "订单状态", dataType = "String" ,example="1")
	private String orderStatus;

	@ApiModelProperty(name = "orderType", value = "订单类型@1正常订单@2POS端补录订单@3会员卡充值订单@4微信点餐订单", dataType = "String" ,example="1")
	private String orderType;

	@ApiModelProperty(name = "locationNo", value = "位置编号(如桌号等)", dataType = "String" ,example="1")
	private String locationNo;

	@ApiModelProperty(name = "payStatus", value = "订单支付状态", dataType = "String" ,example="2")
	private String payStatus;

	@ApiModelProperty(name = "couponNo", value = "优惠券编号", dataType = "String" ,example="2")
	private String couponNo;

	@ApiModelProperty(name = "timeExpire", value = "订单失效时间", dataType = "Date" ,example="2")
	private Date timeExpire;

	@ApiModelProperty(name = "score", value = "订单获赠积分", dataType = "Integer" ,example="2")
	private Integer score;

	@ApiModelProperty(name = "version", value = "版本号(乐观锁)", dataType = "Integer" ,example="2")
	private Integer version;

	@ApiModelProperty(name = "refundNumber", value = "退款编号", dataType = "String" ,example="2")
	private String refundNumber;

	private Date createdAt;

	private String createdBy;

	private String updatedBy;

	private Date updatedAt;


}
