diff --git a/server/imserver/player.cc b/server/imserver/player.cc index 49f9cfe..ebc578c 100644 --- a/server/imserver/player.cc +++ b/server/imserver/player.cc @@ -1068,6 +1068,10 @@ void Player::RecalcRedPoint() { Player* hum = PlayerMgr::Instance()->GetPlayerByAccountId(param.sender.GetString()); if (hum) { + if (data_set && data_set->size() > 0) { + a8::SetBitFlag(hum->red_point_flags_, RPF_Apply); + hum->SyncRedPoint(); + } } }; auto on_error = @@ -1079,10 +1083,8 @@ void Player::RecalcRedPoint() DBEngine::Instance()->ExecAsyncQuery ( conn_info, - "SELECT idx, applyid, target_id, sender_id, sender_nickname, " - " sender_avatar_url, sender_sex, sender_data_version1, " - " sender_user_value1, sender_user_value2, sender_user_value3, status " - "FROM friend_apply WHERE idx > %d AND target_id='%s' AND status=0;", + "SELECT idx, applyid " + "FROM friend_apply WHERE idx > %d AND target_id='%s' AND status=0 LIMIT 1;", { last_apply_idx_, myself.base_data.account_id