package com.jeesharp.business.modules.finance.merchantsettlement.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.jeesharp.framework.mybatis.core.dataobject.BaseEntity;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 商户结算打款记录实体，映射表 {@code biz_merchant_settlement_payout}。
 *
 * @author jeesharp
 * @since 2026-06-29
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("biz_merchant_settlement_payout")
@Schema(description = "商户结算打款记录")
public class MerchantSettlementPayout extends BaseEntity<MerchantSettlementPayout> {

    @Schema(description = "结算单ID")
    private String settlementBillId;

    @Schema(description = "结算单号")
    private String settlementNo;

    @Schema(description = "打款流水号")
    private String payoutNo;

    @Schema(description = "打款金额")
    private BigDecimal payoutAmount;

    @Schema(description = "打款方式")
    private String payoutMethod;

    @Schema(description = "打款时间")
    private LocalDateTime payoutTime;

    @Schema(description = "操作人ID")
    private String operatorId;

    @Schema(description = "操作人姓名")
    private String operatorName;

    @Schema(description = "打款凭证URL")
    private String voucherUrl;

    @Schema(description = "状态：SUCCESS / FAILED")
    private String status;
}
