Commit 1adbbddd by guanghui.cui

新订单JSON组装

parent 06a214d3
...@@ -74,7 +74,284 @@ orderObj JsonModule::convertToOrderObj(const char* json) ...@@ -74,7 +74,284 @@ orderObj JsonModule::convertToOrderObj(const char* json)
std::string JsonModule::convertToOrderJson(orderObj &obj) std::string JsonModule::convertToOrderJson(orderObj &obj)
{ {
return ""; rapidjson::StringBuffer buffer;
rapidjson::Writer<rapidjson::StringBuffer> writer(buffer);
writer.StartObject();
writer.Key("fm_cmd");
writer.Int(obj.fm_cmd);
writer.Key("channel");
writer.String(obj.channel.c_str());
writer.Key("order_no");
writer.Int(obj.order_no);
writer.Key("order_id");
writer.String(obj.order_id.c_str());
writer.Key("create_time");
writer.String(obj.create_time.c_str());
writer.Key("delivery_time");
writer.String(obj.delivery_time.c_str());
writer.Key("status");
writer.Int(obj.status);
writer.Key("status_desc");
writer.String(obj.status_desc.c_str());
writer.Key("total_price");
writer.Int(obj.total_price);
writer.Key("delivery_price");
writer.Int(obj.delivery_price);
writer.Key("reduced_price");
writer.Int(obj.reduced_price);
writer.Key("pickup_code");
writer.String(obj.pickup_code.c_str());
writer.Key("pickup_point");
writer.String(obj.pickup_point.c_str());
//----------------门店信息----------------
writer.Key("store");
writer.StartObject();
writer.Key("store_id");
writer.String(obj.storeInfo.store_id.c_str());
writer.Key("pos_id");
writer.String(obj.storeInfo.pos_id.c_str());
writer.Key("vem_id");
writer.String(obj.storeInfo.vem_id.c_str());
writer.Key("vem_shelf");
writer.String(obj.storeInfo.vem_shelf.c_str());
writer.EndObject();
//----------------门店信息 结束-----------
//----------------配送信息----------------
writer.Key("delivery");
writer.StartObject();
writer.Key("type");
writer.String(obj.deliveryInfo.type.c_str());
writer.Key("status");
writer.Int(obj.deliveryInfo.status);
writer.Key("status_desc");
writer.String(obj.deliveryInfo.status_desc.c_str());
writer.Key("driver_name");
writer.String(obj.deliveryInfo.driver_name.c_str());
writer.Key("driver_phone");
writer.String(obj.deliveryInfo.driver_phone.c_str());
writer.EndObject();
//----------------配送信息 结束-----------
//----------------顾客信息----------------
writer.Key("customer");
writer.StartObject();
writer.Key("name");
writer.String(obj.customerInfo.name.c_str());
writer.Key("phone");
writer.String(obj.customerInfo.phone.c_str());
writer.Key("address");
writer.String(obj.customerInfo.address.c_str());
writer.Key("account");
writer.String(obj.customerInfo.account.c_str());
writer.Key("account_type");
writer.Int(obj.customerInfo.account_type);
writer.Key("account_level");
writer.String(obj.customerInfo.account_level.c_str());
writer.EndObject();
//----------------顾客信息 结束-----------
//----------------商品信息----------------
writer.Key("products");
writer.StartArray();
for(unsigned int i=0;i<obj.vecProducts.size();i++)
{
//-----------------start 单个商品------------------
writer.StartObject();
writer.Key("source");
writer.String(obj.vecProducts[i].pro.source.c_str());
writer.Key("attributes");
writer.String(obj.vecProducts[i].pro.attributes.c_str());
writer.Key("combo_id");
writer.String(obj.vecProducts[i].pro.combo_id.c_str());
writer.Key("bom_id");
writer.String(obj.vecProducts[i].pro.bom_id.c_str());
writer.Key("bag_id");
writer.String(obj.vecProducts[i].pro.bag_id.c_str());
writer.Key("name");
writer.String(obj.vecProducts[i].pro.name.c_str());
writer.Key("price");
writer.Int(obj.vecProducts[i].pro.price);
writer.Key("qty");
writer.Int(obj.vecProducts[i].pro.qty);
writer.Key("sku");
writer.String(obj.vecProducts[i].pro.sku.c_str());
//-----------------start 商品规格------------------
writer.Key("specs");
writer.StartArray();
for(unsigned int j=0;j<obj.vecProducts[i].vecSpec.size();j++)
{
writer.StartObject();
writer.Key("name");
writer.String(obj.vecProducts[i].vecSpec[j].name.c_str());
writer.Key("price");
writer.Int(obj.vecProducts[i].vecSpec[j].price);
writer.Key("qty");
writer.Int(obj.vecProducts[i].vecSpec[j].qty);
writer.Key("sku");
writer.String(obj.vecProducts[i].vecSpec[j].sku.c_str());
writer.EndObject();
}
writer.EndArray();
//-----------------end 商品规格--------------------
writer.EndObject();
//-----------------end 单个商品------------------
}
writer.EndArray();
//----------------商品信息 结束-----------
//----------------付款明细----------------
writer.Key("payment");
writer.StartObject();
writer.Key("summary");
writer.String(obj.payInfo.summary.c_str());
//-----------------start 付款详情------------------
writer.Key("details");
writer.StartArray();
for(unsigned int i=0;i<obj.payInfo.vecDetail.size();i++)
{
writer.StartObject();
writer.Key("amount");
writer.Int(obj.payInfo.vecDetail[i].amount);
writer.Key("type");
writer.Int(obj.payInfo.vecDetail[i].type);
writer.Key("trans_id");
writer.String(obj.payInfo.vecDetail[i].trans_id.c_str());
writer.EndObject();
}
writer.EndArray();
//-----------------end 付款详情--------------------
writer.EndObject();
//----------------付款明细 结束-----------
//----------------消费积分----------------
writer.Key("bonus");
writer.StartObject();
writer.Key("summary");
writer.String(obj.bonusInfo.summary.c_str());
//-----------------start 积分详情------------------
writer.Key("details");
writer.StartArray();
for(unsigned int i=0;i<obj.bonusInfo.vecDetail.size();i++)
{
writer.StartObject();
writer.Key("type");
writer.Int(obj.bonusInfo.vecDetail[i].type);
writer.Key("desc");
writer.String(obj.bonusInfo.vecDetail[i].desc.c_str());
writer.Key("point");
writer.Int(obj.bonusInfo.vecDetail[i].point);
writer.Key("sku");
writer.String(obj.bonusInfo.vecDetail[i].sku.c_str());
writer.EndObject();
}
writer.EndArray();
//-----------------end 积分详情--------------------
writer.EndObject();
//----------------消费积分 结束-----------
//----------------促销列表----------------
writer.Key("promotions");
writer.StartObject();
writer.Key("summary");
writer.String(obj.promotionInfo.summary.c_str());
//-----------------start 促销详情------------------
writer.Key("details");
writer.StartArray();
for(unsigned int i=0;i<obj.promotionInfo.vecDetail.size();i++)
{
writer.StartObject();
writer.Key("type");
writer.Int(obj.promotionInfo.vecDetail[i].type);
writer.Key("desc");
writer.String(obj.promotionInfo.vecDetail[i].desc.c_str());
writer.Key("offer");
writer.Int(obj.promotionInfo.vecDetail[i].offer);
writer.Key("sku");
writer.String(obj.promotionInfo.vecDetail[i].sku.c_str());
writer.EndObject();
}
writer.EndArray();
//-----------------end 促销详情--------------------
writer.EndObject();
//----------------促销列表 结束-----------
writer.EndObject();
return buffer.GetString();
} }
orderStatusObj JsonModule::convertToOrderStatusObj(const char* json) orderStatusObj JsonModule::convertToOrderStatusObj(const char* json)
......
...@@ -53,7 +53,9 @@ int main() ...@@ -53,7 +53,9 @@ int main()
// LOG(INFO)<<"JSON解析"; // LOG(INFO)<<"JSON解析";
// parseJson(json.data()); // parseJson(json.data());
JsonModule jsonMod; JsonModule jsonMod;
jsonMod.convertToRefundObj(""); orderObj obj;
std::string orderInfo = jsonMod.convertToOrderJson(obj);
LOG(INFO)<<"订单信息转换成JSON:"<<orderInfo.data();
//------------end--------------- //------------end---------------
//---------- pthread test --------- //---------- pthread test ---------
......
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