fix: Correction de la comparaison des utilisateurs dans Conversation - Utilisation de getId().equals() au lieu de equals() - Correction dans updateLastMessage, markAllAsReadForUser, etc.
This commit is contained in:
@@ -74,9 +74,9 @@ public class Conversation extends BaseEntity {
|
||||
this.lastMessageSender = message.getSender();
|
||||
|
||||
// Incrémenter le compteur de non-lus pour le destinataire
|
||||
if (message.getSender().equals(user1)) {
|
||||
if (message.getSender() != null && user1 != null && message.getSender().getId().equals(user1.getId())) {
|
||||
unreadCountUser2++;
|
||||
} else {
|
||||
} else if (message.getSender() != null && user2 != null && message.getSender().getId().equals(user2.getId())) {
|
||||
unreadCountUser1++;
|
||||
}
|
||||
|
||||
@@ -87,10 +87,10 @@ public class Conversation extends BaseEntity {
|
||||
* Marque tous les messages comme lus pour un utilisateur.
|
||||
*/
|
||||
public void markAllAsReadForUser(Users user) {
|
||||
if (user.equals(user1)) {
|
||||
if (user != null && user1 != null && user.getId().equals(user1.getId())) {
|
||||
unreadCountUser1 = 0;
|
||||
System.out.println("[LOG] Messages marqués comme lus pour user1 dans la conversation " + this.getId());
|
||||
} else if (user.equals(user2)) {
|
||||
} else if (user != null && user2 != null && user.getId().equals(user2.getId())) {
|
||||
unreadCountUser2 = 0;
|
||||
System.out.println("[LOG] Messages marqués comme lus pour user2 dans la conversation " + this.getId());
|
||||
}
|
||||
@@ -100,9 +100,9 @@ public class Conversation extends BaseEntity {
|
||||
* Récupère le nombre de messages non lus pour un utilisateur.
|
||||
*/
|
||||
public int getUnreadCountForUser(Users user) {
|
||||
if (user.equals(user1)) {
|
||||
if (user != null && user1 != null && user.getId().equals(user1.getId())) {
|
||||
return unreadCountUser1;
|
||||
} else if (user.equals(user2)) {
|
||||
} else if (user != null && user2 != null && user.getId().equals(user2.getId())) {
|
||||
return unreadCountUser2;
|
||||
}
|
||||
return 0;
|
||||
@@ -112,9 +112,9 @@ public class Conversation extends BaseEntity {
|
||||
* Récupère l'autre utilisateur de la conversation.
|
||||
*/
|
||||
public Users getOtherUser(Users user) {
|
||||
if (user.equals(user1)) {
|
||||
if (user != null && user1 != null && user.getId().equals(user1.getId())) {
|
||||
return user2;
|
||||
} else if (user.equals(user2)) {
|
||||
} else if (user != null && user2 != null && user.getId().equals(user2.getId())) {
|
||||
return user1;
|
||||
}
|
||||
return null;
|
||||
@@ -124,6 +124,8 @@ public class Conversation extends BaseEntity {
|
||||
* Vérifie si un utilisateur fait partie de cette conversation.
|
||||
*/
|
||||
public boolean containsUser(Users user) {
|
||||
return user.equals(user1) || user.equals(user2);
|
||||
if (user == null) return false;
|
||||
return (user1 != null && user.getId().equals(user1.getId())) ||
|
||||
(user2 != null && user.getId().equals(user2.getId()));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -45,7 +45,7 @@ public class UsersService {
|
||||
user.setProfileImageUrl(
|
||||
userCreateRequestDTO.getProfileImageUrl() != null
|
||||
? userCreateRequestDTO.getProfileImageUrl()
|
||||
: "https://via.placeholder.com/150"
|
||||
: "https://placehold.co/150x150.png"
|
||||
);
|
||||
user.setRole(
|
||||
userCreateRequestDTO.getRole() != null
|
||||
|
||||
Reference in New Issue
Block a user