package com.billpaymentservice.bbps.dto.request; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import jakarta.validation.constraints.Min; import jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.NotNull; import lombok.AllArgsConstructor; import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; /** * DTO for fetching plan list from /masters/plans endpoint. */ @Getter @Setter @AllArgsConstructor @NoArgsConstructor @JsonIgnoreProperties(ignoreUnknown = true) public class PlanRequest extends BaseClass { // ✅ Mandatory: 14-character alphanumeric @NotBlank(message = "billerId is mandatory") private String billerId; // ✅ Conditional (optional) private String category; private String amountInRupees; private String circle; private Integer page = 0; @NotNull(message = "pageEnd is required") @Min(value = 1, message = "pageEnd must be greater than 0") private Integer pagesize; }