public void updateOneLiveUserRecordMapByQuitLiveRoom(long userId, long moveId) {
if (allOnlineCarsRealRecordsMap.containsKey(moveId)) {
CarRealRecord carRealRecord = allOnlineCarsRealRecordsMap.get(moveId);
if (allLiveUserRecordsMap.containsKey(moveId)){
Map<Long,List> liveUserRecordMap = allLiveUserRecordsMap.get(moveId);
if (liveUserRecordMap.containsKey(userId)){
List liveUserRecordList = liveUserRecordMap.get(userId);
LiveUserRecord latestRecord = null;
for (LiveUserRecord lu : liveUserRecordList) {
if (latestRecord == null || lu.getTime().after(latestRecord.getTime())) {
latestRecord = lu;
}
}
if (latestRecord != null && Objects.equals(latestRecord.getCarRealRecordId(), carRealRecord.getCarRealRecordId()) && latestRecord.getStartDatetime() != null && latestRecord.getEndDatetime() == null){
latestRecord.setEndDatetime(new Date());
long totalTime = (new Date().getTime() - latestRecord.getStartDatetime().getTime()) / (60 * 1000);
latestRecord.setTotalTime((int) totalTime);
latestRecord.setTime(new Date());
}
}
}
}
}