Commit f4550690 by guanghui.cui

添加pk_id字段

parent d72cfedf
...@@ -852,7 +852,7 @@ bool JsonModule::getOdsResponseData(int status_code, const std::string &msg, std ...@@ -852,7 +852,7 @@ bool JsonModule::getOdsResponseData(int status_code, const std::string &msg, std
LOG(INFO)<<"fm_cmd:"<<fm_cmd; LOG(INFO)<<"fm_cmd:"<<fm_cmd;
bool rlt=false; bool rlt=false;
if(fm_cmd==REQUEST_TYPE_NEWORDER_PUSH){ if(fm_cmd==REQUEST_TYPE_NEWORDER_PUSH){
rlt=_getOrderResponseJson(posResponse,orderData,result); rlt=_getOrderResponseJson(posResponse,orderData,odsData,result);
} }
else if(fm_cmd==REQUEST_TYPE_STOCK_WARN){ else if(fm_cmd==REQUEST_TYPE_STOCK_WARN){
rlt=_getStockWarnResponseJson(posResponse,orderData,odsData,result); rlt=_getStockWarnResponseJson(posResponse,orderData,odsData,result);
...@@ -1785,11 +1785,12 @@ int JsonModule::getPushType(IN const char* data) ...@@ -1785,11 +1785,12 @@ int JsonModule::getPushType(IN const char* data)
return 0; return 0;
} }
bool JsonModule::_getOrderResponseJson(IN const std::string& posResponse, IN const std::string& orderData, OUT std::string& result) bool JsonModule::_getOrderResponseJson(IN const std::string& posResponse, IN const std::string& orderData, IN const std::string& odsData, OUT std::string& result)
{ {
rapidjson::Document document, document1; rapidjson::Document document, document1,document2;
document.Parse(posResponse.c_str()); document.Parse(posResponse.c_str());
document1.Parse(orderData.c_str()); document1.Parse(orderData.c_str());
document2.Parse(odsData.c_str());
if( !document.HasMember("status_code") if( !document.HasMember("status_code")
|| !document1.HasMember("order_id") || !document1.HasMember("order_id")
...@@ -1807,6 +1808,8 @@ bool JsonModule::_getOrderResponseJson(IN const std::string& posResponse, IN con ...@@ -1807,6 +1808,8 @@ bool JsonModule::_getOrderResponseJson(IN const std::string& posResponse, IN con
int status = document1["ods_status"].GetInt(); int status = document1["ods_status"].GetInt();
std::string channel = document1["channel"].GetString(); std::string channel = document1["channel"].GetString();
int pk_id = GetJsonIntSafe(document2,"pk_id");
rapidjson::StringBuffer buffer; rapidjson::StringBuffer buffer;
rapidjson::Writer<rapidjson::StringBuffer> writer(buffer); rapidjson::Writer<rapidjson::StringBuffer> writer(buffer);
writer.StartObject(); writer.StartObject();
...@@ -1829,6 +1832,9 @@ bool JsonModule::_getOrderResponseJson(IN const std::string& posResponse, IN con ...@@ -1829,6 +1832,9 @@ bool JsonModule::_getOrderResponseJson(IN const std::string& posResponse, IN con
writer.Key("msg"); writer.Key("msg");
writer.String(msg.c_str()); writer.String(msg.c_str());
writer.Key("pk_id");
writer.Int(pk_id);
writer.EndObject(); writer.EndObject();
result = buffer.GetString(); result = buffer.GetString();
...@@ -1843,7 +1849,10 @@ bool JsonModule::_getStockWarnResponseJson(IN const std::string& posResponse, IN ...@@ -1843,7 +1849,10 @@ bool JsonModule::_getStockWarnResponseJson(IN const std::string& posResponse, IN
document1.Parse(orderData.c_str()); document1.Parse(orderData.c_str());
document2.Parse(odsData.c_str()); document2.Parse(odsData.c_str());
if( !document.HasMember("status_code") || !document2.HasMember("channel") || !document2.HasMember("alertTime")|| !document2.HasMember("storeId")) if( !document.HasMember("status_code")
|| !document2.HasMember("channel")
|| !document2.HasMember("alertTime")
|| !document2.HasMember("storeId"))
{ {
LOG(INFO)<<"Don't have needed parames"; LOG(INFO)<<"Don't have needed parames";
return false; return false;
...@@ -1856,6 +1865,7 @@ bool JsonModule::_getStockWarnResponseJson(IN const std::string& posResponse, IN ...@@ -1856,6 +1865,7 @@ bool JsonModule::_getStockWarnResponseJson(IN const std::string& posResponse, IN
std::string channel = document2["channel"].GetString(); std::string channel = document2["channel"].GetString();
int64_t alertTime = document2["alertTime"].GetInt64(); int64_t alertTime = document2["alertTime"].GetInt64();
std::string storeId = document2["storeId"].GetString(); std::string storeId = document2["storeId"].GetString();
int pk_id = GetJsonIntSafe(document2,"pk_id");
rapidjson::StringBuffer buffer; rapidjson::StringBuffer buffer;
rapidjson::Writer<rapidjson::StringBuffer> writer(buffer); rapidjson::Writer<rapidjson::StringBuffer> writer(buffer);
...@@ -1876,6 +1886,9 @@ bool JsonModule::_getStockWarnResponseJson(IN const std::string& posResponse, IN ...@@ -1876,6 +1886,9 @@ bool JsonModule::_getStockWarnResponseJson(IN const std::string& posResponse, IN
writer.Key("status_code"); writer.Key("status_code");
writer.Int(status_code); writer.Int(status_code);
writer.Key("pk_id");
writer.Int(pk_id);
writer.EndObject(); writer.EndObject();
result = buffer.GetString(); result = buffer.GetString();
...@@ -1949,7 +1962,7 @@ std::string JsonModule::_convertToCommonWarnJson(IN const char* json) ...@@ -1949,7 +1962,7 @@ std::string JsonModule::_convertToCommonWarnJson(IN const char* json)
bool JsonModule::_getCommonWarnResponseJson(IN const std::string& posResponse, IN const std::string& orderData, IN const std::string& odsData,OUT std::string& result) bool JsonModule::_getCommonWarnResponseJson(IN const std::string& posResponse, IN const std::string& orderData, IN const std::string& odsData,OUT std::string& result)
{ {
std::string notifyDate,rackNo,storeId,terminalNo; std::string notifyDate,rackNo,storeId,terminalNo;
int64_t iDatetime=0; int64_t iDatetime=0,pk_id;
rapidjson::Document document,document1; // 定义一个Document对象 rapidjson::Document document,document1; // 定义一个Document对象
document1.Parse(odsData.data()); // 解析,Parse()无返回值,也不会抛异常 document1.Parse(odsData.data()); // 解析,Parse()无返回值,也不会抛异常
if (document1.HasParseError()) // 通过HasParseError()来判断解析是否成功 if (document1.HasParseError()) // 通过HasParseError()来判断解析是否成功
...@@ -1968,6 +1981,7 @@ bool JsonModule::_getCommonWarnResponseJson(IN const std::string& posResponse, I ...@@ -1968,6 +1981,7 @@ bool JsonModule::_getCommonWarnResponseJson(IN const std::string& posResponse, I
rackNo = vRackNo.GetString(); rackNo = vRackNo.GetString();
storeId = vStoreId.GetString(); storeId = vStoreId.GetString();
terminalNo = vTerminalNo.GetString(); terminalNo = vTerminalNo.GetString();
pk_id = GetJsonIntSafe(document1,"pk_id");
} }
document.Parse(posResponse.c_str()); document.Parse(posResponse.c_str());
if (document.HasParseError()) // 通过HasParseError()来判断解析是否成功 if (document.HasParseError()) // 通过HasParseError()来判断解析是否成功
...@@ -1998,7 +2012,10 @@ bool JsonModule::_getCommonWarnResponseJson(IN const std::string& posResponse, I ...@@ -1998,7 +2012,10 @@ bool JsonModule::_getCommonWarnResponseJson(IN const std::string& posResponse, I
writer.Int64(iDatetime); writer.Int64(iDatetime);
writer.Key("status_code"); writer.Key("status_code");
writer.Int(status_code); writer.Int(status_code);
writer.Key("pk_id");
writer.Int(pk_id);
writer.EndObject(); writer.EndObject();
result = buffer.GetString(); result = buffer.GetString();
......
...@@ -132,7 +132,7 @@ private: ...@@ -132,7 +132,7 @@ private:
std::string _convertToOrderOperationReponseJson(IN const char* json); std::string _convertToOrderOperationReponseJson(IN const char* json);
bool _convertPOSReqPriorityJson(IN const std::string& posReq,OUT const std::string& odsJson); bool _convertPOSReqPriorityJson(IN const std::string& posReq,OUT const std::string& odsJson);
bool _getOrderResponseJson(IN const std::string& posResponse, IN const std::string& orderData, OUT std::string& result); bool _getOrderResponseJson(IN const std::string& posResponse, IN const std::string& orderData, IN const std::string& odsData, OUT std::string& result);
bool _getStockWarnResponseJson(IN const std::string& posResponse, IN const std::string& orderData, IN const std::string& odsData,OUT std::string& result); bool _getStockWarnResponseJson(IN const std::string& posResponse, IN const std::string& orderData, IN const std::string& odsData,OUT std::string& result);
bool _getCommonWarnResponseJson(IN const std::string& posResponse, IN const std::string& orderData, IN const std::string& odsData,OUT std::string& result); bool _getCommonWarnResponseJson(IN const std::string& posResponse, IN const std::string& orderData, IN const std::string& odsData,OUT std::string& result);
......
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