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

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

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;

/**
 * @author zcf
 * @date 2018-03-05 09：52
 * @description 商户门店交易统计查询使用Response
 */
@ApiModel
@Data
public class GetPayChannelSummaryResponse {

	@ApiModelProperty(name = "payChannels", value = "支付渠道金额明细", dataType = "List")
	public List<PayChannel> payChannels = new ArrayList<>();

	@Data
	@ApiModel
	public static class PayChannel{
		@ApiModelProperty(name = "payType", value = "支付方式编号", dataType = "String" ,example="1")
		public String payType;

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

		@ApiModelProperty(name = "payAmount", value = "消费金额（元）", dataType = "BigDecimal" ,example="198.22")
		public BigDecimal payAmount = BigDecimal.ZERO;

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

		@ApiModelProperty(name = "payCount", value = "消费笔数", dataType = "Integer" ,example="98")
		public Integer payCount = 0;

		@ApiModelProperty(name = "refundAmount", value = "退款金额（元）", dataType = "BigDecimal" ,example="198.22")
		public BigDecimal refundAmount = BigDecimal.valueOf(0);

		@ApiModelProperty(name = "refundCount", value = "退款笔数", dataType = "Integer" ,example="98")
		public Integer refundCount = 0;

		@ApiModelProperty(name = "amount", value = "实收金额", dataType = "BigDecimal" ,example="198.22")
		public BigDecimal amount = BigDecimal.valueOf(0);
	}
}
