From a42a6e7a9237644812b659a9c41d18e3d5138c04 Mon Sep 17 00:00:00 2001 From: Frank Zhang <fz2907@vt.edu> Date: Sun, 27 Nov 2022 00:14:52 -0500 Subject: [PATCH] Fixed a match bug --- .../controllers/InteractiveController.java | 12 ++++++---- .../jobs/OfferWishlistMatchingJob.java | 4 ++-- .../MatchedWishlistRecordService.java | 24 +++++++++++-------- 3 files changed, 24 insertions(+), 16 deletions(-) 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 b0addc22..69cdebbb 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 0f081723..8ab9f420 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 583ad519..63c5974f 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); -- GitLab