This commit is contained in:
aozhiwei 2020-09-21 15:16:55 +08:00
parent c873823f09
commit 6573039daa
3 changed files with 66 additions and 1 deletions

View File

@ -1,5 +1,7 @@
#include "precompile.h"
#include "guildmgr.h"
#include "typeconvert.h"
void GuildMgr::Init()
{
@ -18,10 +20,50 @@ void GuildMgr::__GuildCreate(f8::JsonHttpRequest* request)
void GuildMgr::__GuildSearch(f8::JsonHttpRequest* request)
{
int curr_page = request->request.At("curr_page")->AsXValue();
int page_size = request->request.At("page_size")->AsXValue();
std::string search_name = request->request.At("guild_name")->AsXValue().GetString();
if (curr_page < 0) {
curr_page = 0;
}
if (page_size < 1) {
page_size = 1;
}
request->resp_xobj->SetVal("errcode", 0);
request->resp_xobj->SetVal("errmsg", "");
request->resp_xobj->SetVal("curr_page", curr_page);
request->resp_xobj->SetVal("page_size", page_size);
a8::MutableXObject* guild_list = a8::MutableXObject::NewArray();
for (auto& pair : guild_hash_) {
cs::MFGuildBasic* guild = pair.second;
a8::MutableXObject* guild_xobj = a8::MutableXObject::NewObject();
TypeConvert::Convert(guild, guild_xobj);
delete guild_xobj;
}
#if 0
request->resp_xobj->SetVal("_total_page", 1);
request->resp_xobj->SetVal("_total_count", sorted_guild_list_.size());
#endif
request->resp_xobj->SetVal("guild_list", *guild_list);
delete guild_list;
}
void GuildMgr::__GuildRank(f8::JsonHttpRequest* request)
{
request->resp_xobj->SetVal("errcode", 0);
request->resp_xobj->SetVal("errmsg", "");
request->resp_xobj->SetVal("curr_page", 0);
request->resp_xobj->SetVal("page_size", 50);
request->resp_xobj->SetVal("_total_page", 1);
request->resp_xobj->SetVal("_total_count", sorted_guild_list_.size());
a8::MutableXObject* guild_list = a8::MutableXObject::NewArray();
for (auto& guild : sorted_guild_list_) {
a8::MutableXObject* guild_xobj = a8::MutableXObject::NewObject();
TypeConvert::Convert(guild, guild_xobj);
delete guild_xobj;
}
request->resp_xobj->SetVal("guild_list", *guild_list);
delete guild_list;
}

View File

@ -3,3 +3,17 @@
#include "typeconvert.h"
#include "cs_proto.pb.h"
#include "ss_proto.pb.h"
void TypeConvert::Convert(const cs::MFGuildBasic* guild_basic, a8::MutableXObject* xobj)
{
xobj->SetVal("guild_id", guild_basic->guild_id());
xobj->SetVal("guild_name", guild_basic->guild_name());
xobj->SetVal("guild_lv", guild_basic->guild_lv());
xobj->SetVal("guild_exp", guild_basic->guild_exp());
xobj->SetVal("guild_badge", guild_basic->guild_badge());
xobj->SetVal("member_num", guild_basic->member_num());
xobj->SetVal("guild_declareation", guild_basic->guild_declaration());
xobj->SetVal("guild_owner_id", guild_basic->guild_owner_id());
xobj->SetVal("guild_owner_name", guild_basic->guild_owner_name());
xobj->SetVal("guild_owner_avatar_url", guild_basic->guild_owner_avatar_url());
}

View File

@ -1,6 +1,15 @@
#pragma once
#include <a8/mutable_xobject.h>
namespace cs
{
class MFGuildBasic;
}
class TypeConvert
{
public:
static void Convert(const cs::MFGuildBasic* guild_basic, a8::MutableXObject* xobj);
};