This commit is contained in:
songhao 2019-04-03 21:02:29 +08:00
parent 171be7b4f2
commit cf7cd445e7
3 changed files with 68 additions and 0 deletions

View File

@ -62,12 +62,54 @@ static void _GMPayNotify(f8::JsonHttpRequest* request)
request->resp_xobj->SetVal("errmsg", errmsg);
}
static void _AddVirtualOrder(f8::JsonHttpRequest* request)
{
int errcode = 0;
std::string errmsg = "";
OrderInfo orderinfo;
orderinfo.orderid = "";
if (!OrderMgr::Instance()->AddNewOrder(
request->request.Get("accountid").GetString(),
request->request.Get("serverid").GetInt(),
request->request.Get("roleid").GetString(),
request->request.Get("rolename").GetString(),
request->request.Get("itemid").GetInt(),
request->request.Get("price").GetInt(),
"gmtool",
orderinfo
)) {
errcode = 1;
errmsg = "添加新订单失败";
}
int result = 1;
OrderMgr::Instance()->AddNewPayNotify(
1,
orderinfo.orderid,
1,
result
);
if (result != 0) {
errcode = 2;
errmsg = "新订单付费失败";
}
request->resp_xobj->SetVal("errcode", errcode);
request->resp_xobj->SetVal("errmsg", errmsg);
request->resp_xobj->SetVal("orderid", orderinfo.orderid);
}
static void _ExecSql(f8::JsonHttpRequest* request)
{
OrderMgr::Instance()->ExecSql(request);
}
void HandlerMgr::Init()
{
RegisterNetMsgHandlers();
RegisterGMMsgHandler("Ops$selfChecking", _GMOpsSelfChecking);
RegisterGMMsgHandler("Pay$getOrderId", _GMPayGetOrderId);
RegisterGMMsgHandler("Pay$payNotify", _GMPayNotify);
RegisterGMMsgHandler("GMTool$addVirtualOrder", _AddVirtualOrder);
RegisterGMMsgHandler("GMTool$execSql", _ExecSql);
}
void HandlerMgr::UnInit()

View File

@ -849,3 +849,27 @@ void OrderMgr::SendGMMsg(int serverid,
);
delete params_xobj;
}
void OrderMgr::ExecSql(f8::JsonHttpRequest* request)
{
int ret = query_->ExecQuery(request->request.Get("sql").GetString().c_str(), {});
if (ret >= 0) {
request->resp_xobj->SetVal("errcode", 0);
request->resp_xobj->SetVal("errmsg", "");
a8::MutableXObject* dataset = a8::MutableXObject::NewArray();
while (!query_->Eof()) {
a8::MutableXObject* row = a8::MutableXObject::NewArray();
for (int i = 0; i < query_->FieldsNum(); ++i) {
row->Push(query_->GetValue(i));
}
dataset->Push(*row);
delete row;
query_->Next();
}
request->resp_xobj->SetVal("dataset", *dataset);
delete dataset;
} else {
request->resp_xobj->SetVal("errcode", 100);
request->resp_xobj->SetVal("errmsg", query_->GetError());
}
}

View File

@ -95,6 +95,8 @@ class OrderMgr : public a8::Singleton<OrderMgr>
int& result);
void G2PPayNotifyACK(a8::XParams& param, a8::XObject& data);
void ExecSql(f8::JsonHttpRequest* request);
private:
void ProcessOrderMsg();
void ProcessNotifyMsg();