package com.billpaymentservice.bbps.dto.request; import com.billpaymentservice.bbps.dto.DeviceDetail; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonProperty; import jakarta.validation.constraints.NotBlank; import lombok.AllArgsConstructor; import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; import lombok.ToString; @Getter @Setter @AllArgsConstructor @NoArgsConstructor @ToString @JsonIgnoreProperties(ignoreUnknown = true) public abstract class BaseClass { @JsonProperty(access = JsonProperty.Access.WRITE_ONLY) @NotBlank(message = "MID cannot be null or blank") private String mid; @JsonProperty(access = JsonProperty.Access.WRITE_ONLY) @NotBlank(message = "Secret key cannot be null or blank") private String secretKey; @JsonProperty(access = JsonProperty.Access.WRITE_ONLY) @NotBlank(message = "Request ID cannot be null or blank") private String reqId; @JsonProperty(access = JsonProperty.Access.WRITE_ONLY) private DeviceDetail deviceDetial; // ✅ 10 User Defined Fields (UDF1–UDF10) @JsonProperty(access = JsonProperty.Access.WRITE_ONLY) private String udf1; @JsonProperty(access = JsonProperty.Access.WRITE_ONLY) private String udf2; @JsonProperty(access = JsonProperty.Access.WRITE_ONLY) private String udf3; @JsonProperty(access = JsonProperty.Access.WRITE_ONLY) private String udf4; @JsonProperty(access = JsonProperty.Access.WRITE_ONLY) private String udf5; @JsonProperty(access = JsonProperty.Access.WRITE_ONLY) private String udf6; @JsonProperty(access = JsonProperty.Access.WRITE_ONLY) private String udf7; @JsonProperty(access = JsonProperty.Access.WRITE_ONLY) private String udf8; @JsonProperty(access = JsonProperty.Access.WRITE_ONLY) private String udf9; @JsonProperty(access = JsonProperty.Access.WRITE_ONLY) private String udf10; }