package com.zm.order.tool.server.dto;

import com.alibaba.fastjson.JSON;

import java.util.List;
import java.util.Map;

/**
 * @Description 退款单创建DTO
 * @Author: ph
 * @Date: 2019/11/4 11:18
 */
public class RefundCreateDTO extends RefundOperateDTO {

    /**
     * 用户id
     */
    private Long userId;

    /**
     * 来源单号
     */
    private String sourceNo;

    /**
     * 订单号
     */
    private String orderNo;

    /**
     * 退款类型
     */
    private Integer refundType;

    /**
     * 退款级别
     */
    private Integer refundLevel;

    /**
     * 退款金额
     */
    private Integer refundAmount;

    /**
     * 退的三方的钱
     */
    private Integer amount;

    /**
     * 退余额的钱
     */
    private Integer walletAmount;


    /**
     * 退款详情
     */
    private String refundAmountDetails;

    /**
     * 申请人
     */
    private Long applicant;

    /**
     * 申请原因
     */
    private String applyReason;

    /**
     * 图片
     */
    private String images;

    /**
     * 退款扩展信息
     */
    private Map<String, Object> extraMap;

    /**
     * 退款单行
     */
    private List<RefundItemCreateDTO> refundItemList;

    public Integer getAmount() {
        return amount;
    }

    public void setAmount(Integer amount) {
        this.amount = amount;
    }

    public Integer getWalletAmount() {
        return walletAmount;
    }

    public void setWalletAmount(Integer walletAmount) {
        this.walletAmount = walletAmount;
    }

    public Long getUserId() {
        return userId;
    }

    public void setUserId(Long userId) {
        this.userId = userId;
    }

    public String getSourceNo() {
        return sourceNo;
    }

    public void setSourceNo(String sourceNo) {
        this.sourceNo = sourceNo;
    }

    public String getOrderNo() {
        return orderNo;
    }

    public void setOrderNo(String orderNo) {
        this.orderNo = orderNo;
    }

    public Integer getRefundType() {
        return refundType;
    }

    public void setRefundType(Integer refundType) {
        this.refundType = refundType;
    }

    public Integer getRefundLevel() {
        return refundLevel;
    }

    public void setRefundLevel(Integer refundLevel) {
        this.refundLevel = refundLevel;
    }

    public Integer getRefundAmount() {
        return refundAmount;
    }

    public void setRefundAmount(Integer refundAmount) {
        this.refundAmount = refundAmount;
    }

    public String getRefundAmountDetails() {
        return refundAmountDetails;
    }

    public void setRefundAmountDetails(String refundAmountDetails) {
        this.refundAmountDetails = refundAmountDetails;
    }

    public Long getApplicant() {
        return applicant;
    }

    public void setApplicant(Long applicant) {
        this.applicant = applicant;
    }

    public String getApplyReason() {
        return applyReason;
    }

    public void setApplyReason(String applyReason) {
        this.applyReason = applyReason;
    }

    public String getImages() {
        return images;
    }

    public void setImages(String images) {
        this.images = images;
    }

    public Map<String, Object> getExtraMap() {
        return extraMap;
    }

    public void setExtraMap(Map<String, Object> extraMap) {
        this.extraMap = extraMap;
    }

    public List<RefundItemCreateDTO> getRefundItemList() {
        return refundItemList;
    }

    public void setRefundItemList(List<RefundItemCreateDTO> refundItemList) {
        this.refundItemList = refundItemList;
    }

    @Override
    public String toString() {
        return JSON.toJSONString(this);
    }
}
