| @Override
|
| public LoyaltyByWizardRS getLoyaltyByWizard(LoyaltyByWizardRQ request) throws IOException, ServiceException {
|
| LoyaltyByWizardRS response = new LoyaltyByWizardRS();
|
| NamLoyaltyDetails namLoyaltyDetails = new NamLoyaltyDetails();
|
| EmeaLoyaltyDetails emeaLoyaltyDetails = new EmeaLoyaltyDetails();
|
| ResponseContext responseContext = new ResponseContext();
|
| if (request != null) {
|
| responseContext.setCorrelationIdentifier(request.getRequestContext().getCorrelationIdentifier());
|
| responseContext.setResponseTime(Instant.now().toString());
|
| responseContext.setStatus(SUCCESS_STATUS);
|
| responseContext.setIpAddress(request.getRequestContext().getIpAddress());
|
| responseContext.setDeviceType(request.getRequestContext().getDeviceType());
|
|
|
| }
|
| responseContext.setBrandCode("AVIS");
|
|
|
| Errors errors = new Errors();
|
| errors.setErrorCode(CUS_LOY);
|
| errors.setErrorMessage(INVALID_WIZARD);
|
| responseContext.setErrors(Collections.singletonList(errors));
|
|
|
| response.setResponseContext(responseContext);
|
|
|
| // set nam loyalty details
|
| namLoyaltyDetails.setPoints("200");
|
| namLoyaltyDetails.setTierSpend("500");
|
| namLoyaltyDetails.setTierRentals("10");
|
| namLoyaltyDetails.setTotalSpend("1500");
|
| namLoyaltyDetails.setTotalRentals("25");
|
| namLoyaltyDetails.setTierName("Gold");
|
| namLoyaltyDetails.setStatus(STATUS.ACTIVE);
|
| namLoyaltyDetails.setRentalAmountToPromote(0);
|
| namLoyaltyDetails.setRentalCountToPromote(0);
|
| namLoyaltyDetails.setNextTierName(PLATINUM);
|
| namLoyaltyDetails.setRentalAmountPercentage(0);
|
| namLoyaltyDetails.setRentalCountPercentage(0);
|
| namLoyaltyDetails.setNextFreeDaYAwayPoints("1000");
|
| response.setNamLoyaltyDetails(namLoyaltyDetails);
|
|
|
| // set emea details
|
| emeaLoyaltyDetails.setSurName("Doe");
|
| emeaLoyaltyDetails.setFirstName("John");
|
| emeaLoyaltyDetails.setEmailAddress("john.doe@example.com");
|
| emeaLoyaltyDetails.setTierName("Gold");
|
| emeaLoyaltyDetails.setRentalsinCurrentYear("5");
|
| emeaLoyaltyDetails.setSpendInCurrentYear("1000");
|
| emeaLoyaltyDetails.setRentalsToMaintainTier("3");
|
| emeaLoyaltyDetails.setSpendToMaintainTier("500");
|
| emeaLoyaltyDetails.setInvitedLongTerm("Yes");
|
| emeaLoyaltyDetails.setInvitedOneYear("No");
|
| emeaLoyaltyDetails.setUpgradeTierName(PLATINUM);
|
| emeaLoyaltyDetails.setMembershipYearEndDate("2025-12-31");
|
| emeaLoyaltyDetails.setWizardNumber("WZ123456");
|
| emeaLoyaltyDetails.setCurrentTierExpiryDate("2025-06-30");
|
| emeaLoyaltyDetails.setCustomerUpgradedInCurrentYear("Yes");
|
|
|
| response.setEmeaLoyaltyDetails(emeaLoyaltyDetails);
|
|
|
| Status status = new Status();
|
|
|
| Success success = new Success(); // set success
|
| success.setCode("200");
|
| success.setDetails(MEMBER_DATA);
|
| success.setMessage("OK");
|
| status.setSuccess(Collections.singletonList(success));
|
|
|
| Warnings warnings = new Warnings();
|
| warnings.setCode(WARNING_CODE);
|
| warnings.setDetails(CRITICAL_ISSUE);
|
| warnings.setMessage(PROCESSED_WITH_CONSIDERATIONS);
|
| status.setWarnings(Collections.singletonList(warnings));
|
|
|
| response.setStatus(Collections.singletonList(status));
|
|
|
| return response;
|
| }
|