CSetting.cpp 5.0 KB

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