CSetting.cpp 4.7 KB

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