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