1
This commit is contained in:
parent
3af8b04c82
commit
3b39d9ff80
@ -1,12 +1,14 @@
|
||||
#include "precompile.h"
|
||||
|
||||
#include <a8/timer.h>
|
||||
#include <a8/openssl.h>
|
||||
|
||||
#include "asynctaskmgr.h"
|
||||
#include "app.h"
|
||||
#include "player.h"
|
||||
#include "playermgr.h"
|
||||
#include "dbhelper.h"
|
||||
#include "dbengine.h"
|
||||
|
||||
#include "cs_proto.pb.h"
|
||||
#include "ss_proto.pb.h"
|
||||
@ -116,6 +118,13 @@ struct RecommandFriendTask
|
||||
}
|
||||
};
|
||||
|
||||
struct CreateGuildTask
|
||||
{
|
||||
long long seqid = 0;
|
||||
ss::MFIMMsgConext context;
|
||||
cs::CMGuildCreate msg;
|
||||
};
|
||||
|
||||
void AsyncTaskMgr::Init()
|
||||
{
|
||||
|
||||
@ -193,6 +202,33 @@ void AsyncTaskMgr::CreateRecommandFriendTask(Player* hum)
|
||||
);
|
||||
}
|
||||
|
||||
void AsyncTaskMgr::CreateNewGuildTask(const ss::MFIMMsgConext& context, const cs::CMGuildCreate& msg)
|
||||
{
|
||||
CreateGuildTask* task = new CreateGuildTask();
|
||||
{
|
||||
task->seqid = App::Instance()->NewSeqId();
|
||||
task->context = context;
|
||||
task->msg = msg;
|
||||
}
|
||||
std::string guild_id = a8::XValue(context.user_info().base_data().guild_id()).GetString();
|
||||
long long crc32_code = a8::openssl::Crc32(
|
||||
(unsigned char*)guild_id.data(),
|
||||
guild_id.size()
|
||||
);
|
||||
a8::XObject conn_info = DBEngine::Instance()->GetConnInfo(crc32_code);
|
||||
DBEngine::Instance()->ExecAsyncScript
|
||||
(
|
||||
conn_info,
|
||||
"UPDATE `friend_apply` SET status=%d WHERE target_id='%s' AND sender_id='%s';",
|
||||
{
|
||||
},
|
||||
a8::XParams(),
|
||||
nullptr,
|
||||
nullptr,
|
||||
crc32_code
|
||||
);
|
||||
}
|
||||
|
||||
void AsyncTaskMgr::_SS_IM_PushUserOnlineState(f8::MsgHdr& hdr, const ss::SS_IM_PushUserOnlineState& msg)
|
||||
{
|
||||
QueryUserStatusTask* task = GetQueryUserStatusTask(msg.context().seqid());
|
||||
|
@ -1,13 +1,20 @@
|
||||
#pragma once
|
||||
|
||||
namespace cs
|
||||
{
|
||||
class CMGuildCreate;
|
||||
}
|
||||
|
||||
namespace ss
|
||||
{
|
||||
class MFIMMsgConext;
|
||||
class SS_IM_PushUserOnlineState;
|
||||
class SS_IM_RandomUsersResponse;
|
||||
}
|
||||
|
||||
struct QueryUserStatusTask;
|
||||
struct RecommandFriendTask;
|
||||
struct CreateGuildTask;
|
||||
struct AsyncTaskContext;
|
||||
class Player;
|
||||
class AsyncTaskMgr : public a8::Singleton<AsyncTaskMgr>
|
||||
@ -22,6 +29,7 @@ public:
|
||||
|
||||
void CreateQueryUserStatusTask(Player* hum, std::vector<std::string>& account_ids);
|
||||
void CreateRecommandFriendTask(Player* hum);
|
||||
void CreateNewGuildTask(const ss::MFIMMsgConext& context, const cs::CMGuildCreate& msg);
|
||||
|
||||
void _SS_IM_PushUserOnlineState(f8::MsgHdr& hdr, const ss::SS_IM_PushUserOnlineState& msg);
|
||||
void _SS_IM_RandomUsersResponse(f8::MsgHdr& hdr, const ss::SS_IM_RandomUsersResponse& msg);
|
||||
@ -36,4 +44,5 @@ private:
|
||||
private:
|
||||
std::map<long long, QueryUserStatusTask*> query_user_status_tasks_;
|
||||
std::map<long long, RecommandFriendTask*> recommand_friend_tasks_;
|
||||
std::map<long long, CreateGuildTask*> create_guild_tasks_;
|
||||
};
|
||||
|
@ -6,6 +6,7 @@
|
||||
#include "cs_proto.pb.h"
|
||||
#include "ss_proto.pb.h"
|
||||
#include "MSConnMgr.h"
|
||||
#include "asynctaskmgr.h"
|
||||
|
||||
void GuildMgr::Init()
|
||||
{
|
||||
@ -93,6 +94,7 @@ void GuildMgr::_CMGuildCreate(const ss::MFIMMsgConext& context, const cs::CMGuil
|
||||
ForwardGuildSMMsg(context, respmsg);
|
||||
return;
|
||||
}
|
||||
AsyncTaskMgr::Instance()->CreateNewGuildTask(context, msg);
|
||||
}
|
||||
|
||||
void GuildMgr::_CMGuildJoin(const ss::MFIMMsgConext& context, const cs::CMGuildJoin& msg)
|
||||
|
@ -88,10 +88,18 @@ DROP TABLE IF EXISTS `guild`;
|
||||
/*!40101 SET character_set_client = utf8 */;
|
||||
CREATE TABLE `guild` (
|
||||
`idx` bigint NOT NULL AUTO_INCREMENT COMMENT '自增id',
|
||||
`guild_id` bigint NOT NULL COMMENT 'guild_id',
|
||||
`guild_name` tinyblob COMMENT 'guild_name',
|
||||
`owner_id` varchar(60) CHARACTER SET utf8 NOT NULL COMMENT '公会主',
|
||||
`creator_id` varchar(60) CHARACTER SET utf8 NOT NULL COMMENT '公会创建者',
|
||||
`guild_id` bigint NOT NULL COMMENT '公会id',
|
||||
`guild_name` tinyblob COMMENT '公会名字',
|
||||
`guild_lv` int(11) NOT NULL DEFAULT '0' COMMENT '公会等级',
|
||||
`guild_exp` int(11) NOT NULL DEFAULT '0' COMMENT '公会经验',
|
||||
`guild_badge` int(11) NOT NULL DEFAULT '0' COMMENT '公会徽章',
|
||||
`guild_apply_num` int(11) NOT NULL DEFAULT '0' COMMENT '申请人数',
|
||||
`guld_administers` varchar(255) CHARACTER SET utf8 NOT NULL COMMENT '公会管理员',
|
||||
`guld_notice` varchar(255) CHARACTER SET utf8 NOT NULL COMMENT '公会公告',
|
||||
`guld_declaration` varchar(255) CHARACTER SET utf8 NOT NULL COMMENT '公会宣言',
|
||||
`guild_log` mediumblob COMMENT '公会日志',
|
||||
`owner_id` varchar(255) CHARACTER SET utf8 NOT NULL COMMENT '公会主',
|
||||
`creator_id` varchar(255) CHARACTER SET utf8 NOT NULL COMMENT '公会创建者',
|
||||
`guild_data` mediumblob COMMENT '公会数据',
|
||||
`createtime` int(11) NOT NULL DEFAULT '0' COMMENT '创建时间',
|
||||
`modifytime` int(11) NOT NULL DEFAULT '0' COMMENT '修改时间',
|
||||
|
Loading…
x
Reference in New Issue
Block a user