Commit b310872f by guanghui.cui

初始化返回值修改

parent 5bc5d2c1
......@@ -547,54 +547,47 @@ bool JsonModule::getInitBackData(IN const char* inJson,OUT std::string& outJson)
return false;
}
if(document.HasMember("fm_cmd"))
if(document.HasMember("code"))
{
rapidjson::Value& fm_cmd = document["fm_cmd"];
int reqType = fm_cmd.GetInt();
if(reqType==REQUEST_TYPE_INIT){
int status_code=0,autoconfirm=0;
std::string default_pos,msg;
if(document.HasMember("status_code")){
status_code = document["status_code"].GetInt();
}
if(document.HasMember("autoconfirm")){
autoconfirm = document["autoconfirm"].GetInt();
}
if(document.HasMember("default_pos")){
default_pos = document["default_pos"].GetString();
}
int status_code=0,autoconfirm=0;
std::string default_pos,msg;
if(100==status_code){
msg="success";
}
else{
msg="failed";
}
rapidjson::Value& code = document["code"];
status_code = atoi(code.GetString());
rapidjson::StringBuffer buffer;
rapidjson::Writer<rapidjson::StringBuffer> writer(buffer);
writer.StartObject();
if(document.HasMember("OrderConfirmType")){
autoconfirm = document["OrderConfirmType"].GetInt();
}
if(document.HasMember("OrderPushPosIndex")){
default_pos = document["OrderPushPosIndex"].GetString();
}
writer.Key("status_code");
writer.Int(status_code);
if(document.HasMember("message")){
msg = document["message"].GetString();
}
writer.Key("autoconfirm");
writer.Int(autoconfirm);
rapidjson::StringBuffer buffer;
rapidjson::Writer<rapidjson::StringBuffer> writer(buffer);
writer.StartObject();
writer.Key("default_pos");
writer.String(default_pos.c_str());
writer.Key("status_code");
writer.Int(status_code);
writer.Key("msg");
writer.String(msg.c_str());
writer.Key("autoconfirm");
writer.Int(autoconfirm);
writer.EndObject();
writer.Key("default_pos");
writer.String(default_pos.c_str());
outJson = buffer.GetString();
return true;
}
writer.Key("msg");
writer.String(msg.c_str());
writer.EndObject();
outJson = buffer.GetString();
return true;
}
return false;
}
......
......@@ -154,6 +154,7 @@ void* retry_send_pos_func(void* arg)
bRetryThreadRunning=true;
std::vector<orderSendFailedObj>::iterator Iter;
for(Iter = vecFailedOrders.begin(); Iter != vecFailedOrders.end();) {
Iter = vecFailedOrders.begin(); //一直发送第一个,直到发送成功
std::string back_json;
if(order_send_to_pos((*Iter).order_json,back_json)){
char lpSql[200] = {0};
......@@ -164,13 +165,13 @@ void* retry_send_pos_func(void* arg)
LOG(ERROR) << "remove failed:"<<lpSql;
}
vecFailedOrders.erase(Iter); //Iter为删除元素的下一个元素的迭代器
Iter = vecFailedOrders.begin();
vecFailedOrders.erase(Iter); //Iter为删除元素的下一个元素的迭代器
}
sleep(1); //等待1s,再次尝试发送
}
LOG(INFO)<<"retry_send_pos_func thread done";
bRetryThreadRunning=false;
pthread_detach(pthread_self());
}
......
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