Commit fbf9f931 by guanghui.cui

添加订单状态查询接口(POS发起)

parent 1138ac5a
......@@ -28,6 +28,7 @@
#define REQUEST_TYPE_POS_PRIORITY 1005 //设置POS优先级
#define REQUEST_TYPE_STOCK_WARN 1006 //库存预警通知
#define REQUEST_TYPE_COMMON_WARN 1007 //通用预警通知
#define REQUEST_TYPE_QUERY_ORDER_STAUS 1020 //订单状态查询
//配送类型对照表
#define DELIVERY_TYPE_SELF "self" //自配送
......
......@@ -152,7 +152,6 @@
</ItemDefinitionGroup>
<ItemGroup>
<ClInclude Include="..\3rdParty\easylogging\easylogging++.h" />
<ClInclude Include="..\3rdParty\sqlite3.h" />
<ClInclude Include="..\base\BaseDefine.h" />
<ClInclude Include="..\base\CommonStruct.h" />
<ClInclude Include="..\src\JsonModule.h" />
......
......@@ -30,9 +30,6 @@
</Filter>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\3rdParty\sqlite3.h">
<Filter>3rdParty</Filter>
</ClInclude>
<ClInclude Include="..\3rdParty\easylogging\easylogging++.h">
<Filter>3rdParty\easylogging</Filter>
</ClInclude>
......
......@@ -665,19 +665,14 @@ bool JsonModule::getPosResponseData(const std::string &odsResponse,IN const std:
if(fm_cmd==OPERATION_POS_CONFIRM
||fm_cmd==OPERATION_POS_CANCEL
||fm_cmd==OPERATION_POS_REFUND_AGREE
||fm_cmd==OPERATION_POS_REFUND_DISAGREE)
||fm_cmd==OPERATION_POS_REFUND_DISAGREE
||fm_cmd == REQUEST_TYPE_QUERY_ORDER_STAUS)
{
result = _convertToOrderOperationReponseJson(odsResponse.data());
rlt=true;
}
// serverResponseOperationObj obj;
// if(_getServerResponseData(odsResponse.data(),obj)){
// result=_convertServerResponseToJson(obj);
// return true;
// }
return rlt;
//result = "{\"status_code\":100, \"msg\":\"\"}";
}
std::string JsonModule::_convertToOrderOperationReponseJson(IN const char* json)
......@@ -704,7 +699,7 @@ std::string JsonModule::_convertToOrderOperationReponseJson(IN const char* json)
{
int iStatus=atoi(GetJsonStringSafe(result_obj,"status"));
status = _getPOSOrderStatus(iStatus);
status_desc = GetJsonStringSafe(result_obj,"status_desc");
status_desc = GetJsonStringSafe(result_obj,"statusDesc");
}
}
......@@ -841,8 +836,9 @@ bool JsonModule::convertDataPos2Ods(const std::string &data, std::string &result
rlt = true;
}
}
else if(fm_cmd==REQUEST_TYPE_GOODS_CHANGE){
else if(fm_cmd== REQUEST_TYPE_QUERY_ORDER_STAUS){
result=_convertToQueryOrderStatusJson(data.data());
rlt = true;
}
......@@ -1842,6 +1838,39 @@ std::string JsonModule::_convertToCommonWarnJson(IN const char* json)
return buffer.GetString();
}
std::string JsonModule::_convertToQueryOrderStatusJson(IN const char* json)
{
std::string order_id, channel;
rapidjson::Document document; // 定义一个Document对象
document.Parse(json); // 解析,Parse()无返回值,也不会抛异常
if (document.HasParseError()) // 通过HasParseError()来判断解析是否成功
{
LOG(ERROR) << "JSON parse error:" << document.GetParseError() << ":" << document.GetErrorOffset();
return "";
}
channel = GetJsonStringSafe(document, "channel");
order_id = GetJsonStringSafe(document, "order_id");
rapidjson::StringBuffer buffer;
rapidjson::Writer<rapidjson::StringBuffer> writer(buffer);
writer.StartObject();
writer.Key("fm_cmd");
writer.Int(REQUEST_TYPE_QUERY_ORDER_STAUS);
writer.Key("channel");
writer.String(channel.c_str());
writer.Key("orderId");
writer.String(order_id.c_str());
writer.EndObject();
return buffer.GetString();
}
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;
......
......@@ -132,6 +132,7 @@ private:
std::string _convertToRefundJson(refundObj &obj);
std::string _convertToStockWarnJson(stockWarnObj &obj);
std::string _convertToCommonWarnJson(IN const char* json);
std::string _convertToQueryOrderStatusJson(IN const char* json);
std::string _convertToOrderOperationReponseJson(IN const char* json);
bool _convertPOSReqPriorityJson(IN const std::string& posReq,OUT const std::string& odsJson);
......
......@@ -18,7 +18,7 @@
INITIALIZE_EASYLOGGINGPP
#define VERSION "1.0.5" //版本号
#define VERSION "1.0.5 Beta1" //版本号
std::string g_init_data;
std::string g_init_data_ods_back;
......@@ -143,7 +143,11 @@ void* listen_pos_func(void* arg)
LOG(INFO)<<"POS send goods change data:"<<posReq.data();
jsonTool.getPosResponseData(100, "success", responseData);
}
else if(OPERATION_POS_CONFIRM == reqType|| OPERATION_POS_CANCEL == reqType || OPERATION_POS_REFUND_AGREE == reqType || OPERATION_POS_REFUND_DISAGREE == reqType)
else if(OPERATION_POS_CONFIRM == reqType
|| OPERATION_POS_CANCEL == reqType
|| OPERATION_POS_REFUND_AGREE == reqType
|| OPERATION_POS_REFUND_DISAGREE == reqType
|| REQUEST_TYPE_QUERY_ORDER_STAUS == reqType)
{
LOG(INFO)<<"REQ POS ===>> PLUGIN:"<<posRequestData.data();
// 将POS请求数据转换为中台可接受数据格式
......
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