package com.tashow.cloud.pay.controller.admin.refund.vo;

// 移除Swagger相关导入
import lombok.Data;

import java.time.LocalDateTime;

/**
* 退款订单 Base VO，提供给添加、修改、详细的子 VO 使用
* 如果子 VO 存在差异的字段，请不要添加到这里，影响 Swagger 文档生成
*/
@Data
public class PayRefundBaseVO {

    // 外部退款号 - 必填 - 示例: 110
    private String no;

    // 应用编号 - 必填 - 示例: 1024
    private Long appId;

    // 渠道编号 - 必填 - 示例: 2048
    private Long channelId;

    // 渠道编码 - 必填 - 示例: wx_app
    private String channelCode;

    // 订单编号 - 必填 - 示例: 1024
    private Long orderId;

    // ========== 商户相关字段 ==========

    // 商户订单编号 - 必填 - 示例: 225
    private String merchantOrderId;

    // 商户退款订单号 - 必填 - 示例: 512
    private String merchantRefundId;

    // 异步通知地址 - 必填
    private String notifyUrl;

    // ========== 退款相关字段 ==========

    // 退款状态 - 必填 - 示例: 0
    private Integer status;

    // 支付金额 - 必填 - 示例: 100
    private Long payPrice;

    // 退款金额,单位分 - 必填 - 示例: 200
    private Long refundPrice;

    // 退款原因 - 必填 - 示例: 我要退了
    private String reason;

    // 用户 IP - 必填 - 示例: 127.0.0.1
    private String userIp;

    // ========== 渠道相关字段 ==========

    // 渠道订单号 - 必填 - 示例: 233
    private String channelOrderNo;

    // 渠道退款单号 - 示例: 2022
    private String channelRefundNo;

    // 退款成功时间
    private LocalDateTime successTime;

    // 调用渠道的错误码
    private String channelErrorCode;

    // 调用渠道的错误提示
    private String channelErrorMsg;

    // 支付渠道的额外参数
    private String channelNotifyData;

}
