diff --git a/services/distributeddataservice/app/src/session_manager/route_head_handler_impl.cpp b/services/distributeddataservice/app/src/session_manager/route_head_handler_impl.cpp index bcce7f808625bd1fcd5cd7eebc24680adedb523f..037bf5b42df06ea9629de8a6b743c8e54e34b395 100644 --- a/services/distributeddataservice/app/src/session_manager/route_head_handler_impl.cpp +++ b/services/distributeddataservice/app/src/session_manager/route_head_handler_impl.cpp @@ -84,6 +84,16 @@ void RouteHeadHandlerImpl::Init() session_.sourceUserId, Anonymous::Change(session_.targetDeviceId).c_str()); } +std::string RouteHeadHandlerImpl::GetTargetUserId() +{ + if (!session_.IsValid()) { + ZLOGE("session has no valid user to peer device, targetDeviceId:%{public}s", + Anonymous::Change(session_.targetDeviceId).c_str()); + return ""; + } + return std::to_string(session_.targetUserIds[0]); +} + DistributedDB::DBStatus RouteHeadHandlerImpl::GetHeadDataSize(uint32_t &headSize) { ZLOGD("begin"); @@ -328,7 +338,7 @@ bool RouteHeadHandlerImpl::ParseHeadDataUser(const uint8_t *data, uint32_t total for (const auto &item : session_.targetUserIds) { local.userId = item; if (SessionManager::GetInstance().CheckSession(local, peer, accountFlag)) { - UserInfo userInfo = { .receiveUser = std::to_string(item) }; + UserInfo userInfo = { .receiveUser = std::to_string(item), .sendUser = std::to_string(peer.userId) }; userInfos.emplace_back(userInfo); } } diff --git a/services/distributeddataservice/app/src/session_manager/route_head_handler_impl.h b/services/distributeddataservice/app/src/session_manager/route_head_handler_impl.h index bd3ff4261929bb97747f397b2aa94ad51f5f82b5..793c94f3515c56123cb200d5cf9bff3cc52aa793 100644 --- a/services/distributeddataservice/app/src/session_manager/route_head_handler_impl.h +++ b/services/distributeddataservice/app/src/session_manager/route_head_handler_impl.h @@ -74,6 +74,7 @@ public: bool ParseHeadDataLen(const uint8_t *data, uint32_t totalLen, uint32_t &headSize) override; bool ParseHeadDataUser(const uint8_t *data, uint32_t totalLen, const std::string &label, std::vector &userInfos) override; + std::string GetTargetUserId() override; private: void Init();