added db optimization for the get master data and get billerdetails

This commit is contained in:
Lincpay Tech
2025-12-24 13:41:37 +05:30
parent 58b628bd39
commit 86b6c1f25f
19 changed files with 183 additions and 12 deletions
@@ -2,9 +2,11 @@ package com.billpaymentservice.bbps.dto;
import jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.NotBlank;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;
import lombok.ToString;
@Getter @Getter
@Setter @Setter
@ToString
public class AdditionalInfoDTO { public class AdditionalInfoDTO {
@NotBlank(message = "Param Config ID cannot be blank") @NotBlank(message = "Param Config ID cannot be blank")
private String paramConfigId; private String paramConfigId;
@@ -3,9 +3,11 @@ import java.util.List;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;
import lombok.ToString;
@Getter @Getter
@Setter @Setter
@ToString
public class AmountOptionDTO{ public class AmountOptionDTO{
private String amountOptionId; // Matches "amountOptionId" from JSON private String amountOptionId; // Matches "amountOptionId" from JSON
private List<String> amountBreakupSets; // Reference to BillerResponseParams (only ID, not full entity) private List<String> amountBreakupSets; // Reference to BillerResponseParams (only ID, not full entity)
@@ -2,9 +2,11 @@ package com.billpaymentservice.bbps.dto;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;
import lombok.ToString;
@Getter @Getter
@Setter @Setter
@ToString
public class BillerAdditonalInfoDTO { public class BillerAdditonalInfoDTO {
private String paramConfigId; private String paramConfigId;
private String paramName; private String paramName;
@@ -2,17 +2,18 @@ package com.billpaymentservice.bbps.dto;
import java.util.List; import java.util.List;
import com.billpaymentservice.bbps.entites.AdditionalInfoBillValidate;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.Size; import jakarta.validation.constraints.Size;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;
import lombok.ToString;
@Getter @Getter
@Setter @Setter
@JsonIgnoreProperties(ignoreUnknown = true) @JsonIgnoreProperties(ignoreUnknown = true)
@ToString
public class BillerDTO { public class BillerDTO {
@NotBlank(message = "Biller ID is mandatory") @NotBlank(message = "Biller ID is mandatory")
@@ -3,10 +3,12 @@ import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;
import lombok.ToString;
@Getter @Getter
@Setter @Setter
@JsonIgnoreProperties(ignoreUnknown = true) @JsonIgnoreProperties(ignoreUnknown = true)
@ToString
public class BillerPlanResponseParamsDTO { public class BillerPlanResponseParamsDTO {
private String billerPlanResponseId; private String billerPlanResponseId;
private String paramsJson; private String paramsJson;
@@ -4,9 +4,11 @@ import java.util.List;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;
import lombok.ToString;
@Getter @Getter
@Setter @Setter
@ToString
public class BillerResponseParamsDTO { public class BillerResponseParamsDTO {
private String billerResponseId; private String billerResponseId;
@@ -5,9 +5,11 @@ import jakarta.validation.constraints.Min;
import jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.NotBlank;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;
import lombok.ToString;
@Getter @Getter
@Setter @Setter
@ToString
public class CustomerParamDTO { public class CustomerParamDTO {
private String paramConfigId; private String paramConfigId;
@NotBlank(message = "Parameter name is required") @NotBlank(message = "Parameter name is required")
@@ -2,9 +2,11 @@ package com.billpaymentservice.bbps.dto;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;
import lombok.ToString;
@Setter @Setter
@Getter @Getter
@ToString
public class FaqDetailsResponse { public class FaqDetailsResponse {
private String name; private String name;
@@ -4,9 +4,11 @@ import java.util.List;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;
import lombok.ToString;
@Getter @Getter
@Setter @Setter
@ToString
public class GroupDTO { public class GroupDTO {
private String groupId; private String groupId;
@@ -6,10 +6,12 @@ import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.NotBlank;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;
import lombok.ToString;
@Getter @Getter
@Setter @Setter
@JsonIgnoreProperties(ignoreUnknown = true) @JsonIgnoreProperties(ignoreUnknown = true)
@ToString
public class InterchangeFeeConfDTO { public class InterchangeFeeConfDTO {
@NotBlank(message = "Interchange Fee Config ID cannot be blank") @NotBlank(message = "Interchange Fee Config ID cannot be blank")
private String interChangeFeeConfId; private String interChangeFeeConfId;
@@ -6,10 +6,12 @@ import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.NotBlank;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;
import lombok.ToString;
@Getter @Getter
@Setter @Setter
@JsonIgnoreProperties(ignoreUnknown = true) @JsonIgnoreProperties(ignoreUnknown = true)
@ToString
public class InterchangeFeeDTO { public class InterchangeFeeDTO {
@NotBlank(message = "Interchange Fee ID cannot be blank") @NotBlank(message = "Interchange Fee ID cannot be blank")
private String interchangeFeeId; private String interchangeFeeId;
@@ -3,9 +3,11 @@ package com.billpaymentservice.bbps.dto;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;
import lombok.ToString;
@Getter @Getter
@Setter @Setter
@ToString
public class InterchangeFeeDetailDTO { public class InterchangeFeeDetailDTO {
private String interchangeFeeDetId; private String interchangeFeeDetId;
@@ -4,9 +4,11 @@ import jakarta.validation.constraints.Min;
import jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.NotBlank;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;
import lombok.ToString;
@Getter @Getter
@Setter @Setter
@ToString
public class PaymentChannelDTO { public class PaymentChannelDTO {
private String paymentChannelLimitId; private String paymentChannelLimitId;
@@ -7,10 +7,12 @@ import jakarta.validation.constraints.Pattern;
import jakarta.validation.constraints.PositiveOrZero; import jakarta.validation.constraints.PositiveOrZero;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;
import lombok.ToString;
@Getter @Getter
@Setter @Setter
@JsonIgnoreProperties(ignoreUnknown = true) @JsonIgnoreProperties(ignoreUnknown = true)
@ToString
public class PaymentModeDTO { public class PaymentModeDTO {
@NotBlank(message = "Payment model limit ID cannot be blank") @NotBlank(message = "Payment model limit ID cannot be blank")
private String paymentModelLimitId; private String paymentModelLimitId;
@@ -9,12 +9,14 @@ import lombok.Builder;
import lombok.Getter; import lombok.Getter;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import lombok.Setter; import lombok.Setter;
import lombok.ToString;
@Getter @Getter
@Setter @Setter
@Builder @Builder
@NoArgsConstructor @NoArgsConstructor
@AllArgsConstructor @AllArgsConstructor
@ToString
public class CategoryResponse { public class CategoryResponse {
private String categoryId; private String categoryId;
@@ -0,0 +1,22 @@
package com.billpaymentservice.bbps.entites;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType;
import jakarta.persistence.Id;
import lombok.Getter;
import lombok.Setter;
@Entity(name = "bbps_category_master")
@Getter
@Setter
public class CategoryMaster extends Auditable {
@Id
private Long categoryId;
@Column(name = "category_data", columnDefinition = "TEXT")
private String categoryData;
}
@@ -0,0 +1,11 @@
package com.billpaymentservice.bbps.repository;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;
import com.billpaymentservice.bbps.entites.CategoryMaster;
@Repository
public interface CategoryMasterRepository extends JpaRepository<CategoryMaster, Long> {
}
@@ -1,5 +1,6 @@
package com.billpaymentservice.bbps.serviceImpl; package com.billpaymentservice.bbps.serviceImpl;
import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Optional; import java.util.Optional;
@@ -34,6 +35,7 @@ import com.billpaymentservice.bbps.dto.response.AmountOptionsResponse;
import com.billpaymentservice.bbps.dto.response.AuthResponses; import com.billpaymentservice.bbps.dto.response.AuthResponses;
import com.billpaymentservice.bbps.dto.response.BillerDataResponse; import com.billpaymentservice.bbps.dto.response.BillerDataResponse;
import com.billpaymentservice.bbps.dto.response.BillerResponse; import com.billpaymentservice.bbps.dto.response.BillerResponse;
import com.billpaymentservice.bbps.dto.response.CategoryResponse;
import com.billpaymentservice.bbps.dto.response.ChannelsListResponse; import com.billpaymentservice.bbps.dto.response.ChannelsListResponse;
import com.billpaymentservice.bbps.dto.response.ContactMasterResponse; import com.billpaymentservice.bbps.dto.response.ContactMasterResponse;
import com.billpaymentservice.bbps.dto.response.CustomParamResp; import com.billpaymentservice.bbps.dto.response.CustomParamResp;
@@ -45,6 +47,7 @@ import com.billpaymentservice.bbps.dto.response.TicketDispositionResponse;
import com.billpaymentservice.bbps.entites.BharatConnectMaster; import com.billpaymentservice.bbps.entites.BharatConnectMaster;
import com.billpaymentservice.bbps.entites.BillerCategoryWise; import com.billpaymentservice.bbps.entites.BillerCategoryWise;
import com.billpaymentservice.bbps.entites.BillerDetails; import com.billpaymentservice.bbps.entites.BillerDetails;
import com.billpaymentservice.bbps.entites.CategoryMaster;
import com.billpaymentservice.bbps.entites.CustomParam; import com.billpaymentservice.bbps.entites.CustomParam;
import com.billpaymentservice.bbps.entites.DispositionDetails; import com.billpaymentservice.bbps.entites.DispositionDetails;
import com.billpaymentservice.bbps.entites.InboundTraceLog; import com.billpaymentservice.bbps.entites.InboundTraceLog;
@@ -53,6 +56,8 @@ import com.billpaymentservice.bbps.entites.PlanResponses;
import com.billpaymentservice.bbps.exception.CustomException; import com.billpaymentservice.bbps.exception.CustomException;
import com.billpaymentservice.bbps.repository.BharatConnectMasterRepository; import com.billpaymentservice.bbps.repository.BharatConnectMasterRepository;
import com.billpaymentservice.bbps.repository.BillerDataRepository; import com.billpaymentservice.bbps.repository.BillerDataRepository;
import com.billpaymentservice.bbps.repository.CategoryMasterRepository;
import com.billpaymentservice.bbps.repository.ContactMasterDataRepository;
import com.billpaymentservice.bbps.repository.CustomParamRepository; import com.billpaymentservice.bbps.repository.CustomParamRepository;
import com.billpaymentservice.bbps.repository.DispositionRepository; import com.billpaymentservice.bbps.repository.DispositionRepository;
import com.billpaymentservice.bbps.repository.InboundTraceLogRepository; import com.billpaymentservice.bbps.repository.InboundTraceLogRepository;
@@ -78,6 +83,8 @@ public class MasterDataServiceImpl implements MasterDataService {
private final BharatConnectMasterRepository beneficiaryDetailsRepository; private final BharatConnectMasterRepository beneficiaryDetailsRepository;
private final BillerMapperHelper mapperHelper; private final BillerMapperHelper mapperHelper;
private MerchantRepository merchantRegisterRepo; private MerchantRepository merchantRegisterRepo;
private final ContactMasterDataRepository contactMasterDataRepository;
private HttpClientApi httpClientApi; private HttpClientApi httpClientApi;
private final DispositionRepository dispositionRepository; private final DispositionRepository dispositionRepository;
@@ -88,12 +95,13 @@ public class MasterDataServiceImpl implements MasterDataService {
private final InboundTraceLogRepository inboundTraceLogRepository; private final InboundTraceLogRepository inboundTraceLogRepository;
private final OutboundTraceLogRepository outboundTraceLogRepository; private final OutboundTraceLogRepository outboundTraceLogRepository;
private final CustomParamRepository customParamReposiotory; private final CustomParamRepository customParamReposiotory;
private final CategoryMasterRepository categoryMasterRepository;
public MasterDataServiceImpl(MerchantRepository merchantRegisterRepo, HttpService httpService, public MasterDataServiceImpl(MerchantRepository merchantRegisterRepo, HttpService httpService,
HttpClientApi httpClientApi, Helper helper, BillerDataRepository billerDataRespository, HttpClientApi httpClientApi, Helper helper, BillerDataRepository billerDataRespository,
DispositionRepository dispositionRepository, BharatConnectMasterRepository beneficiaryDetailsRepository, DispositionRepository dispositionRepository, BharatConnectMasterRepository beneficiaryDetailsRepository,
InboundTraceLogRepository inboundTraceLogRepository, OutboundTraceLogRepository outboundTraceLogRepository, InboundTraceLogRepository inboundTraceLogRepository, OutboundTraceLogRepository outboundTraceLogRepository,
BillerMapperHelper mapperHelper, CustomParamRepository customParamReposiotory) { BillerMapperHelper mapperHelper, CustomParamRepository customParamReposiotory,ContactMasterDataRepository contactMasterDataRepository,CategoryMasterRepository categoryMasterRepository) {
this.merchantRegisterRepo = merchantRegisterRepo; this.merchantRegisterRepo = merchantRegisterRepo;
this.httpService = httpService; this.httpService = httpService;
this.httpClientApi = httpClientApi; this.httpClientApi = httpClientApi;
@@ -105,6 +113,8 @@ public class MasterDataServiceImpl implements MasterDataService {
this.outboundTraceLogRepository = outboundTraceLogRepository; this.outboundTraceLogRepository = outboundTraceLogRepository;
this.mapperHelper = mapperHelper; this.mapperHelper = mapperHelper;
this.customParamReposiotory = customParamReposiotory; this.customParamReposiotory = customParamReposiotory;
this.contactMasterDataRepository=contactMasterDataRepository;
this.categoryMasterRepository=categoryMasterRepository;
this.objectMapper = new ObjectMapper(); this.objectMapper = new ObjectMapper();
this.objectMapper.setSerializationInclusion(JsonInclude.Include.NON_NULL); this.objectMapper.setSerializationInclusion(JsonInclude.Include.NON_NULL);
@@ -118,7 +128,6 @@ public class MasterDataServiceImpl implements MasterDataService {
LOGGER.info("[{}] START | reqId={} | mid={}", apiName, requestId, mid); LOGGER.info("[{}] START | reqId={} | mid={}", apiName, requestId, mid);
String txnID = helper.generateTxnId(15); String txnID = helper.generateTxnId(15);
String requestJson = helper.convertObjectToJson(masterRequest); String requestJson = helper.convertObjectToJson(masterRequest);
InboundTraceLog inboundLog = helper.createInboundLog(requestId, txnID, apiName, masterRequest.getMid(), InboundTraceLog inboundLog = helper.createInboundLog(requestId, txnID, apiName, masterRequest.getMid(),
BBPSConstant.HTTP_POST, requestJson); BBPSConstant.HTTP_POST, requestJson);
helper.validateMerchant(mid); helper.validateMerchant(mid);
@@ -137,14 +146,17 @@ public class MasterDataServiceImpl implements MasterDataService {
HttpHeaders headers = helper.buildHeaders(headersData); HttpHeaders headers = helper.buildHeaders(headersData);
Map<String, String> responseMap = httpService.getRequest(fullUrl, headers); Map<String, String> responseMap = httpService.getRequest(fullUrl, headers);
String responseData = responseMap.get(BBPSConstant.RESPONSE_DATA_KEY); String responseData = responseMap.get(BBPSConstant.RESPONSE_DATA_KEY);
helper.updateOutboundLogResponse(outboundLog, responseData); helper.updateOutboundLogResponse(outboundLog, responseData);
Map<String, Object> dataMap = objectMapper.readValue(responseData, Map<String, Object> dataMap = objectMapper.readValue(responseData,
new TypeReference<Map<String, Object>>() { new TypeReference<Map<String, Object>>() {
}); });
if (!dataMap.containsKey(BBPSConstant.RESPONSE_GENERAL_RESP)) { if (!dataMap.containsKey(BBPSConstant.RESPONSE_GENERAL_RESP)) {
if(categoryMasterRepository.findById(BBPSConstant.CATEGORY_MASTER_SEARCH_ID).isPresent()) {
CategoryMaster existingCategoryMaster = categoryMasterRepository.findById(BBPSConstant.CATEGORY_MASTER_SEARCH_ID).get();
LOGGER.info("sending category master details from database");
return buildCategoryResponseFromDB(existingCategoryMaster);
}
helper.updateInboundLogFailure(inboundLog, responseData, helper.updateInboundLogFailure(inboundLog, responseData,
String.valueOf(dataMap.get(BBPSConstant.RESPONSE_STATUS_KEY))); String.valueOf(dataMap.get(BBPSConstant.RESPONSE_STATUS_KEY)));
@@ -158,6 +170,17 @@ public class MasterDataServiceImpl implements MasterDataService {
MasterApiResponse responseWrapper = objectMapper.convertValue(dataMap, MasterApiResponse.class); MasterApiResponse responseWrapper = objectMapper.convertValue(dataMap, MasterApiResponse.class);
GeneralResp generalResp = responseWrapper.getGeneralResp(); GeneralResp generalResp = responseWrapper.getGeneralResp();
String result = objectMapper.writeValueAsString(
responseWrapper.getCategoryRespList()
);
if(!categoryMasterRepository.findById(BBPSConstant.CATEGORY_MASTER_SEARCH_ID).isPresent()) {
CategoryMaster categoryMaster= new CategoryMaster();
categoryMaster.setCategoryId(BBPSConstant.CATEGORY_MASTER_SEARCH_ID);
categoryMaster.setCategoryData(result);
categoryMasterRepository.save(categoryMaster);
}
ResponseModel responseModel = new ResponseModel(generalResp.getMessage(), generalResp.getStatus(), ResponseModel responseModel = new ResponseModel(generalResp.getMessage(), generalResp.getStatus(),
Integer.parseInt(generalResp.getStatusCode()), responseWrapper); Integer.parseInt(generalResp.getStatusCode()), responseWrapper);
@@ -165,7 +188,13 @@ public class MasterDataServiceImpl implements MasterDataService {
LOGGER.info("[{}] END | reqId={} | status={}", apiName, requestId, generalResp.getStatus()); LOGGER.info("[{}] END | reqId={} | status={}", apiName, requestId, generalResp.getStatus());
return responseModel; return responseModel;
} catch (JsonProcessingException e) { } catch (JsonProcessingException e) {
if(categoryMasterRepository.findById(BBPSConstant.CATEGORY_MASTER_SEARCH_ID).isPresent()) {
CategoryMaster existingCategoryMaster = categoryMasterRepository.findById(BBPSConstant.CATEGORY_MASTER_SEARCH_ID).get();
LOGGER.info("sending category master details from database");
return buildCategoryResponseFromDB(existingCategoryMaster);
}
LOGGER.error("Error parsing responseData JSON: {}", e.getMessage()); LOGGER.error("Error parsing responseData JSON: {}", e.getMessage());
helper.updateInboundLogFailure(inboundLog, e.getMessage(), BBPSConstant.JSON_ERROR); helper.updateInboundLogFailure(inboundLog, e.getMessage(), BBPSConstant.JSON_ERROR);
// Use user-friendly message constant and keep internal details in remarks // Use user-friendly message constant and keep internal details in remarks
@@ -229,10 +258,14 @@ public class MasterDataServiceImpl implements MasterDataService {
// Mapping to Model // Mapping to Model
BillerDataResponse responseWrapper = objectMapper.convertValue(dataMap, BillerDataResponse.class); BillerDataResponse responseWrapper = objectMapper.convertValue(dataMap, BillerDataResponse.class);
GeneralResp generalResp = responseWrapper.getGeneralResp(); GeneralResp generalResp = responseWrapper.getGeneralResp();
BillerDTO billerDto = responseWrapper.getBillerDAO(); String result = objectMapper.writeValueAsString(
responseWrapper.getBillerDAO()
);
BillerDetails billerDetails=new BillerDetails(); BillerDetails billerDetails=new BillerDetails();
billerDetails.setBillerId(billerDetailRequest.getBillerId()); billerDetails.setBillerId(billerDetailRequest.getBillerId());
billerDetails.setBillerDetailsJson(billerDto.toString()); billerDetails.setBillerDetailsJson(result);
billerDataRespository.save(billerDetails);
ResponseModel responseModel = new ResponseModel(generalResp.getMessage(), generalResp.getStatus(), ResponseModel responseModel = new ResponseModel(generalResp.getMessage(), generalResp.getStatus(),
Integer.parseInt(generalResp.getStatusCode()), responseWrapper); Integer.parseInt(generalResp.getStatusCode()), responseWrapper);
@@ -241,6 +274,16 @@ public class MasterDataServiceImpl implements MasterDataService {
return responseModel; return responseModel;
} catch (JsonProcessingException e) { } catch (JsonProcessingException e) {
Optional<BillerDetails> optional =
billerDataRespository.findByBillerId(billerId);
if (optional.isPresent()) {
LOGGER.info("sending biller details from database for the billerid:{}", billerId);
return buildBillerResponseFromDB(optional.get());
}
LOGGER.error("Error parsing responseData JSON: {}", e.getMessage()); LOGGER.error("Error parsing responseData JSON: {}", e.getMessage());
helper.updateInboundLogFailure(inboundLog, e.getMessage(), BBPSConstant.JSON_ERROR); helper.updateInboundLogFailure(inboundLog, e.getMessage(), BBPSConstant.JSON_ERROR);
// Unified constant for invalid JSON // Unified constant for invalid JSON
@@ -339,7 +382,6 @@ public class MasterDataServiceImpl implements MasterDataService {
BBPSConstant.HTTP_POST, requestJson); BBPSConstant.HTTP_POST, requestJson);
helper.validateMerchant(mid); helper.validateMerchant(mid);
try { try {
LOGGER.info("Contact Master Full URL-:" + fullUrl); LOGGER.info("Contact Master Full URL-:" + fullUrl);
OutboundTraceLog outboundLog = helper.createOutboundLog(txnID, requestId, apiName, fullUrl, OutboundTraceLog outboundLog = helper.createOutboundLog(txnID, requestId, apiName, fullUrl,
BBPSConstant.HTTP_GET, null); BBPSConstant.HTTP_GET, null);
@@ -908,4 +950,70 @@ public class MasterDataServiceImpl implements MasterDataService {
} }
} }
private ResponseModel buildCategoryResponseFromDB(CategoryMaster categoryMaster) {
try {
// DB me jo JSON string hai usko wapas object banao
List<CategoryResponse> categoryRespList =
objectMapper.readValue(
categoryMaster.getCategoryData(),
new TypeReference<List<CategoryResponse>>() {}
);
MasterApiResponse responseWrapper = new MasterApiResponse();
responseWrapper.setCategoryRespList(categoryRespList);
GeneralResp generalResp = new GeneralResp();
generalResp.setMessage("Data retrieved successfully");
generalResp.setStatus(BBPSConstant.SUCCESS_RESPONSE);
generalResp.setStatusCode(String.valueOf(BBPSConstant.HTTP_OK_INT));
responseWrapper.setGeneralResp(generalResp);
return new ResponseModel(
generalResp.getMessage(),
generalResp.getStatus(),
Integer.parseInt(generalResp.getStatusCode()),
responseWrapper
);
} catch (Exception e) {
throw new CustomException(
"Corrupted cached category master data",
BBPSConstant.FAILED_STATUS,
500,
e.getMessage()
);
}
}
private ResponseModel buildBillerResponseFromDB(BillerDetails billerDetails) {
try {
// DB me stored JSON ko wapas object banao
BillerDTO billerDAO = objectMapper.readValue(
billerDetails.getBillerDetailsJson(),
BillerDTO.class
);
Map<String, Object> data = new HashMap<>();
data.put("billerDAO", billerDAO);
return new ResponseModel(
"Biller details retrieved successfully",
BBPSConstant.SUCCESS_RESPONSE,
BBPSConstant.HTTP_OK_INT,
data
);
} catch (Exception e) {
throw new CustomException(
"Corrupted cached biller data",
BBPSConstant.FAILED_STATUS,
500,
e.getMessage()
);
}
}
} }
@@ -225,6 +225,7 @@ public class BBPSConstant extends BBPS_RESPONSE_COD_CONSTANT {
public static final String RESPONSE_TYPE_INTENT = "INTENT"; public static final String RESPONSE_TYPE_INTENT = "INTENT";
public static final String RESPONSE_TYPE_WEB = "WEB"; public static final String RESPONSE_TYPE_WEB = "WEB";
public static final String DATA_RETRIVE_DATABASE = "Data retrieved successfully"; public static final String DATA_RETRIVE_DATABASE = "Data retrieved successfully";
public static final Long CATEGORY_MASTER_SEARCH_ID = 1L;
// Newly added constant for invalid JSON status code // Newly added constant for invalid JSON status code