package com.yuchen.saas.payment.api.dto;

import com.yuchen.saas.payment.api.dto.order.ApplyStoppingOrderRefundReqDTO;
import com.yuchen.saas.payment.api.entity.PmgBatParkPayMoreOrderRefund;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.List;

/**
 * @author zhouhanwei
 * @create 2023/3/23 10:09
 */
@Data
public class CreateMoreOrderRefundReqDTO extends PmgBatParkPayMoreOrderRefund {

    /**
     * 钱包id
     */
    @ApiModelProperty(name = "walletId", value = "钱包id")
    private Long walletId;

    /**
     * 钱包类型（1：个人钱包）
     */
    @ApiModelProperty(name = "walletType", value = "钱包类型（1：个人钱包, 2:渠道钱包）")
    private String walletType;
    /**
     * 申请类型(1:退款申请 2:售后申诉)
     */
    @ApiModelProperty(name = "applyType", value = "申请类型(1:退款申请 2:售后申诉)")
    private Integer applyType;
    @ApiModelProperty(name = "appealId", value = "申诉ID")
    private Long appealId;
    /**
     * 订单详情列表
     */
    private List<PayOrderDetail> payOrderDetailList;

    @Data
    public static class PayOrderDetail {

        @ApiModelProperty(name = "payNumber", value = "支付账单订单号")
        private String payNumber;

        @ApiModelProperty(name = "orderNumber", value = "账单id")
        private String orderNumber;

        @ApiModelProperty(name = "payId", value = "支付单id")
        private String payId;

        @ApiModelProperty(name = "orderCost", value = "订单实收金额")
        private Long orderCost;
        /**
         * 退款 单位 分
         */
        @ApiModelProperty(name = "refundCost", value = "退款 单位 分")
        private Long refundCost;

        @ApiModelProperty(name = "refundCostDetail", value = "退款金额明细（多费用项）")
        private List<ApplyStoppingOrderRefundReqDTO.RefundCostDetail> refundCostDetail;
    }

}
