CSetting.cpp 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224
  1. #include "../pch/pch.h"
  2. #include "CSetting.h"
  3. #include "CSqlite3.h"
  4. std::map<std::string, std::string> CSetting::m_paramsMap;
  5. std::vector<ChufangPrinter> CSetting::m_chufang_printers;
  6. std::mutex CSetting::m_mutex;
  7. std::vector<FoodType> CSetting::m_foodtypes;
  8. std::map<std::string, std::string> CSetting::m_foodtype_id_name;
  9. std::map<string, string> CSetting::m_users;
  10. std::string CSetting::m_username;
  11. std::string CSetting::m_password;
  12. CSetting::CSetting()
  13. {
  14. }
  15. CSetting::~CSetting()
  16. {
  17. }
  18. void CSetting::SetParam(std::string name, std::string value, bool isSave)
  19. {
  20. m_mutex.lock();
  21. m_paramsMap[name] = value;
  22. m_mutex.unlock();
  23. if (isSave)
  24. {
  25. SaveParams();
  26. }
  27. }
  28. std::string CSetting::GetParam(std::string name)
  29. {
  30. m_mutex.lock();
  31. std::string value = m_paramsMap[name];
  32. m_mutex.unlock();
  33. return value;
  34. }
  35. void CSetting::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)
  36. {
  37. ChufangPrinter newPrinter;
  38. newPrinter.date = date;
  39. newPrinter.name = name;
  40. newPrinter.ip = ip;
  41. newPrinter.guige = guige;
  42. newPrinter.fendan = fendan;
  43. newPrinter.fenlei = fenlei;
  44. newPrinter.fenlei_ids = fenlei_ids;
  45. m_chufang_printers.push_back(newPrinter);
  46. if (isSave)
  47. {
  48. SaveChufangPrinter();
  49. }
  50. }
  51. void CSetting::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)
  52. {
  53. for (std::vector<ChufangPrinter>::iterator it = m_chufang_printers.begin(); it != m_chufang_printers.end(); it++)
  54. {
  55. if ((*it).date == date)
  56. {
  57. (*it).name = name;
  58. (*it).ip = ip;
  59. (*it).guige = guige;
  60. (*it).fendan = fendan;
  61. (*it).fenlei = fenlei;
  62. (*it).fenlei_ids = fenlei_ids;
  63. break;
  64. }
  65. }
  66. if (isSave)
  67. {
  68. SaveChufangPrinter();
  69. }
  70. }
  71. /*
  72. *删除厨房打印机,默认会同步到数据库
  73. **/
  74. void CSetting::DelChufangPrinter(std::string date)
  75. {
  76. for (std::vector<ChufangPrinter>::iterator it = m_chufang_printers.begin(); it != m_chufang_printers.end(); it++)
  77. {
  78. if ((*it).date == date)
  79. {
  80. m_chufang_printers.erase(it);
  81. break;
  82. }
  83. }
  84. SaveChufangPrinter();
  85. }
  86. ChufangPrinter CSetting::GetChufangPrinter(std::string date)
  87. {
  88. for (std::vector<ChufangPrinter>::iterator it = m_chufang_printers.begin(); it != m_chufang_printers.end(); it++)
  89. {
  90. if ((*it).date == date)
  91. {
  92. return (*it);
  93. }
  94. }
  95. return ChufangPrinter();
  96. }
  97. void CSetting::Init()
  98. {
  99. //先读取数据库的数据
  100. CSqlite3 sqllite;
  101. sqllite.InitConfig();
  102. //再对数据进行初始化,如果没有记录的就加上默认设置
  103. m_mutex.lock();
  104. //外卖设置参数
  105. std::string setting_is_new_waimai_voice = "setting_is_new_waimai_voice";
  106. if (m_paramsMap.find(setting_is_new_waimai_voice) == m_paramsMap.end())
  107. {
  108. m_paramsMap[setting_is_new_waimai_voice] = "1";
  109. }
  110. std::string setting_is_new_waimai_autoconfirm = "setting_is_new_waimai_autoconfirm";
  111. if (m_paramsMap.find(setting_is_new_waimai_autoconfirm) == m_paramsMap.end())
  112. {
  113. m_paramsMap[setting_is_new_waimai_autoconfirm] = "1";
  114. }
  115. std::string setting_is_new_waimai_dialog = "setting_is_new_waimai_dialog";
  116. if (m_paramsMap.find(setting_is_new_waimai_dialog) == m_paramsMap.end())
  117. {
  118. m_paramsMap[setting_is_new_waimai_dialog] = "1";
  119. }
  120. //新订单打印设置参数
  121. std::string setting_is_new_waimai_printer = "setting_is_new_waimai_printer";
  122. if (m_paramsMap.find(setting_is_new_waimai_printer) == m_paramsMap.end())
  123. {
  124. m_paramsMap[setting_is_new_waimai_printer] = "1";
  125. }
  126. std::string setting_printer_guige = "setting_printer_guige";
  127. if (m_paramsMap.find(setting_printer_guige) == m_paramsMap.end())
  128. {
  129. m_paramsMap[setting_printer_guige] = "58";
  130. }
  131. std::string setting_printer_lianshu = "setting_printer_lianshu";
  132. if (m_paramsMap.find(setting_printer_lianshu) == m_paramsMap.end())
  133. {
  134. m_paramsMap[setting_printer_lianshu] = "1";
  135. }
  136. //厨房打印的默认参数
  137. std::string setting_is_new_waimai_chufang_printer = "setting_is_new_waimai_chufang_printer";
  138. if (m_paramsMap.find(setting_is_new_waimai_chufang_printer) == m_paramsMap.end())
  139. {
  140. m_paramsMap[setting_is_new_waimai_chufang_printer] = "1";
  141. }
  142. //系统设置的参数
  143. std::string setting_is_auto_start = "setting_is_auto_start";
  144. if (m_paramsMap.find(setting_is_auto_start) == m_paramsMap.end())
  145. {
  146. m_paramsMap[setting_is_auto_start] = "1";
  147. }
  148. std::string setting_is_auto_login = "setting_is_auto_login";
  149. if (m_paramsMap.find(setting_is_auto_login) == m_paramsMap.end())
  150. {
  151. m_paramsMap[setting_is_auto_login] = "1";
  152. }
  153. std::string setting_is_remember_password = "setting_is_remember_password";
  154. if (m_paramsMap.find(setting_is_remember_password) == m_paramsMap.end())
  155. {
  156. m_paramsMap[setting_is_remember_password] = "1";
  157. }
  158. std::string setting_is_close_min = "setting_is_close_min";
  159. if (m_paramsMap.find(setting_is_close_min) == m_paramsMap.end())
  160. {
  161. m_paramsMap[setting_is_close_min] = "1";
  162. }
  163. m_mutex.unlock();
  164. //设置好默认参数之后,将默认参数写回到数据库
  165. SaveParams();
  166. }
  167. void CSetting::SaveParams()
  168. {
  169. CSqlite3 sqllite;
  170. sqllite.SaveParams(m_paramsMap);
  171. }
  172. void CSetting::SaveChufangPrinter()
  173. {
  174. CSqlite3 sqllite;
  175. sqllite.SaveChufangPrinter(m_chufang_printers);
  176. }
  177. void CSetting::SaveUsers()
  178. {
  179. CSqlite3 sqllite;
  180. sqllite.SaveUsers(m_users);
  181. }