Skip to content

Commit

Permalink
Merge pull request #95 from FinalDoubleTen/develop
Browse files Browse the repository at this point in the history
Develop
  • Loading branch information
Kim-Dong-Jun99 authored Jan 18, 2024
2 parents a9438ec + 7f967b9 commit 05d1033
Show file tree
Hide file tree
Showing 2 changed files with 46 additions and 13 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
import org.tenten.tentenstomp.global.component.dto.response.TripPathCalculationResult;

import java.time.LocalDate;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
Expand All @@ -39,17 +40,33 @@ public TripMemberMsg getTripMemberMsg(Long tripId, Map<String, HashSet<Long>> tr
}
HashSet<Long> connectedMember = tripConnectedMemberMap.getOrDefault(Long.toString(tripId), new HashSet<>());
Trip trip = tripRepository.getReferenceById(tripId);
TripMemberMsg tripMemberMsg = new TripMemberMsg(
tripId,
memberRepository.findTripMemberInfoByTripId(tripId).stream().map(
tm -> new TripMemberInfoMsg(tm.memberId(), tm.name(), tm.thumbnailUrl(), connectedMember.contains(tm.memberId()))
).toList(),
trip.getNumberOfPeople()
);
List<TripMemberInfoMsg> tripMembers = memberRepository.findTripMemberInfoByTripId(tripId).stream().map(
tm -> new TripMemberInfoMsg(tm.memberId(), tm.name(), tm.thumbnailUrl(), connectedMember.contains(tm.memberId()))
).toList();
TripMemberMsg tripMemberMsg = sortTripMemberMsg(Long.toString(tripId), tripMembers, trip);
redisCache.save(MEMBER, Long.toString(tripId), tripMemberMsg);
return tripMemberMsg;
}

private static TripMemberMsg sortTripMemberMsg(String tripId, List<TripMemberInfoMsg> tripMembers, Trip trip) {
List<TripMemberInfoMsg> tripMemberInfoMsgs = new ArrayList<>();
for (TripMemberInfoMsg tripMemberMsg : tripMembers) {
if (tripMemberMsg.connected()) {
tripMemberInfoMsgs.add(tripMemberMsg);
}
}
for (TripMemberInfoMsg tripMemberMsg : tripMembers) {
if (!tripMemberMsg.connected()) {
tripMemberInfoMsgs.add(tripMemberMsg);
}
}
return new TripMemberMsg(
Long.parseLong(tripId),
tripMemberInfoMsgs,
trip.getNumberOfPeople()
);
}

@Transactional(readOnly = true)
public TripBudgetMsg getTripBudgetMsg(Trip trip) {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,15 +50,31 @@ public void connectMember(String tripId, MemberConnectMsg memberConnectMsg) {
Optional<TripMemberInfo> tripMemberInfoByMemberId = memberRepository.findTripMemberInfoByMemberId(memberConnectMsg.memberId());
tripMemberInfoByMemberId.ifPresent(tripMemberInfoMsg -> connectedMember.add(tripMemberInfoByMemberId.get().memberId()));

TripMemberMsg tripMemberMsg = new TripMemberMsg(
List<TripMemberInfoMsg> tripMembers = memberRepository.findTripMemberInfoByTripId(Long.parseLong(tripId)).stream().map(
tm -> new TripMemberInfoMsg(tm.memberId(), tm.name(), tm.thumbnailUrl(), connectedMember.contains(tm.memberId()))
).toList();
TripMemberMsg tripMemberMsg = sortTripMemberMsg(tripId, tripMembers, trip);
tripConnectedMemberMap.put(tripId, connectedMember);
kafkaProducer.sendAndSaveToRedis(tripMemberMsg);
}

private static TripMemberMsg sortTripMemberMsg(String tripId, List<TripMemberInfoMsg> tripMembers, Trip trip) {
List<TripMemberInfoMsg> tripMemberInfoMsgs = new ArrayList<>();
for (TripMemberInfoMsg tripMemberMsg : tripMembers) {
if (tripMemberMsg.connected()) {
tripMemberInfoMsgs.add(tripMemberMsg);
}
}
for (TripMemberInfoMsg tripMemberMsg : tripMembers) {
if (!tripMemberMsg.connected()) {
tripMemberInfoMsgs.add(tripMemberMsg);
}
}
return new TripMemberMsg(
Long.parseLong(tripId),
memberRepository.findTripMemberInfoByTripId(Long.parseLong(tripId)).stream().map(
tm -> new TripMemberInfoMsg(tm.memberId(), tm.name(), tm.thumbnailUrl(), connectedMember.contains(tm.memberId()))
).toList(),
tripMemberInfoMsgs,
trip.getNumberOfPeople()
);
tripConnectedMemberMap.put(tripId, connectedMember);
kafkaProducer.sendAndSaveToRedis(tripMemberMsg);
}

@Transactional
Expand Down

0 comments on commit 05d1033

Please sign in to comment.