Commit 5615efd4 by guanghui.cui
parents 2483b050 2b65e27a
......@@ -6,6 +6,8 @@
#include "../3rdParty/rapidjson/stringbuffer.h"
#include "../3rdParty/easylogging/easylogging++.h"
#include <iostream>
using namespace rapidjson;
// std::string GetTestJson(const int statuscode,const char* msg,const char* orderid)
......@@ -94,37 +96,79 @@ bool JsonModule::getPushOrders(IN const char* json,OUT orderObj &order)
{
rapidjson::Value& delivery_obj = document["delivery"];
if(delivery_obj.IsObject())
{
if(delivery_obj.HasMember("customerAddress"))
{
rapidjson::Value& customerAddress = delivery_obj["customerAddress"];
order.customerInfo.address=customerAddress.GetString();
}
if(delivery_obj.HasMember("customerName"))
{
rapidjson::Value& customerName = delivery_obj["customerName"];
order.customerInfo.name = customerName.GetString();
}
if(delivery_obj.HasMember("customerPhone"))
{
rapidjson::Value& customerPhone = delivery_obj["customerPhone"];
order.customerInfo.phone = customerPhone.GetString();
}
if(delivery_obj.HasMember("deliveryTime"))
{
rapidjson::Value& deliveryTime = delivery_obj["deliveryTime"];
order.delivery_time = deliveryTime.GetString();
}
if(delivery_obj.HasMember("name"))
{
rapidjson::Value& name = delivery_obj["name"];
order.deliveryInfo.driver_name = name.GetString();
}
if(delivery_obj.HasMember("phone"))
{
rapidjson::Value& phone = delivery_obj["phone"];
order.deliveryInfo.driver_phone = phone.GetString();
}
if(delivery_obj.HasMember("type"))
{
rapidjson::Value& type = delivery_obj["type"];
order.deliveryInfo.type = type.GetString();
}
}
}
//发票信息
{
rapidjson::Value& invoice_obj = document["invoice"];
if(invoice_obj.IsObject())
{
if(invoice_obj.HasMember("companyName"))
{
rapidjson::Value& companyName = invoice_obj["companyName"];
companyName.GetString();
}
if(invoice_obj.HasMember("invoiceType"))
{
rapidjson::Value& invoiceType = invoice_obj["invoiceType"];
invoiceType.GetInt();
}
if(invoice_obj.HasMember("taxNum"))
{
rapidjson::Value& taxNum = invoice_obj["taxNum"];
taxNum.GetString();
}
if(invoice_obj.HasMember("title"))
{
rapidjson::Value& title = invoice_obj["title"];
title.GetString();
}
if(invoice_obj.HasMember("transNum"))
{
rapidjson::Value& transNum = invoice_obj["transNum"];
transNum.GetString();
}
}
}
//订单内容
{
rapidjson::Value& orderContent_obj = document["orderContent"];
......@@ -245,7 +289,6 @@ bool JsonModule::getPushOrders(IN const char* json,OUT orderObj &order)
}
}
}
//支付信息
{
//TODO
......@@ -271,7 +314,6 @@ bool JsonModule::getPushOrders(IN const char* json,OUT orderObj &order)
}
rapidjson::Value& payType = orderContent_obj["payType"];
payType.GetString();
//积分信息
{
rapidjson::Value& points_obj = orderContent_obj["points"];
......@@ -313,7 +355,6 @@ bool JsonModule::getPushOrders(IN const char* json,OUT orderObj &order)
}
}
}
//优惠信息
{
rapidjson::Value& promotions_obj = orderContent_obj["promotions"];
......@@ -375,18 +416,24 @@ bool JsonModule::getPushOrders(IN const char* json,OUT orderObj &order)
order.reduced_price = totalDiscount.GetInt();
}
//第三方商户信息
{
rapidjson::Value& sellerInfo_obj = document["sellerInfo"];
if(sellerInfo_obj.IsObject())
{
if(sellerInfo_obj.HasMember("sellerId"))
{
rapidjson::Value& sellerId = sellerInfo_obj["sellerId"];
sellerId.GetString();
}
if(sellerInfo_obj.HasMember("sellerName"))
{
rapidjson::Value& sellerName = sellerInfo_obj["sellerName"];
sellerName.GetString();
}
}
}
//门店信息
{
rapidjson::Value& shopInfo_obj = document["shopInfo"];
......@@ -578,20 +625,13 @@ bool JsonModule::convertDataOds2Pos(const std::string &data, std::string &result
{
bool rlt=true;
orderObj order;
rlt=getPushOrders(data.c_str(),order);
if(ORDERSTATUS_NEW==order.status){
rlt = getPushOrders(data.c_str(),order);
if(rlt)
{
result = _convertToNewOrderJson(order);
}
else if(ORDERSTATUS_CONFIRMED==order.status||ORDERSTATUS_CANCELED==order.status||ORDERSTATUS_SHIPPING==order.status||ORDERSTATUS_COMPLETE==order.status){
orderStatusObj statusObj;
_getStatusObj(order,statusObj);
result = _convertToOrderStatusJson(statusObj);
}
else if(ORDERSTATUS_REFUND_FULL==order.status||ORDERSTATUS_REFUND_PART==order.status){
refundObj refund;
_getRefundObj(order,refund);
result = _convertToRefundJson(refund);
}
return rlt;
}
......@@ -620,7 +660,7 @@ std::string JsonModule::_convertToNewOrderJson(orderObj &obj)
writer.String(obj.delivery_time.c_str());
writer.Key("status");
writer.Int(obj.status);
writer.Int(_getPOSOrderStatus(obj.status));
writer.Key("status_desc");
writer.String(obj.status_desc.c_str());
......@@ -796,6 +836,9 @@ std::string JsonModule::_convertToNewOrderJson(orderObj &obj)
writer.Key("trans_id");
writer.String(obj.payInfo.vecDetail[i].trans_id.c_str());
writer.Key("account_id");
writer.String(obj.payInfo.vecDetail[i].account_id.c_str());
writer.EndObject();
}
writer.EndArray();
......@@ -890,7 +933,7 @@ std::string JsonModule::_convertToOrderStatusJson(orderStatusObj &obj)
writer.String(obj.order_id.c_str());
writer.Key("order_status");
writer.Int(obj.order_status);
writer.Int(_getPOSOrderStatus(obj.order_status));
writer.Key("delivery_status");
writer.Int(obj.delivery_status);
......
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