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

import com.alibaba.fastjson.JSON;
import io.swagger.annotations.ApiModelProperty;

import java.io.Serializable;
import java.util.Date;
import java.util.Map;

/**
 * @author zhuxiaofeng
 * @Description
 * @Date 2021/8/12 8:47
 */
public class BusinessAddPayDetailsRequest implements Serializable {

    @ApiModelProperty(value = "订单号")
    private String orderNo;

    @ApiModelProperty(value = "用户id")
    private Long userId;

    @ApiModelProperty(value = "商家id", example = "10556", required = true)
    private Long sellerId;

    @ApiModelProperty(value = "门店id", example = "102", required = true)
    private Long storeId;

    @ApiModelProperty(value = "支付类型", example = "1")
    private Integer payType;

    @ApiModelProperty(value = "付款金额", example = "1")
    private Integer amount;

    @ApiModelProperty(value = "支付单号", example = "9527")
    private String payNo;

    @ApiModelProperty(value = "第三方支付单号", example = "9527")
    private String thirdPayNo;

    @ApiModelProperty(value = "扩展字段", example = "9527")
    private String features;

    @ApiModelProperty(value = "支付时间", example = "1609430400000")
    private Date payAt;

    @ApiModelProperty(value = "扩展信息", example = "1609430400000")
    private Map<String, Object> extraMap;

    @ApiModelProperty(value = "支付状态：0 待确认; 10 成功;20 失败; 30 冲正成功;", example = "1")
    private Integer status;

    /**
     * 单个支付方式下，商家实际承担的平台抽成成本 单位：分
     */
    private Integer commissionAmount;

    /**
     * 单个支付方式下，商家实际承担的平台抽成成本 单位：分
     */
    private Integer incomeAmount;

    public Integer getIncomeAmount() {
        return incomeAmount;
    }

    public void setIncomeAmount(Integer incomeAmount) {
        this.incomeAmount = incomeAmount;
    }

    public Integer getCommissionAmount() {
        return commissionAmount;
    }

    public void setCommissionAmount(Integer commissionAmount) {
        this.commissionAmount = commissionAmount;
    }

    public String getFeatures() {
        return features;
    }

    public void setFeatures(String features) {
        this.features = features;
    }

    public String getOrderNo() {
        return orderNo;
    }

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

    public Long getUserId() {
        return userId;
    }

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

    public Long getSellerId() {
        return sellerId;
    }

    public void setSellerId(Long sellerId) {
        this.sellerId = sellerId;
    }

    public Long getStoreId() {
        return storeId;
    }

    public void setStoreId(Long storeId) {
        this.storeId = storeId;
    }

    public Integer getPayType() {
        return payType;
    }

    public void setPayType(Integer payType) {
        this.payType = payType;
    }

    public Integer getAmount() {
        return amount;
    }

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

    public String getPayNo() {
        return payNo;
    }

    public void setPayNo(String payNo) {
        this.payNo = payNo;
    }

    public String getThirdPayNo() {
        return thirdPayNo;
    }

    public void setThirdPayNo(String thirdPayNo) {
        this.thirdPayNo = thirdPayNo;
    }

    public Date getPayAt() {
        return payAt;
    }

    public void setPayAt(Date payAt) {
        this.payAt = payAt;
    }

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

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

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

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