OrderListUI.cpp 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. #include "../pch/pch.h"
  2. #include "OrderListUI.h"
  3. #include "CWaimaiOrderItemUI.h"
  4. #include "ControlEx.h"
  5. void OrderListUI::Refresh()
  6. {
  7. COptionUI* waimai_open_op = static_cast<COptionUI*>(m_pManager->FindControl(L"waimai_open_switch"));
  8. if (waimai_open_op->IsSelected())
  9. {
  10. //请求外卖的未处理订单
  11. std::map<string, string> params;
  12. params["page"] = "1";
  13. std::string response;
  14. CZhipuziHttpClient::RequestOld("/waimaiorder/getopenlist", params, response);
  15. rapidjson::Document document;
  16. document.Parse(response.c_str());
  17. if (document.HasParseError())
  18. {
  19. LOG_INFO("parse response error!");
  20. }
  21. else
  22. {
  23. if (!document.HasMember("errcode") || !document.HasMember("errmsg") || !document.HasMember("data"))
  24. {
  25. LOG_INFO("json error!");
  26. }
  27. rapidjson::Value& v_errcode = document["errcode"];
  28. int errcode = v_errcode.GetInt();
  29. if (errcode != 0)
  30. {
  31. LOG_INFO("response failed! message:" << document["errmsg"].GetString());
  32. }
  33. {
  34. //获得数据成功
  35. rapidjson::Value& data = document["data"];
  36. rapidjson::Value& v_count = data["count"];
  37. string count = v_count.GetString();
  38. rapidjson::Value& v_rows = data["rows"];
  39. for (rapidjson::SizeType i = 0; i < v_rows.Size(); ++i)
  40. {
  41. rapidjson::Value& v_row_i = v_rows[i];
  42. //创建一个对象
  43. CDialogBuilder builder;
  44. CDialogBuilderCallbackEx cb;
  45. CWaimaiOrderItemUI* pDesk = static_cast<CWaimaiOrderItemUI*>(builder.Create(_T("desk.xml"), (UINT)0, &cb, m_pManager));
  46. if (pDesk != NULL)
  47. {
  48. //初始化该对应的数据
  49. pDesk->SetData(v_row_i);
  50. this->Add(pDesk);
  51. pDesk = NULL;
  52. }
  53. else
  54. {
  55. return;
  56. }
  57. }
  58. }
  59. }
  60. }
  61. }