/** * Controller class to handle requests related to Loyalty Details by Wizard Number. */ @PostMapping("/mock/LoyaltyDetailsByWizardNumber") public LoyaltyByWizardRS getloyaltyByWizardRS(@RequestBody LoyaltyByWizardRQ loyaltyByWizardRQ) throws ServiceException, IOException { LoyaltyByWizardRS loyaltyByWizardRS = null; try { if (loyaltyByWizardRQ != null) { log.info("Inside loyaltyByWizardRS method"); validateLoyaltyByWizardRQForError(loyaltyByWizardRQ); log.info("Request validation passed - getLoyaltyByWizardRS"); loyaltyByWizardRS = this.loyaltyServiceClient.getLoyaltyByWizard(loyaltyByWizardRQ); } } catch (Exception e) { e.printStackTrace(); } return loyaltyByWizardRS; } /** * Validates the request for LoyaltyByWizard to check for errors. * * @param loyaltyByWizardRQ The request object containing loyalty details. * @throws ServiceException if validation fails due to incorrect or missing data. */ private void validateLoyaltyByWizardRQForError(LoyaltyByWizardRQ loyaltyByWizardRQ) throws ServiceException { if (loyaltyByWizardRQ != null) { int errorCode = LoyaltyUtil.validateUIDAndWizardNumberForWizard( loyaltyByWizardRQ.getCustomerLoyaltyIdentifierForLoyaltybyWizard()); if (errorCode > 0) { if (errorCode == 1104001 || errorCode == 1104002 || errorCode == 1104003) { errorCode = 110400; } String errorMessage = ResourceBundleUtil.getMessage(String.valueOf(errorCode), null); log.error("Request Validation Failed - validateLoyaltyByWizardRQForError"); throw new ServiceException(Integer.toString(errorCode), errorMessage, "0L"); } } } /** * Retrieves loyalty details based on the provided wizard number. * * @param request The request object containing loyalty lookup details. * @return LoyaltyByWizardRS The response object containing loyalty details. * @throws IOException If an I/O exception occurs. * @throws ServiceException If an error occurs in service processing. */ @Override public LoyaltyByWizardRS getLoyaltyByWizard(LoyaltyByWizardRQ request) throws IOException, ServiceException { LoyaltyByWizardRS response = new LoyaltyByWizardRS(); NamLoyaltyDetails namLoyaltyDetails = new NamLoyaltyDetails(); EmeaLoyaltyDetails emeaLoyaltyDetails = new EmeaLoyaltyDetails();