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

import cn.iocoder.yudao.module.system.dal.dataobject.biz.*;
import com.fasterxml.jackson.annotation.JsonAlias;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;

import java.util.*;
import java.math.BigDecimal;

@Schema(description = "管理后台 - 账单缴费信息新增/修改 Request VO")
@Data
public class ExpensePayOrderSaveReqVO {

    @Schema(description = "支付金额")
    private BigDecimal payAmount;

    @Schema(description = "医保金额")
    private BigDecimal insuranceAmount;

    @Schema(description = "优惠金额")
    private BigDecimal discountAmount;

    @Schema(description = "账单ID")
    private Long expenseOrderId;

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

    @Schema(description = "缴费备注")
    private String remarks;

    @Schema(description = "缴费凭证")
    private String paymentVoucher;

    @Schema(description = "缴费时间")
    private Date payTime;

    @Schema(description = "发票号")
    private String invoiceNumber;

    @Schema(description = "支付方式列表")
    private List<ExpensePayOrderItemDO> items;

    @Schema(description = "账单收费项列表")
    private List<ExpenseOrderItemDO> expenseOrderItems;

    @Schema(description = "账单列表")
    private List<ExpenseOrderDO>  orders;

    @Schema(description = "费用项列表")
    private List<RefundSettlementOrderItemDO> refundSettlementOrderItems;
    // 用于接收收据号
    @Schema(description = "押金记录列表")
    @JsonAlias("depositList")
    private List<DepositRecordVO> depositRecordVOList;
}