CFoodHandle.cpp 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. #include "../pch/pch.h"
  2. #include "CFoodHandle.h"
  3. #include "CSqlite3.h"
  4. CFoodHandle::CFoodHandle()
  5. {
  6. }
  7. bool CFoodHandle::InitAllFood()
  8. {
  9. std::map<std::string, std::string> params;
  10. std::string response;
  11. bool ret = CZhipuziHttpClient::GetInstance()->Request("/goods/getallgoods", params, response);
  12. if (!ret)
  13. {
  14. return false;
  15. }
  16. rapidjson::Document document;
  17. document.Parse(response.c_str());
  18. if (document.HasParseError())
  19. {
  20. return false;
  21. }
  22. //获得数据成功
  23. rapidjson::Value& data = document["data"];
  24. CSqlite3 sqlite;
  25. //先处理商品的
  26. rapidjson::Value& v_goods_rows = data["goods_rows"];
  27. ret = sqlite.InitFoodData(v_goods_rows);
  28. if (!ret)
  29. {
  30. return false;
  31. }
  32. //再处理商品分类的
  33. rapidjson::Value& v_types_lv1_ids = data["types_lv1_ids"];
  34. ret = sqlite.InitFoodtypeData(v_types_lv1_ids);
  35. if (!ret)
  36. {
  37. return false;
  38. }
  39. //再处理商品套餐的
  40. rapidjson::Value& v_food_package = data["food_package"];
  41. ret = sqlite.InitFoodpackageData(v_food_package);
  42. if (!ret)
  43. {
  44. return false;
  45. }
  46. return true;
  47. }
  48. bool CFoodHandle::UpdateOneFood(std::string food_id)
  49. {
  50. std::map<std::string, std::string> params;
  51. params["goods_id"] = food_id;
  52. std::string response;
  53. bool ret = CZhipuziHttpClient::GetInstance()->Request("/goods/getgoodsinfo", params, response);
  54. if (!ret)
  55. {
  56. return false;
  57. }
  58. rapidjson::Document document;
  59. document.Parse(response.c_str());
  60. if (document.HasParseError())
  61. {
  62. return false;
  63. }
  64. //获得数据成功
  65. rapidjson::Value& data = document["data"];
  66. CSqlite3 sqlite;
  67. //先处理商品的
  68. rapidjson::Value& v_goods_rows = data["goods_row"];
  69. ret = sqlite.UpdateOneFood(v_goods_rows);
  70. if (!ret)
  71. {
  72. return false;
  73. }
  74. return true;
  75. }
  76. bool CFoodHandle::DeleteOneFood(std::string food_id)
  77. {
  78. CSqlite3 sqlite;
  79. //先处理商品的
  80. bool ret = sqlite.DeleteOneFood(food_id);
  81. if (!ret)
  82. {
  83. return false;
  84. }
  85. return true;
  86. }