package cn.iocoder.yudao.module.system.controller.admin.biz.vo;

import cn.iocoder.yudao.module.system.dal.dataobject.biz.ExpensePayOrderDO;
import cn.iocoder.yudao.module.system.dal.dataobject.biz.ExpensePayOrderItemDO;
import cn.iocoder.yudao.module.system.dal.dataobject.biz.RefundSettlementOrderItemDO;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDate;
import java.util.Date;
import java.util.List;

@Schema(description = "管理后台 - 已结算退住订单详情 Response VO")
@Data
@ExcelIgnoreUnannotated
public class RefundSettledOrderDetailVO {

    @Schema(description = "退住结算单ID")
    private Long id;

    @Schema(description = "退住结算账单编号")
    private String orderNumber;

    @Schema(description = "长者姓名")
    private String elderName;

    @Schema(description = "床位名称")
    private String bedName;

    @Schema(description = "入住时间")
    private Date checkInTime;

    @Schema(description = "退住日期")
    private LocalDate retreatDate;

    @Schema(description = "费用截止日期")
    private LocalDate costDeadlineDate;

    @Schema(description = "结算时间")
    private Date settlementTime;

    @Schema(description = "结算人姓名")
    private String settlementPersonName;

    @Schema(description = "退款金额")
    private BigDecimal refundAmount;

    @Schema(description = "结算单状态,0：待结算 1：已结算")
    private Integer status;

    @Schema(description = "结算单细项列表")
    private List<RefundSettlementOrderItemDO> items;

    @Schema(description = "支付信息")
    private ExpensePayOrderDO payOrder;

    @Schema(description = "支付明细列表")
    private List<ExpensePayOrderItemDO> payItems;
}
