package com.billpaymentservice.bbps.dto; import java.util.List; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonProperty; import jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.NotNull; import lombok.Getter; import lombok.Setter; @Getter @Setter @JsonIgnoreProperties(ignoreUnknown = true) public class TransactionDTO { @JsonProperty("txnId") @NotBlank private String bankTxnId; @NotBlank private String refId; private String txnNpciId; private String paymentRefId; private String remitterName; @NotBlank private String orderId; @NotBlank private String billId; @NotBlank private String userType; @NotBlank private String userId; @NotNull private Double txnAmount; @NotNull private Double totalTxnAmount; @NotBlank private String billerId; @NotBlank private String billerCategory; @NotBlank private String billerName; private String clientReqId; private String offUsPay; private String splitPay; private String quickPay; private String paymentMode; private String agentPaymentInformation; private Double custConvFee; private String currency; private String status; private String requestedIp; private String customerMobNo; private String macAddress; private Double splitPayAmount; private Double couCustConvFee; private Boolean settlementVerification; private String fundTxnType; private String reason; private String amountTags; private String customerParamsDAOS; private String paymentInformation; private List deviceBlockTags; private List customerParamsDAO; private String planId; private String planType; // ✅ Date fields as String (for JSON compatibility) @JsonProperty("creationDate") private String creationDateBank; @JsonProperty("modifiedDate") private String modifiedDateBank; @JsonProperty("createdEpochDate") private Long createdEpochDateBank; @JsonProperty("modifiedEpochDate") private Long modifiedEpochDateBank; }