| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388 |
- #include "../pch/pch.h"
- #include "CWaimaiOrder.h"
- CWaimaiOrder::CWaimaiOrder()
- {
- }
- CWaimaiOrder::~CWaimaiOrder()
- {
- }
- //通过订单ID,获取订单详情
- void CWaimaiOrder::InitData(std::string order_id, std::string order_no)
- {
- std::map<string, string> params;
- params["id"] = order_id;
- params["order_no"] = order_no;
- std::string response;
- bool ret = CZhipuziHttpClient::RequestOld("/waimaiorder/getorderdetail", params, response);
- if (!ret)
- {
- LOG_INFO("网络请求出错");
- }
- rapidjson::Document document;
- document.Parse(response.c_str());
- if (document.HasParseError())
- {
- LOG_INFO("parse response error!");
- }
- else
- {
- if (!document.HasMember("errcode") || !document.HasMember("errmsg") || !document.HasMember("data"))
- {
- LOG_INFO("json error!");
- }
- rapidjson::Value& v_errcode = document["errcode"];
- int errcode = v_errcode.GetInt();
- if (errcode != 0)
- {
- LOG_INFO("response failed! message:" << document["errmsg"].GetString());
- }
- {
- //获得数据成功
- rapidjson::Value& data = document["data"];
- m_order_id = data["id"].GetString();
- m_shop_id = data["shop_id"].GetString();
- m_restaurant_number = data["restaurant_number"].GetString();
- m_customer_id = data["customer_id"].GetString();
- m_customer_name = data["customer_name"].GetString();
- m_phone = data["phone"].GetString();
- m_address = data["address"].GetString();
- m_memo = data["memo"].GetString();
- m_pay_type = data["pay_type"].GetString();
- m_promotion = data["promotion"].GetString();
- m_is_member_discount = data["is_member_discount"].GetString();
- m_member_discount = data["member_discount"].GetString();
- m_discount = data["discount"].GetFloat();
- m_coupon = data["coupon"].GetFloat();
- m_delivery = data["delivery"].GetFloat();
- m_price = data["price"].GetFloat();
- m_order_date = data["order_date"].GetString();
- m_order_fields = data["order_fields"].GetString();
- m_order_status = data["order_status"].GetString();
- m_courier_id = data["courier_id"].GetString();
- m_is_selftake = data["is_selftake"].GetString();
- //m_addservice_text = data["addservice_text"].GetString();
- m_is_dabao = data["is_dabao"].GetString();
- m_dabao_money = data["dabao_money"].GetString();
- m_phone_customer_id = data["phone_customer_id"].GetString();
- m_order_num = data["order_num"].GetString();
- m_from_type = data["from_type"].GetString();
- m_is_refund = data["is_refund"].GetString();
- m_refund_status = data["refund_status"].GetString();
- m_is_pickup = data["is_pickup"].GetString();
- m_pickup_time = data["pickup_time"].GetString();
- m_verify_time = data["verify_time"].GetString();
- m_verify_user = data["verify_user"].GetString();
- m_refund_failed_reason = data["refund_failed_reason"].GetString();
- m_refund_time = data["refund_time"].GetString();
- m_failed_reason = data["failed_reason"].GetString();
- m_configmemo = data["configmemo"].GetString();
- m_courier_type = data["courier_type"].GetString();
- m_courier_name = data["courier_name"].GetString();
- m_courier_phone = data["courier_phone"].GetString();
- m_receiver_lng = data["receiver_lng"].GetString();
- m_receiver_lat = data["receiver_lat"].GetString();
- m_reduction_value = data["reduction_value"].GetString();
- m_price_moling = data["price_moling"].GetString();
- m_price_plus = data["price_plus"].GetString();
- m_discount_price = data["discount_price"].GetString();
- m_order_no = data["order_no"].GetString();
- m_is_firstcut = data["is_firstcut"].GetString();
- m_firstcut_value = data["firstcut_value"].GetString();
- m_goods_coupon_value = data["goods_coupon_value"].GetString();
- m_take_food_code = data["take_food_code"].GetString();
- m_need_to_refund = data["need_to_refund"].GetString();
- m_is_nowprinter = data["is_nowprinter"].GetInt();
- m_shop_name = data["shop_name"].GetString();
- m_longitude = data["longitude"].GetString();
- m_latitude = data["latitude"].GetString();
- m_open_selftake = data["open_selftake"].GetString();
- m_invitetimetimerange = data["invitetimetimerange"].GetString();
- m_machine_qrcode_open = data["machine_qrcode_open"].GetString();
- m_machine_qrcode_url = data["machine_qrcode_url"].GetString();
- m_machine_qrcode_title = data["machine_qrcode_title"].GetString();
- m_delivery_date = data["delivery_date"].GetString();
- m_head_picture = data["head_picture"].GetString();
- m_courier = data["courier"].GetString();
- m_delivertime = data["delivertime"].GetString();
- m_customer_order_total = data["customer_order_total"].GetString();
- m_invoice = data["invoice"].GetInt();
- m_invoice_type = data["invoice_type"].GetString();
- m_tax_payer_id = data["tax_payer_id"].GetString();
- //开始保存订单详情
- rapidjson::Value& v_rows = data["order_item"];
- for (rapidjson::SizeType i = 0; i < v_rows.Size(); ++i)
- {
- rapidjson::Value& v_row_i = v_rows[i];
- CWaimaiOrderItem newItem;
- newItem.m_id = v_row_i["id"].GetString();
- newItem.m_food_name = v_row_i["food_name"].GetString();
- newItem.m_item_price = v_row_i["item_price"].GetString();
- newItem.m_quantity = v_row_i["quantity"].GetString();
- newItem.m_type_id = v_row_i["type_id"].GetString();
- newItem.m_foodpackage_id = v_row_i["foodpackage_id"].GetString();
- newItem.m_is_foodpackage = v_row_i["is_foodpackage"].GetString();
- newItem.m_food_unit = v_row_i["food_unit"].GetString();
- newItem.m_order_item_id = v_row_i["order_item_id"].GetString();
- newItem.m_food_id = v_row_i["food_id"].GetString();
- newItem.m_barcode = v_row_i["barcode"].GetString();
- m_order_items.push_back(newItem);
- }
- //开始保存预设选项
- v_rows = data["order_field"];
- for (rapidjson::SizeType i = 0; i < v_rows.Size(); ++i)
- {
- rapidjson::Value& v_row_i = v_rows[i];
- CWaimaiOrderField newItem;
- newItem.name = v_row_i["name"].GetString();
- newItem.value = v_row_i["value"].GetString();
- m_order_field.push_back(newItem);
- }
- //开始保存增值服务费
- v_rows = data["addservice"];
- for (rapidjson::SizeType i = 0; i < v_rows.Size(); ++i)
- {
- rapidjson::Value& v_row_i = v_rows[i];
- CWaimaiOrderField newItem;
- newItem.name = v_row_i["name"].GetString();
- newItem.value = v_row_i["value"].GetString();
- m_addservie.push_back(newItem);
- }
- }
- }
- }
- bool CWaimaiOrder::ConfirmeOrder(std::string order_id)
- {
- std::string url = "/waimaiorder/orderconfirm";
- //请求外卖的未处理订单
- std::map<string, string> params;
- params["id"] = order_id;
- std::string response;
- CZhipuziHttpClient::RequestOld(url.c_str(), params, response);
- rapidjson::Document document;
- document.Parse(response.c_str());
- if (document.HasParseError())
- {
- LOG_INFO("parse response error!");
- return false;
- }
- if (!document.HasMember("errcode") || !document.HasMember("errmsg") || !document.HasMember("data"))
- {
- LOG_INFO("json error!");
- return false;
- }
- rapidjson::Value& v_errcode = document["errcode"];
- int errcode = v_errcode.GetInt();
- if (errcode != 0)
- {
- LOG_INFO("response failed! message:" << document["errmsg"].GetString());
- return false;
- }
- //获得数据成功
- rapidjson::Value& data = document["data"];
- rapidjson::Value& v_count = data["count"];
- string count = v_count.GetString();
- return true;
- }
- bool CWaimaiOrder::SuccessOrder(std::string order_id)
- {
- std::string url = "/waimaiorder/ordersucceeded";
- //请求外卖的未处理订单
- std::map<string, string> params;
- params["id"] = order_id;
- std::string response;
- CZhipuziHttpClient::RequestOld(url.c_str(), params, response);
- rapidjson::Document document;
- document.Parse(response.c_str());
- if (document.HasParseError())
- {
- LOG_INFO("parse response error!");
- return false;
- }
- if (!document.HasMember("errcode") || !document.HasMember("errmsg") || !document.HasMember("data"))
- {
- LOG_INFO("json error!");
- return false;
- }
- rapidjson::Value& v_errcode = document["errcode"];
- int errcode = v_errcode.GetInt();
- if (errcode != 0)
- {
- LOG_INFO("response failed! message:" << document["errmsg"].GetString());
- return false;
- }
- //获得数据成功
- rapidjson::Value& data = document["data"];
- rapidjson::Value& v_count = data["count"];
- string count = v_count.GetString();
- return true;
- }
- bool CWaimaiOrder::FailOrder(std::string order_id, std::string reason)
- {
- std::string url = "/waimaiorder/orderfail";
- //请求外卖的未处理订单
- std::map<string, string> params;
- params["id"] = order_id;
- params["failed_reason"] = reason;
- std::string response;
- CZhipuziHttpClient::RequestOld(url.c_str(), params, response);
- rapidjson::Document document;
- document.Parse(response.c_str());
- if (document.HasParseError())
- {
- LOG_INFO("parse response error!");
- return false;
- }
- if (!document.HasMember("errcode") || !document.HasMember("errmsg") || !document.HasMember("data"))
- {
- LOG_INFO("json error!");
- return false;
- }
- rapidjson::Value& v_errcode = document["errcode"];
- int errcode = v_errcode.GetInt();
- if (errcode != 0)
- {
- LOG_INFO("response failed! message:" << document["errmsg"].GetString());
- return false;
- }
- //获得数据成功
- rapidjson::Value& data = document["data"];
- rapidjson::Value& v_count = data["count"];
- string count = v_count.GetString();
- return true;
- }
- bool CWaimaiOrder::AgreeRefund(std::string order_id)
- {
- std::string url = "/waimaiorder/agreerefund";
- //请求外卖的未处理订单
- std::map<string, string> params;
- params["order_id"] = order_id;
- std::string response;
- CZhipuziHttpClient::RequestOld(url.c_str(), params, response);
- rapidjson::Document document;
- document.Parse(response.c_str());
- if (document.HasParseError())
- {
- LOG_INFO("parse response error!");
- return false;
- }
- if (!document.HasMember("errcode") || !document.HasMember("errmsg") || !document.HasMember("data"))
- {
- LOG_INFO("json error!");
- return false;
- }
- rapidjson::Value& v_errcode = document["errcode"];
- int errcode = v_errcode.GetInt();
- if (errcode != 0)
- {
- LOG_INFO("response failed! message:" << document["errmsg"].GetString());
- return false;
- }
- //获得数据成功
- rapidjson::Value& data = document["data"];
- rapidjson::Value& v_count = data["count"];
- string count = v_count.GetString();
- return true;
- }
- bool CWaimaiOrder::DisagreeRefund(std::string order_id)
- {
- std::string url = "/waimaiorder/disagreerefund";
- //请求外卖的未处理订单
- std::map<string, string> params;
- params["order_id"] = order_id;
- std::string response;
- CZhipuziHttpClient::RequestOld(url.c_str(), params, response);
- rapidjson::Document document;
- document.Parse(response.c_str());
- if (document.HasParseError())
- {
- LOG_INFO("parse response error!");
- return false;
- }
- if (!document.HasMember("errcode") || !document.HasMember("errmsg") || !document.HasMember("data"))
- {
- LOG_INFO("json error!");
- return false;
- }
- rapidjson::Value& v_errcode = document["errcode"];
- int errcode = v_errcode.GetInt();
- if (errcode != 0)
- {
- LOG_INFO("response failed! message:" << document["errmsg"].GetString());
- return false;
- }
- //获得数据成功
- rapidjson::Value& data = document["data"];
- rapidjson::Value& v_count = data["count"];
- string count = v_count.GetString();
- return true;
- }
|