package com.seer.teach.pay.admin.financial.controller.response;

import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

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

/**
 * 财务对账响应参数
 */
@Data
@Schema(description = "财务对账响应参数")
public class AdminPayFinancialReconciliationResp {
    
    @Schema(description = "对账ID")
    private Long id;
    
    @Schema(description = "对账单号")
    private String reconciliationNo;
    
    @Schema(description = "对账类型：1-佣金对账，2-提现对账，3-全量对账")
    private Integer reconciliationType;
    
    @Schema(description = "对账周期")
    private String reconciliationCycle;
    
    @Schema(description = "对账开始时间")
    private LocalDateTime startTime;
    
    @Schema(description = "对账结束时间")
    private LocalDateTime endTime;
    
    @Schema(description = "对账状态：0-待对账，1-对账中，2-对账完成，3-对账差异")
    private Integer reconciliationStatus;
    
    @Schema(description = "对账人ID")
    private Long reconciliationUserId;
    
    @Schema(description = "对账完成时间")
    private LocalDateTime reconciliationTime;
    
    @Schema(description = "平台记录总金额")
    private BigDecimal totalPlatformAmount;
    
    @Schema(description = "第三方记录总金额")
    private BigDecimal totalThirdAmount;
    
    @Schema(description = "差异金额")
    private BigDecimal differenceAmount;
    
    @Schema(description = "差异说明")
    private String differenceRemark;
    
    @Schema(description = "删除标识")
    private Integer deleted;
    
    @Schema(description = "创建时间")
    private LocalDateTime createTime;
    
    @Schema(description = "更新时间")
    private LocalDateTime updateTime;
    
    @Schema(description = "创建人")
    private String createBy;
    
    @Schema(description = "更新人")
    private String updateBy;
    
    @Schema(description = "租户ID")
    private String tenantId;
}