All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.simpay.payment.client.criteria.MoneyRequestCriteria Maven / Gradle / Ivy

There is a newer version: 1.0.15
Show newest version
package com.simpay.payment.client.criteria;

import com.simpay.payment.client.enums.MoneyRequestStatus;
import com.simpay.transaction.client.enums.Currency;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.UUID;
import lombok.*;
import org.springframework.format.annotation.DateTimeFormat;

@Getter
@Setter
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Schema(description = "Money request criteria Model")
public class MoneyRequestCriteria {

  @Schema(description = "Money request reference")
  private String reference;

  @Schema(description = "Money request amount")
  private BigDecimal amount;

  @Schema(description = "Money request paid amount")
  private BigDecimal paidAmount;

  @Schema(description = "beneficiary name")
  @NotNull(message = "The beneficiary name is required")
  private String beneficiaryName;

  @Schema(description = "beneficiary account number")
  @NotNull(message = "The beneficiary account number is required")
  private String beneficiaryAccountNumber;

  @Schema(description = "borrower name")
  @NotNull(message = "The borrower name is required")
  private String borrowerName;

  @Schema(description = "borrower account number")
  @NotNull(message = "The borrower account number is required")
  private String borrowerAccountNumber;

  @Schema(description = "Money request date")
  @DateTimeFormat(pattern = "yyyy-MM-dd'T'HH:mm:ss.SSS Z")
  private LocalDateTime requestFirstDate;

  @Schema(description = "Money request seconde plage de date")
  @DateTimeFormat(pattern = "yyyy-MM-dd'T'HH:mm:ss.SSS Z")
  private LocalDateTime requestSecondDate;

  @Schema(description = "Money request status")
  private MoneyRequestStatus requestStatus;

  @Schema(description = "Money request currency", example = "XAF")
  private Currency beneficiaryCurrency;

  @Schema(description = "User reference")
  @NotNull(message = "The user reference is required")
  private UUID userReference;

  @Schema(description = "Request reason")
  private String requestReason;

  @Schema(description = "Borrower reject reason")
  private String borrowerRejectReason;

  @Schema(description = "Search value")
  private String searchValue;
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy