CSetting.h 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162
  1. #pragma once
  2. #include "../pch/pch.h"
  3. class ChufangPrinter
  4. {
  5. public:
  6. std::string date;
  7. std::string name;
  8. std::string ip;
  9. std::string guige;
  10. std::string fendan;
  11. std::string fenlei;
  12. std::string fenlei_ids;
  13. };
  14. class FoodType
  15. {
  16. public:
  17. std::string name;
  18. std::string type_id;
  19. };
  20. class CSetting
  21. {
  22. public:
  23. CSetting();
  24. ~CSetting();
  25. //修改内存中的参数设置
  26. static void SetParam(std::string name, std::string value, bool isSave = true);
  27. static std::string GetParam(std::string name);
  28. //厨房打印机相关的参数配置
  29. static void AddChufangPrinter(std::string date, std::string name, std::string ip, std::string guige, std::string fendan, std::string fenlei, std::string fenlei_ids, bool isSave = true);
  30. static void UpdateChufangPrinter(std::string date, std::string name, std::string ip, std::string guige, std::string fendan, std::string fenlei, std::string fenlei_ids, bool isSave = true);
  31. static void DelChufangPrinter(std::string date);
  32. static ChufangPrinter GetChufangPrinter(std::string date);
  33. static void SetUser(std::string name, std::string password, bool isSave = true)
  34. {
  35. m_users[name] = password;
  36. if (isSave)
  37. {
  38. SaveUsers();
  39. }
  40. }
  41. static std::string GetUser(std::string name)
  42. {
  43. if (m_users.find(name) == m_users.end())
  44. {
  45. return "";
  46. }
  47. return m_users[name];
  48. }
  49. static std::map<string, string> getUsers()
  50. {
  51. return m_users;
  52. }
  53. //刚打开程序的时候,根据数据库初始化内存,并且添加默认参数
  54. static void Init();
  55. static std::string getValue(std::string name)
  56. {
  57. return m_paramsMap[name];
  58. }
  59. static ChufangPrinter getLastChufangPrinter()
  60. {
  61. return m_chufang_printers.back();
  62. }
  63. static std::vector<ChufangPrinter>& getChufangPrints()
  64. {
  65. return m_chufang_printers;
  66. }
  67. static void ClearFoodtype()
  68. {
  69. m_foodtypes.clear();
  70. m_foodtype_id_name.clear();
  71. }
  72. static void AddFoodtype(std::string name, std::string type_id)
  73. {
  74. FoodType newFoodType;
  75. newFoodType.name = name;
  76. newFoodType.type_id = type_id;
  77. m_foodtypes.push_back(newFoodType);
  78. m_foodtype_id_name[type_id] = name;
  79. }
  80. static std::vector<FoodType>& GetFoodtype()
  81. {
  82. return m_foodtypes;
  83. }
  84. static std::string getFoodtypeName(std::string type_id)
  85. {
  86. if (m_foodtype_id_name.find(type_id) != m_foodtype_id_name.end())
  87. {
  88. return m_foodtype_id_name[type_id];
  89. }
  90. //返回这个表示没找到这个分类
  91. return "zhipuzi_not_found_xxx";
  92. }
  93. static void SetLoginInfo(std::string username, std::string password)
  94. {
  95. m_username = username;
  96. m_password = password;
  97. }
  98. static std::string getUsername()
  99. {
  100. return m_username;
  101. }
  102. static std::string getPassword()
  103. {
  104. return m_password;
  105. }
  106. /*
  107. *把内存中的参数,写到数据库中
  108. **/
  109. static void SaveParams();
  110. /*
  111. *把内存中的厨房打印机信息,存到数据库
  112. **/
  113. static void SaveChufangPrinter();
  114. static void SaveUsers();
  115. private:
  116. static std::map<std::string, std::string> m_paramsMap;
  117. static std::vector<ChufangPrinter> m_chufang_printers;
  118. static std::mutex m_mutex;
  119. static std::vector<FoodType> m_foodtypes;
  120. //从商品分类的id到name的映射
  121. static std::map<std::string, std::string> m_foodtype_id_name;
  122. static std::map<string, string> m_users;
  123. static std::string m_username;
  124. static std::string m_password;
  125. };