From f3a85ea51f7a61b9e818dd07e1d6232977543e58 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Thu, 17 Sep 2020 16:09:21 +0800 Subject: [PATCH] 1 --- server/imserver/guild.cc | 75 +++++++++++++++++++++++----------------- 1 file changed, 44 insertions(+), 31 deletions(-) diff --git a/server/imserver/guild.cc b/server/imserver/guild.cc index a3850a4..05f0df6 100644 --- a/server/imserver/guild.cc +++ b/server/imserver/guild.cc @@ -163,10 +163,16 @@ void Guild::FillGuildDB(ss::MFGuildDB& guild_dto) void Guild::SaveToDB() { - ss::MFGuildDB guild_db; - FillGuildDB(guild_db); std::string guild_data; - guild_db.SerializeToString(&guild_data); + std::string guild_log; + { + ss::MFGuildDB guild_db; + FillGuildDB(guild_db); + guild_db.SerializeToString(&guild_data); + } + { + logdb_->SerializeToString(&guild_log); + } auto on_ok = [] (a8::XParams& param, const f8::DataSet* data_set) @@ -180,32 +186,39 @@ void Guild::SaveToDB() }; a8::XObject conn_info = DBEngine::Instance()->GetConnInfo(guild_id); - DBEngine::Instance()-> - ExecAsyncScript( - conn_info, - "INSERT `guild`(guild_id, guild_name, owner_id, creator_id, guild_data " - " createtime, modifytime) " - "VALUES(%d, '%s', %d, %d, '%s', %d, %d) " - "ON DUPLICATE KEY UPDATE guild_name='%s', owner_id=%d, creator_id=%d, " - " guild_data='%s', modifytime=%d;", - { - guild_id, - guild_name, - owner_id, - creator_id, - guild_data, - App::Instance()->nowtime, - App::Instance()->nowtime, - - guild_name, - owner_id, - creator_id, - guild_data, - App::Instance()->nowtime - }, - a8::XParams(), - on_ok, - on_error, - guild_id - ); + DBEngine::Instance()->ExecAsyncScript + ( + conn_info, + "UPDATE `guild` SET guild_name='%s', guild_lv=%d, guild_exp=%d, guild_badge=%d, " + " guild_apply_num=%d, guild_members='%s', guild_notice='%s', guild_declaration='%s', " + " guild_log='%s', owner_id='%s', owner_name='%s', owner_avatar_url='%s', " + " creator_id='%s', creator_name='%s', creator_avatar_url='%s', guild_data='%s', guild_status='%d', " + " modifytime=%d " + "WHERE guild_id=%d;", + { + guild_name, + guild_lv, + guild_exp, + guild_badge, + guild_apply_num, + "", + guild_notice, + guild_declaration, + guild_log, + owner_id, + owner_name, + owner_avatar_url, + creator_id, + creator_name, + creator_avatar_url, + guild_data, + guild_status, + App::Instance()->nowtime, + guild_id + }, + a8::XParams(), + on_ok, + on_error, + guild_id + ); }