package cn.iocoder.yudao.module.cash.controller.admin.paymentinfo.vo;

import cn.iocoder.yudao.module.infra.api.file.dto.FileDTO;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

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

@Schema(description = "管理后台 - 付款信息 Response VO")
@Data
@ExcelIgnoreUnannotated
public class PaymentInfoRespVO {

    @Schema(description = "主键")
    // @ExcelProperty("主键")
    private Long id;

    @Schema(description = "付款编号：年月日+uuid")
    @ExcelProperty("付款编号")
    private String paymentInfoUuid;

    @Schema(description = "付款标题")
    @ExcelProperty("付款标题")
    private String paymentTitle;

    @Schema(description = "付款日期")
    @ExcelProperty("付款日期")
    private String paymentDate;

    @Schema(description = "付款金额")
    @ExcelProperty("付款金额")
    private BigDecimal paymentMoney;

    @Schema(description = "收款方信息")
    // @ExcelProperty("收款方信息")
    private String payee;

    @Schema(description = "付款事由")
    // @ExcelProperty("付款事由")
    private String reason;

    @Schema(description = "单据状态：0：已完成，1：作废")
    // @ExcelProperty("单据状态：0：已完成，1：作废")
    private String status;

    @Schema(description = "单据状态描述：0：已完成，1：作废")
    // @ExcelProperty("单据状态描述：0：已完成，1：作废")
    private String statusDesc;

    @Schema(description = "备注")
    // @ExcelProperty("备注")
    private String remarks;

    @Schema(description = "创建人id")
    // @ExcelProperty("创建人id")
    private String creator;

    @Schema(description = "创建人名称")
    @ExcelProperty("创建人")
    private String creatorName;

    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("创建时间")
    private LocalDateTime createTime;

    @Schema(description = "附件列表")
    private List<FileDTO> fileList;

    @Schema(description = "附件id列表")
    private List<Long> fileIdList;
}