Commit 9e23efdd by xiaojing.zhang

delet empty object

parent e069845f
......@@ -49,7 +49,7 @@ void control::start()
}
bool control::checkbaseinfo(std::string data, std::string &error)
bool control::checkbaseinfo(std::string &data, std::string &error)
{
try
{
......@@ -89,9 +89,19 @@ bool control::checkbaseinfo(std::string data, std::string &error)
if(!s.HasMember(JSON_PARTNERID_POS))
{
string parid = Tool::ReadCfg(QString(CFG_SECTION_PARTNERID), "").toString().toStdString();
if(parid.empty())
{
error = std::string(ERROR_MSG_1107);
return false;
}
s.AddMember(JSON_PARTNERID_POS, rapidjson::Value().SetString(parid.c_str(), strlen(parid.c_str()), s.GetAllocator()), s.GetAllocator());
rapidjson::StringBuffer buffers;
rapidjson::Writer<rapidjson::StringBuffer> writers(buffers);
s.Accept(writers);
data = std::string(buffers.GetString());
}
return true;
}
......
......@@ -15,7 +15,7 @@ public:
void start();
bool checkbaseinfo(std::string data, std::string &error);
static bool checkbaseinfo(std::string &data, std::string &error);
bool setbaseinfo(std::string data, int reqtype, std::string &error, bool &isbaseinfo);
......
......@@ -864,7 +864,9 @@ public:
if(dval.HasMember(pkey))
dval.RemoveMember(pkey);
if(objectvalue.GetObject().MemberCount() > 0)
dval.AddMember(Value().SetString(pkey, strlen(pkey), desdoc.GetAllocator()), objectvalue, desdoc.GetAllocator());
break ;
}
......@@ -1061,7 +1063,7 @@ public:
if(dval.HasMember(pkey))
dval.RemoveMember(pkey);
if(objectvalue.GetObject().MemberCount() > 0)
dval.AddMember(Value().SetString(pkey, strlen(pkey), desdoc.GetAllocator()), objectvalue, desdoc.GetAllocator());
break;
}
......
......@@ -60,6 +60,13 @@ int main(int argc, char *argv[])
#include<QDebug>
#include <rapidjson/document.h>
#include <rapidjson/prettywriter.h>
#include <rapidjson/filereadstream.h>
#include <rapidjson/filewritestream.h>
#include <rapidjson/stringbuffer.h>
#include <rapidjson/writer.h>
int main(int argc, char *argv[])
{
......@@ -78,11 +85,31 @@ int main(int argc, char *argv[])
logger.addDestination(consleDest);
{
rapidjson::Document s;
s.Parse<0>("{}");
QLOG_INFO() << "s.IsObject()" << s.IsObject();
QLOG_INFO() << "s.GetObject().MemberCount()" << s.GetObject().MemberCount();
rapidjson::Document s1;
s1.Parse<0>("{\"test\":1}");
QLOG_INFO() << "s1.IsObject()" << s1.IsObject();
QLOG_INFO() << "s1.GetObject().MemberCount()" << s1.GetObject().MemberCount();
return 0;
}
{
std::string msg("{\"status_code\":100}");
bool flag = control::addmessage(msg);
QLOG_INFO() << "flag" << flag << QString::fromUtf8(msg.data());
}
{
......@@ -101,6 +128,23 @@ int main(int argc, char *argv[])
QLOG_INFO() << "flag" << flag << QString::fromUtf8(msg.data());
}
std::string data, data1, error;
data = "{\"fm_cmd\":1000,\"business_date\":\"2020\",\"operator_id\":\"123123\",\"pos_id\":\"1231\",\"store_id\":\"123\",\"partner_id\":\"6666\"}";
bool flag = control::checkbaseinfo(data, error);
QLOG_INFO() << "flag" << flag << QString::fromUtf8(data.data());
data1 = "{\"fm_cmd\":1000,\"business_date\":\"2020\",\"operator_id\":\"123123\",\"pos_id\":\"1231\",\"store_id\":\"123\"}";
bool flag1 = control::checkbaseinfo(data1, error);
QLOG_INFO() << "flag1" << flag1 << QString::fromUtf8(data1.data());
RefreshXmlWork work;
work.start();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment