CSetting.cpp 4.6 KB

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