1
This commit is contained in:
parent
b1a349c52e
commit
1985fe4b27
@ -4,6 +4,7 @@
|
|||||||
#include "typeconvert.h"
|
#include "typeconvert.h"
|
||||||
#include "ss_proto.pb.h"
|
#include "ss_proto.pb.h"
|
||||||
#include "cs_proto.pb.h"
|
#include "cs_proto.pb.h"
|
||||||
|
#include "dbengine.h"
|
||||||
|
|
||||||
void GuildMgr::Init()
|
void GuildMgr::Init()
|
||||||
{
|
{
|
||||||
@ -17,7 +18,29 @@ void GuildMgr::UnInit()
|
|||||||
|
|
||||||
void GuildMgr::__GuildCreate(f8::JsonHttpRequest* request)
|
void GuildMgr::__GuildCreate(f8::JsonHttpRequest* request)
|
||||||
{
|
{
|
||||||
|
request->pending = true;
|
||||||
|
long long guild_id = request->request.At("guild_id")->AsXValue();
|
||||||
|
a8::XObject conn = DBEngine::Instance()->GetConnInfo(guild_id);
|
||||||
|
DBEngine::Instance()->ExecAsyncQuery
|
||||||
|
(
|
||||||
|
conn,
|
||||||
|
"",
|
||||||
|
{
|
||||||
|
|
||||||
|
},
|
||||||
|
a8::XParams(),
|
||||||
|
[] (a8::XParams& param, const f8::DataSet* data_set)
|
||||||
|
{
|
||||||
|
|
||||||
|
},
|
||||||
|
[] (a8::XParams& param, int error_code, const std::string& error_msg)
|
||||||
|
{
|
||||||
|
|
||||||
|
},
|
||||||
|
0);
|
||||||
|
std::string guild_name = request->request.At("guild_name")->AsXValue().GetString();
|
||||||
|
request->resp_xobj->SetVal("errcode", 0);
|
||||||
|
request->resp_xobj->SetVal("errmsg", "");
|
||||||
}
|
}
|
||||||
|
|
||||||
void GuildMgr::__GuildSearch(f8::JsonHttpRequest* request)
|
void GuildMgr::__GuildSearch(f8::JsonHttpRequest* request)
|
||||||
@ -33,6 +56,7 @@ void GuildMgr::__GuildSearch(f8::JsonHttpRequest* request)
|
|||||||
}
|
}
|
||||||
int total_page = 0;
|
int total_page = 0;
|
||||||
int total_count = 0;
|
int total_count = 0;
|
||||||
|
std::vector<cs::MFGuildBasic*> last_page_data;
|
||||||
|
|
||||||
request->resp_xobj->SetVal("errcode", 0);
|
request->resp_xobj->SetVal("errcode", 0);
|
||||||
request->resp_xobj->SetVal("errmsg", "");
|
request->resp_xobj->SetVal("errmsg", "");
|
||||||
@ -43,6 +67,10 @@ void GuildMgr::__GuildSearch(f8::JsonHttpRequest* request)
|
|||||||
cs::MFGuildBasic* guild = pair.second;
|
cs::MFGuildBasic* guild = pair.second;
|
||||||
if (guild->guild_name().find(search_name) != std::string::npos) {
|
if (guild->guild_name().find(search_name) != std::string::npos) {
|
||||||
++total_count;
|
++total_count;
|
||||||
|
last_page_data.push_back(guild);
|
||||||
|
if (last_page_data.size() % page_size == 0) {
|
||||||
|
last_page_data.clear();
|
||||||
|
}
|
||||||
if (total_count >= curr_page * page_size && guild_list->Size() < page_size) {
|
if (total_count >= curr_page * page_size && guild_list->Size() < page_size) {
|
||||||
a8::MutableXObject* guild_xobj = a8::MutableXObject::NewObject();
|
a8::MutableXObject* guild_xobj = a8::MutableXObject::NewObject();
|
||||||
TypeConvert::Convert(guild, guild_xobj);
|
TypeConvert::Convert(guild, guild_xobj);
|
||||||
@ -51,6 +79,14 @@ void GuildMgr::__GuildSearch(f8::JsonHttpRequest* request)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
total_page = std::ceil((double)total_count / page_size);
|
total_page = std::ceil((double)total_count / page_size);
|
||||||
|
if (curr_page >= total_page) {
|
||||||
|
for (auto& guild : last_page_data) {
|
||||||
|
a8::MutableXObject* guild_xobj = a8::MutableXObject::NewObject();
|
||||||
|
TypeConvert::Convert(guild, guild_xobj);
|
||||||
|
delete guild_xobj;
|
||||||
|
}
|
||||||
|
curr_page = total_page - 1;
|
||||||
|
}
|
||||||
request->resp_xobj->SetVal("_total_page", total_page);
|
request->resp_xobj->SetVal("_total_page", total_page);
|
||||||
request->resp_xobj->SetVal("_total_count", total_count);
|
request->resp_xobj->SetVal("_total_count", total_count);
|
||||||
request->resp_xobj->SetVal("guild_list", *guild_list);
|
request->resp_xobj->SetVal("guild_list", *guild_list);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user