|
@@ -13,10 +13,8 @@ import com.sikey.wa04.business.infrastructure.dto.request.messaging.HistoryUnrea
|
|
|
import com.sikey.wa04.business.infrastructure.dto.response.messaging.HistoryMessageSessionResponse;
|
|
|
import com.sikey.wa04.business.infrastructure.dto.response.messaging.HistoryUnreadMessageResponse;
|
|
|
import com.sikey.wa04.business.infrastructure.repository.ContactRepository;
|
|
|
-import com.sikey.wa04.common.enums.ContactRole;
|
|
|
import com.sikey.wa04.common.enums.GroupMemberRole;
|
|
|
import com.sikey.wa04.common.enums.UserType;
|
|
|
-import com.sikey.wa04.common.exception.errors.Errors;
|
|
|
import com.sikey.wa04.common.interceptor.CurrentRequestUser;
|
|
|
import com.sikey.wa04.common.utils.ObjectMapperUtil;
|
|
|
import jakarta.annotation.Resource;
|
|
@@ -24,10 +22,7 @@ import jakarta.transaction.Transactional;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
-import java.util.ArrayList;
|
|
|
-import java.util.Comparator;
|
|
|
-import java.util.List;
|
|
|
-import java.util.Map;
|
|
|
+import java.util.*;
|
|
|
|
|
|
@Slf4j
|
|
|
@Service
|
|
@@ -178,13 +173,15 @@ public class HistoryMessageService {
|
|
|
* @throws Exception error
|
|
|
*/
|
|
|
private HistoryMessageSessionResponse.Session loadGroupSession(UserId userId, Child child) throws Exception {
|
|
|
-
|
|
|
+ log.info("[加载群聊会话]入参:用户id:{},儿童:{}", userId, child);
|
|
|
// Query child contacts
|
|
|
List<ContactModel> contacts = contactRepository.findByChildId(child.getId());
|
|
|
+ log.info("[加载群聊会话]联系人:{}", contacts);
|
|
|
|
|
|
// Query group
|
|
|
Group group = groupAdapter.findByChildId(new ChildId(child.getId()));
|
|
|
group.setMembers(groupMemberAdapter.findMembers(group.getId()));
|
|
|
+ log.info("[加载群聊会话]群组:{}", group);
|
|
|
|
|
|
HistoryMessageSessionResponse.Session groupSession = new HistoryMessageSessionResponse.Session()
|
|
|
.setIsGroup(true)
|
|
@@ -217,12 +214,15 @@ public class HistoryMessageService {
|
|
|
sessionMember.setAvatar(child.getAvatar());
|
|
|
} else {
|
|
|
// Find oneself in contacts
|
|
|
- ContactModel oneself = contacts.stream()
|
|
|
+ Optional<ContactModel> oneself = contacts.stream()
|
|
|
.filter(ct -> ct.getRefId().equals(groupMember.getRefId()))
|
|
|
- .findFirst()
|
|
|
- .orElseThrow();
|
|
|
- sessionMember.setName(oneself.getRemarkName());
|
|
|
- sessionMember.setAvatar(oneself.getRemarkAvatar());
|
|
|
+ .findFirst();
|
|
|
+ if (oneself.isPresent()) {
|
|
|
+ ContactModel contactModel = oneself.get();
|
|
|
+ sessionMember.setName(contactModel.getRemarkName());
|
|
|
+ sessionMember.setAvatar(contactModel.getRemarkAvatar());
|
|
|
+ }
|
|
|
+
|
|
|
}
|
|
|
|
|
|
groupMembers.add(sessionMember);
|