1212use App \Model \Laboratory \GroupRelation ;
1313use App \Pool \Redis ;
1414use App \Service \Laboratory \GroupService ;
15+ use App \Service \Laboratory \MessageService ;
1516use Hyperf \DbConnection \Db ;
1617use Hyperf \Di \Annotation \Inject ;
1718use Hyperf \Task \Annotation \Task ;
@@ -308,23 +309,23 @@ function forwardMessage(array $groupInfo, array $user, string $content)
308309 $ message = [];
309310 $ message ['id ' ] = generate_rand_id ();
310311 $ message ['from_uid ' ] = $ user ['id ' ];
311- $ message ['to_group_id ' ] = $ groupInfo ['id ' ];
312+ $ message ['to_group_id ' ] = $ groupInfo ['group_id ' ];
312313 $ message ['type ' ] = GroupChatHistory::GROUP_CHAT_MESSAGE_TYPE_FORWARD ;
313314 $ message ['status ' ] = GroupChatHistory::GROUP_CHAT_MESSAGE_STATUS_SUCCEED ;
314315 $ message ['sendTime ' ] = time () * 1000 ;
315316 $ message ['content ' ] = $ content ;
316- $ message ['toContactId ' ] = $ groupInfo ['id ' ];
317+ $ message ['toContactId ' ] = $ groupInfo ['group_id ' ];
317318 $ message ['fromUser ' ] = $ user ;
318319
319320 //获取不在线用户,并添加到未读历史消息中
320- $ unOnlineUidList = GroupService::getInstance ()->getUnOnlineGroupMember ($ groupInfo ['id ' ]);
321+ $ unOnlineUidList = GroupService::getInstance ()->getUnOnlineGroupMember ($ groupInfo ['group_id ' ]);
321322 foreach ($ unOnlineUidList as $ uid ) {
322- Redis::getInstance ()->sAdd (ChatRedisKey::GROUP_CHAT_UNREAD_MESSAGE_BY_USER . $ uid , $ groupInfo ['id ' ]);
323+ Redis::getInstance ()->sAdd (ChatRedisKey::GROUP_CHAT_UNREAD_MESSAGE_BY_USER . $ uid , $ groupInfo ['group_id ' ]);
323324 }
324-
325- $ this ->sendMessage ($ groupInfo ['id ' ], $ message , GroupEvent::FORWARD_MESSAGE );
325+ $ this ->sendMessage ($ groupInfo ['group_id ' ], $ message , GroupEvent::FORWARD_MESSAGE );
326326 return true ;
327327 }
328+
328329 /**
329330 * 组消息发送
330331 * @param string $groupId
@@ -339,14 +340,15 @@ public function sendMessage(string $groupId, array $message, $event = '')
339340 $ message ['fromUser ' ]['id ' ] = 0 ;
340341 $ message ['fromUser ' ]['displayName ' ] = '系统通知 ' ;
341342 }
343+ //添加聊天记录
344+ GroupChatHistory::addMessage ($ message , 1 );
342345 $ uidFdList = GroupService::getInstance ()->getOnlineGroupMemberFd ($ groupId );
346+ if ($ message ['type ' ] == GroupChatHistory::GROUP_CHAT_MESSAGE_TYPE_FORWARD ) $ message ['content ' ] = MessageService::getInstance ()->formatForwardMessage ($ message ['content ' ], $ message ['fromUser ' ]);
343347 foreach ($ uidFdList as $ key => $ value ) {
344348 $ sendMessage ['event ' ] = $ event ;
345349 $ sendMessage ['message ' ] = $ message ;
346350 $ this ->sender ->push ((int ) $ value ['fd ' ], json_encode ($ sendMessage ));
347351 }
348- //添加聊天记录
349- GroupChatHistory::addMessage ($ message , 1 );
350352 return true ;
351353 }
352354}
0 commit comments