package com.hepl.tunefortwo.dto;

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

import org.springframework.web.multipart.MultipartFile;

import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonInclude.Include;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.hepl.tunefortwo.config.jackson.ForceStringDeserializer;
import com.hepl.tunefortwo.entity.PaymentTransaction;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;

@Setter
@Getter
@Builder
@JsonInclude(value = Include.NON_NULL)
public class PaymentOrderDto {
	
	private String id;
    private String orderId; // Add this field to group payments by order
    private String formId;
    private String userName;
    private BigDecimal  amountCharged;
    private BigDecimal  amountDue;
    private BigDecimal  amountPaid;
    private String paymentMethod;
    private String currency;
    private int orderAttempts;
    private LocalDateTime createdAt;
    private String status;// Can be "netbanking", "upi", or "card"
    private int countOfMatchingPayments;
    private List<PaymentTransactionDto> payments; // List of payment details for this order

    // Total amount paid across all payments
    private BigDecimal totalAmountPaid;
    private String tokenId; // Fo

}
