diff --git a/BackendFolder/SwitchRoom/src/main/java/vt/CS5934/SwitchRoom/controllers/InteractiveController.java b/BackendFolder/SwitchRoom/src/main/java/vt/CS5934/SwitchRoom/controllers/InteractiveController.java index b0addc22c5955c6864a1a88a1c50517b824f8f8a..69cdebbb0350f335eddcdfdf807d0cd98f69d068 100644 --- a/BackendFolder/SwitchRoom/src/main/java/vt/CS5934/SwitchRoom/controllers/InteractiveController.java +++ b/BackendFolder/SwitchRoom/src/main/java/vt/CS5934/SwitchRoom/controllers/InteractiveController.java @@ -136,11 +136,13 @@ public class InteractiveController { if("offer".equals(newData.get("see").toString())) { MatchedWishlistRecordModel history = matchedWishlistRecordService.getHistoryFromDB(Long.parseLong(newData.get("offerId").toString()), Long.parseLong(newData.get("wishlistId").toString())); history.setOfferResult(LookupTables.MATCHING_RECORD_USER_RESULT.Declined); - matchedWishlistRecordService.updateToDB(history); + MatchedWishlistRecordModel record = matchedWishlistRecordService.updateToDB(history); + matchedWishlistRecordService.hostReject(record); } else { MatchedWishlistRecordModel history = matchedWishlistRecordService.getHistoryFromDB(Long.parseLong(newData.get("offerId").toString()), Long.parseLong(newData.get("wishlistId").toString())); history.setWishlistResult(LookupTables.MATCHING_RECORD_USER_RESULT.Declined); - matchedWishlistRecordService.updateToDB(history); + MatchedWishlistRecordModel record = matchedWishlistRecordService.updateToDB(history); + matchedWishlistRecordService.visitorReject(record); } } else { if(result.getPhone1() == null) { @@ -155,11 +157,13 @@ public class InteractiveController { if("offer".equals(newData.get("see").toString())) { MatchedWishlistRecordModel history = matchedWishlistRecordService.getHistoryFromDB(Long.parseLong(newData.get("offerId").toString()), Long.parseLong(newData.get("wishlistId").toString())); history.setOfferResult(LookupTables.MATCHING_RECORD_USER_RESULT.Declined); - matchedWishlistRecordService.updateToDB(history); + MatchedWishlistRecordModel record = matchedWishlistRecordService.updateToDB(history); + matchedWishlistRecordService.hostReject(record); } else { MatchedWishlistRecordModel history = matchedWishlistRecordService.getHistoryFromDB(Long.parseLong(newData.get("offerId").toString()), Long.parseLong(newData.get("wishlistId").toString())); history.setWishlistResult(LookupTables.MATCHING_RECORD_USER_RESULT.Declined); - matchedWishlistRecordService.updateToDB(history); + MatchedWishlistRecordModel record = matchedWishlistRecordService.updateToDB(history); + matchedWishlistRecordService.visitorReject(record); } } response.setMessage("Saved successfully"); diff --git a/BackendFolder/SwitchRoom/src/main/java/vt/CS5934/SwitchRoom/jobs/OfferWishlistMatchingJob.java b/BackendFolder/SwitchRoom/src/main/java/vt/CS5934/SwitchRoom/jobs/OfferWishlistMatchingJob.java index 0f0817230b9ac07bdee1aa4bd50a88dce7604a31..8ab9f420740ee20d2071ec3824759a5aa2476497 100644 --- a/BackendFolder/SwitchRoom/src/main/java/vt/CS5934/SwitchRoom/jobs/OfferWishlistMatchingJob.java +++ b/BackendFolder/SwitchRoom/src/main/java/vt/CS5934/SwitchRoom/jobs/OfferWishlistMatchingJob.java @@ -285,8 +285,8 @@ public class OfferWishlistMatchingJob { List<MatchedWishlistRecordModel> matchedRecordList = offerList.parallelStream() .filter(offer-> isWithin(wishlistItem.getStartTime(),wishlistItem.getEndTime(), offer.getStartTime(),offer.getEndTime()) && checkAgreedOfferTime(offer, wishlistItem)) - .map(offer -> new MatchedWishlistRecordModel(wishlistItem.getWishlistItemId(), - offer.getOfferId(), LookupTables.MATCHING_RECORD_USER_RESULT.Waiting, + .map(offer -> new MatchedWishlistRecordModel(offer.getOfferId(), + wishlistItem.getWishlistItemId(), LookupTables.MATCHING_RECORD_USER_RESULT.Waiting, LookupTables.MATCHING_RECORD_USER_RESULT.Waiting, wishlistItem.getStartTime(), wishlistItem.getEndTime())) .toList(); diff --git a/BackendFolder/SwitchRoom/src/main/java/vt/CS5934/SwitchRoom/services/MatchedWishlistRecordService.java b/BackendFolder/SwitchRoom/src/main/java/vt/CS5934/SwitchRoom/services/MatchedWishlistRecordService.java index 583ad5195ecb7d47b5ebf6c43748e33f24c3cd1d..63c5974f48a0f77a71994404debe6745c134428d 100644 --- a/BackendFolder/SwitchRoom/src/main/java/vt/CS5934/SwitchRoom/services/MatchedWishlistRecordService.java +++ b/BackendFolder/SwitchRoom/src/main/java/vt/CS5934/SwitchRoom/services/MatchedWishlistRecordService.java @@ -58,7 +58,11 @@ public class MatchedWishlistRecordService { } public MatchedWishlistRecordModel updateToDB(MatchedWishlistRecordModel updateData) { - matchedWishlistRecordRepository.save(updateData); + updateData = matchedWishlistRecordRepository.save(updateData); + if(updateData.getOfferResult() == LookupTables.MATCHING_RECORD_USER_RESULT.Accepted && + updateData.getWishlistResult() == LookupTables.MATCHING_RECORD_USER_RESULT.Accepted){ + visitorAccepted(updateData); + } return updateData; } @@ -76,9 +80,9 @@ public class MatchedWishlistRecordService { } } - public void hostReject(Long offerId, Long wishlistId){ - MatchedWishlistRecordModel record = matchedWishlistRecordRepository - .findByOfferIdAndWishlistItemId(offerId, wishlistId); + public void hostReject(MatchedWishlistRecordModel record){ + Long wishlistId = record.getWishlistItemId(); + Long offerId = record.getOfferId(); if(record != null){ record.setOfferResult(LookupTables.MATCHING_RECORD_USER_RESULT.Declined); if(record.getAgreedRecordId() != null){ @@ -93,9 +97,9 @@ public class MatchedWishlistRecordService { } } - public void visitorReject(Long offerId, Long wishlistId){ - MatchedWishlistRecordModel record = matchedWishlistRecordRepository - .findByOfferIdAndWishlistItemId(offerId, wishlistId); + public void visitorReject(MatchedWishlistRecordModel record){ + Long wishlistId = record.getWishlistItemId(); + Long offerId = record.getOfferId(); if(record != null){ record.setWishlistResult(LookupTables.MATCHING_RECORD_USER_RESULT.Declined); if(record.getAgreedRecordId() != null){ @@ -110,9 +114,9 @@ public class MatchedWishlistRecordService { } } - public void visitorAccepted(Long offerId, Long wishlistId){ - MatchedWishlistRecordModel record = matchedWishlistRecordRepository - .findByOfferIdAndWishlistItemId(offerId, wishlistId); + public void visitorAccepted(MatchedWishlistRecordModel record){ + Long offerId = record.getOfferId(); + Long wishlistId = record.getWishlistItemId(); if(record != null){ record.setWishlistResult(LookupTables.MATCHING_RECORD_USER_RESULT.Accepted); UserOfferModel offerModel = userOfferRepository.findByUserId(offerId);