CSetting.h 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156
  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 AddFoodtype(std::string name, std::string type_id)
  68. {
  69. FoodType newFoodType;
  70. newFoodType.name = name;
  71. newFoodType.type_id = type_id;
  72. m_foodtypes.push_back(newFoodType);
  73. m_foodtype_id_name[type_id] = name;
  74. }
  75. static std::vector<FoodType>& GetFoodtype()
  76. {
  77. return m_foodtypes;
  78. }
  79. static std::string getFoodtypeName(std::string type_id)
  80. {
  81. if (m_foodtype_id_name.find(type_id) != m_foodtype_id_name.end())
  82. {
  83. return m_foodtype_id_name[type_id];
  84. }
  85. //返回这个表示没找到这个分类
  86. return "zhipuzi_not_found_xxx";
  87. }
  88. static void SetLoginInfo(std::string username, std::string password)
  89. {
  90. m_username = username;
  91. m_password = password;
  92. }
  93. static std::string getUsername()
  94. {
  95. return m_username;
  96. }
  97. static std::string getPassword()
  98. {
  99. return m_password;
  100. }
  101. /*
  102. *把内存中的参数,写到数据库中
  103. **/
  104. static void SaveParams();
  105. /*
  106. *把内存中的厨房打印机信息,存到数据库
  107. **/
  108. static void SaveChufangPrinter();
  109. static void SaveUsers();
  110. private:
  111. static std::map<std::string, std::string> m_paramsMap;
  112. static std::vector<ChufangPrinter> m_chufang_printers;
  113. static std::mutex m_mutex;
  114. static std::vector<FoodType> m_foodtypes;
  115. //从商品分类的id到name的映射
  116. static std::map<std::string, std::string> m_foodtype_id_name;
  117. static std::map<string, string> m_users;
  118. static std::string m_username;
  119. static std::string m_password;
  120. };