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

import com.fasterxml.jackson.annotation.JsonFormat;
import com.neusoft.smart.pos.framework.bean.PaginationExtendBean;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;


@ApiModel
@Data
public class GetOrderDetailListResponse {


	@ApiModelProperty(name = "orderAmount", value = "总金额（元）", dataType = "BigDecimal" ,example="198.22")
	public BigDecimal totalAmount = new BigDecimal(0);

	@ApiModelProperty(name = "paginationExtendBean", value = "订单列表分页数据", dataType = "PaginationExtendBean")
	public PaginationExtendBean<OrderDetail> paginationExtendBean;

	@Data
	@ApiModel
	public static class OrderDetail{
		@ApiModelProperty(name = "orgId", value = "集团ID", dataType = "Integer" ,example="1")
		public Integer orgId;

		@ApiModelProperty(name = "shopId", value = "门店ID", dataType = "Integer" ,example="1")
		public Integer shopId;

		@ApiModelProperty(name = "shopName", value = "门店名称", dataType = "String" ,example="门店1")
		public String shopName = "";

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

		@ApiModelProperty(name = "deviceName", value = "设备名称", dataType = "String" ,example="设备名称")
		public String deviceName = "";

		@ApiModelProperty(name = "createdBy", value = "创建名称", dataType = "String" ,example="张三")
		public String createdBy = "";

		@ApiModelProperty(name = "orderAmount", value = "账单金额（元）", dataType = "BigDecimal" ,example="198.22")
		public BigDecimal orderAmount;

		@ApiModelProperty(name = "realPayAmount", value = "订单实付金额（元）", dataType = "BigDecimal" ,example="0.00")
		public BigDecimal realPayAmount;

		@ApiModelProperty(name = "payAmount", value = "订单应付金额（元）", dataType = "BigDecimal" ,example="0.00")
		public BigDecimal payAmount;

		@ApiModelProperty(name = "discountAmount", value = "订单优惠金额（元）", dataType = "BigDecimal" ,example="0.00")
		public BigDecimal discountAmount;

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

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

		@ApiModelProperty(name = "orderStatus", value = "订单状态(@1:待付款@2:已付款@3:退款中@4:已退款@5:订单取消)", dataType = "String" ,example="代付款")
		public String orderStatus;

		@ApiModelProperty(name = "orderStatusName", value = "订单状态(@1:待付款@2:已付款@3:退款中@4:已退款@5:订单取消)", dataType = "String" ,example="代付款")
		public String orderStatusName;

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

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

		@ApiModelProperty(name = "orderSubType", value = "订单子类型@common_consume_order 常规订单类型，不含配送等 @req_delivery_order 需要配送的订单", dataType = "String" ,example="common_consume_order")
		public String orderSubType = "";

		@ApiModelProperty(name = "createdAt", value = "创建时间", dataType = "String" ,example="2018-05-26 18:55:45")
		@JsonFormat(timezone = "GMT+8")
		public String createdAt;

	}

}
