Commit 6dc7ea23 by unknown

Fix 1:编译问题修复(编译通过)

parent cd4aa8be
......@@ -179,7 +179,7 @@ void JsonModule::getPushOrders(IN const char* json,OUT std::vector<orderObj> &ve
bool JsonModule::isInitData(const std::string &data)
{
rapidjson::Document document; // 定义一个Document对象
document.Parse(json); // 解析,Parse()无返回值,也不会抛异常
document.Parse(data.c_str()); // 解析,Parse()无返回值,也不会抛异常
if (document.HasParseError()) // 通过HasParseError()来判断解析是否成功
{
LOG(ERROR) << "JSON parse error:" << document.GetParseError() << ":" << document.GetErrorOffset();
......@@ -191,17 +191,16 @@ bool JsonModule::isInitData(const std::string &data)
bool JsonModule::checkInitData(const std::string &data, int &posListenPort)
{
rapidjson::Document document; // 定义一个Document对象
document.Parse(data); // 解析,Parse()无返回值,也不会抛异常
document.Parse(data.c_str()); // 解析,Parse()无返回值,也不会抛异常
if (document.HasParseError()) // 通过HasParseError()来判断解析是否成功
{
LOG(ERROR) << "JSON parse error:" << document.GetParseError() << ":" << document.GetErrorOffset();
return false;
}
if( document["store_id"].GetString().empty()
|| document["store_id"].GetString().empty()
|| document["pos_id"].GetString().empty()
|| document["operator_id"].GetString().empty()
if( !document.HasMember("store_id")
|| !document.HasMember("pos_id")
|| !document.HasMember("operator_id")
|| !document.HasMember("is_master")
|| document["listen_port"].GetInt()< 0 )
{
......@@ -284,8 +283,8 @@ bool JsonModule::getOdsResponseData(const std::string &posResponse, const std::s
return false;
rapidjson::Document document, document1;
document.Parse(posResponse);
document1.Parse(orderData);
document.Parse(posResponse.c_str());
document1.Parse(orderData.c_str());
if (document.HasParseError() || document1.HasParseError())
{
return false;
......@@ -331,25 +330,12 @@ bool JsonModule::getOdsResponseData(const std::string &posResponse, const std::s
bool JsonModule::convertDataPos2Ods(const std::string &data, std::string &result)
{
return true;
}
bool JsonModule::convertDataOds2Pos(const std::string &data, std::string &result)
{
rapidjson::Document data;
document.Parse(posResponse);
document1.Parse(orderData);
if (document.HasParseError() || document1.HasParseError())
{
return false;
}
if( !document.HasMember("status_code")
|| !document1.HasMember("order_id")
|| !document1.HasMember("status") )
{
return false;
}
return true;
}
std::string JsonModule::convertToNewOrderJson(orderObj &obj)
......
......@@ -56,8 +56,10 @@ void* listen_pos_func(void* arg)
if( server.accept(pos) )
{
if( pos.receive(posRequestData) )
char tmpBuf[BUF_SIZE] = {0};
if( pos.read(tmpBuf, sizeof(tmpBuf)) )
{
posRequestData = tmpBuf;
// 如果为初始化请求则通过长连接socket发送
if( jsonTool.isInitData(posRequestData) )
{
......@@ -76,9 +78,9 @@ void* listen_pos_func(void* arg)
{
// 同步阻塞发送到ODS并等待返回
TCPClient ods;
if( ods.connect(ods_recv_port, ods_ip.c_str()) )
if( ods.doConnect(ods_recv_port, ods_ip.c_str()) )
{
if( ods.send(RequestOdsData) )
if( ods.send(requestOdsData) )
{
std::string tmp;
if( ods.receive(tmp) )
......@@ -105,7 +107,7 @@ void* listen_pos_func(void* arg)
}
// TODO待加入重试机制
pos.send(responseData);
pos.write(responseData.c_str());
pos.close();
}else
{
......@@ -121,6 +123,11 @@ void* listen_pos_func(void* arg)
int main()
{
/* Mark
* 与ODS通信全部加数据头(长度)
* 与POS通信全部不加数据头
* end*/
signal(SIGPIPE, SIG_IGN);
// 初始化日志
......@@ -152,9 +159,9 @@ int main()
LOG(INFO) << "[ODS]ip地址: " << ods_ip.data()
<< "-推送端口: " << ods_push_port
<< "-监听端口: " << ods_recv_port;
LOG(INFO) << "[CLIENT]监听端口: " << client_listen_port;
LOG(INFO) << "[POS]ip地址: " << pos_ip
<< "-监听端口: " << pos_listen_port;
LOG(INFO) << "[CLIENT]监听端口: " << client_listen_port;
//end
// 监听POS请求的线程
......@@ -205,13 +212,14 @@ int main()
if( jsonTool.convertDataOds2Pos(odsPushData, pushPosData) )
{
TCPClient pos;
if( pos.connect(pos_listen_port, pos_ip.c_str()) )
if( pos.doConnect(pos_listen_port, pos_ip.c_str()) )
{
if( pos.send(pushPosData) )
if( pos.write(pushPosData.c_str()) )
{
std::string tmp;
if( pos.receive(tmp) )
char tmpBuf[BUF_SIZE] = {0};
if( pos.read(tmpBuf,sizeof(tmpBuf)) )
{
std::string tmp(tmpBuf);
jsonTool.getOdsResponseData(tmp, odsPushData, responseData);
}else
{
......
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