This commit is contained in:
Mohd-Arham
2025-11-04 09:53:52 +05:30
parent 89a131fa84
commit 3de3f8f60c
19 changed files with 537 additions and 134 deletions
@@ -0,0 +1,20 @@
package com.billpaymentservice.bbps.dto;
import java.util.List;
import java.util.UUID;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
public class AdditionalInfo {
private UUID planAdditionalInfoId;
private List<PlanTag> tags;
}
@@ -0,0 +1,17 @@
package com.billpaymentservice.bbps.dto;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
public class BillerIconDTO {
private String icon_data; // Base64 or image data
private String icon_type;
}
@@ -21,5 +21,6 @@ public class MasterCategoryBillerResponse {
private String planMDMRequirement;
private String adhocBiller;
private String paymentAmountExactness;
private BillerIconDTO biller_icon;
}
@@ -0,0 +1,27 @@
package com.billpaymentservice.bbps.dto;
import java.util.List;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
public class PlanDTO {
private String planId;
private String description;
private String billerId;
private String categoryType;
private List<String> categorySubType; // comes as empty array []
private String amountInRupees; // numeric but mapped as String for safety
private String effctvFrom;
private String effctvTo;
private String status;
private AdditionalInfo additionalInfo;
}
@@ -0,0 +1,20 @@
package com.billpaymentservice.bbps.dto;
import java.util.UUID;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
public class PlanTag {
private UUID tagId;
private String name;
private String value;
}
@@ -0,0 +1,18 @@
package com.billpaymentservice.bbps.dto;
import java.util.List;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
public class PlansListDTO {
private List<PlanDTO> plans;
}
@@ -18,11 +18,11 @@ import lombok.ToString;
@ToString
public class FetchBillRequest extends BaseClass {
private String tenantId; // M
// private String tenantId; // M
private String billerId; // M
private String billerName; //M
private String digiledgeKey; // M
private String agentId; // M
// private String digiledgeKey; // M
// private String agentId; // M
private String billerCategory; // M
private String clientReqId; // C
private String macAdress; // C
@@ -0,0 +1,33 @@
package com.billpaymentservice.bbps.dto.request;
import jakarta.validation.constraints.NotBlank;
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
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;
// ✅ Optional pagination parameters
private Integer page;
private Integer pagesize;
}
@@ -0,0 +1,27 @@
package com.billpaymentservice.bbps.dto.response;
import com.billpaymentservice.bbps.dto.GeneralResp;
import com.billpaymentservice.bbps.dto.PlansListDTO;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
public class PlanResponse {
private PlansListDTO plansList; // contains "plans"
@JsonProperty(access = JsonProperty.Access.WRITE_ONLY)
private GeneralResp generalResp; // status/message block
private int pageNo;
private int pageSize;
private long totalElements;
private int totalPages;
}