package com.ghy.system.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import com.ghy.common.annotation.Excel;
import com.ghy.common.core.domain.BaseEntity;

/**
 * 支付流水对象 adapy_payment
 *
 * @author clunt
 * @date 2023-05-31
 */
@Data
public class AdapyPayment extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 支付流水 */
    private String paymentId;

    /** 分公司id */
    @Excel(name = "分公司id")
    private Long deptId;

    /** 支付状态: 01.初始 02.进行中 03.结束 */
    @Excel(name = "支付状态: 01.初始 02.进行中 03.结束")
    private String payStatus;

    /** 处理中 pedding 成功successed  失败 failed */
    @Excel(name = "处理中 pedding 成功successed  失败 failed")
    private String status;

    /** 付款总额 */
    @Excel(name = "付款总额")
    private BigDecimal payAmt;

    /** 优惠金额 */
    @Excel(name = "优惠金额")
    private BigDecimal discountAmt;

    /** 手续费 */
    @Excel(name = "手续费")
    private BigDecimal feeAmt;

    /** 已分账金额 */
    @Excel(name = "已分账金额")
    private BigDecimal confirmAmt;

    /** 退款金额 */
    @Excel(name = "退款金额")
    private BigDecimal reservedAmt;

    /** 退款金额 */
    @Excel(name = "退款金额")
    private BigDecimal refundAmt;

    /** 剩余金额 */
    @Excel(name = "剩余金额")
    private BigDecimal balanceAmt;

    /** 订单号 1.master_ 主单 2.com_ 合并支付 3.add_加价支付 4.balance_ 充值 */
    @Excel(name = "订单号 1.master_ 主单 2.com_ 合并支付 3.add_加价支付 4.balance_ 充值")
    private String orderNo;

    /** 生产 true 测试 false */
    @Excel(name = "生产 true 测试 false")
    private String prodMode;

    /** 应用id */
    @Excel(name = "应用id")
    private String appId;

    /** 微信唯一流水 */
    @Excel(name = "微信唯一流水")
    private String openId;

    /** 支付宝唯一id */
    @Excel(name = "支付宝唯一id")
    private String buyerId;

    /** 支付渠道 */
    @Excel(name = "支付渠道")
    private String payChannel;

    /** 第三方支付流水 */
    @Excel(name = "第三方支付流水")
    private String partyOrderId;

    /** 支付结果查询接口 */
    @Excel(name = "支付结果查询接口")
    private String queryUrl;

    /** 付款时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "付款时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date payTime;

}