CSetting.cpp 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170
  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. /*
  47. *删除厨房打印机,默认会同步到数据库
  48. **/
  49. void CSetting:: DelChufangPrinter(std::string date)
  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. m_chufang_printers.erase(it);
  56. break;
  57. }
  58. }
  59. SaveChufangPrinter();
  60. }
  61. void CSetting::Init()
  62. {
  63. m_mutex.lock();
  64. //数据库里面的参数读取完了,接下来对比默认参数
  65. //外卖设置参数
  66. std::string setting_is_new_waimai_voice = "setting_is_new_waimai_voice";
  67. if (m_paramsMap.find(setting_is_new_waimai_voice) == m_paramsMap.end())
  68. {
  69. m_paramsMap[setting_is_new_waimai_voice] = "1";
  70. }
  71. std::string setting_is_new_waimai_autoconfirm = "setting_is_new_waimai_autoconfirm";
  72. if (m_paramsMap.find(setting_is_new_waimai_autoconfirm) == m_paramsMap.end())
  73. {
  74. m_paramsMap[setting_is_new_waimai_autoconfirm] = "1";
  75. }
  76. std::string setting_is_new_waimai_dialog = "setting_is_new_waimai_dialog";
  77. if (m_paramsMap.find(setting_is_new_waimai_dialog) == m_paramsMap.end())
  78. {
  79. m_paramsMap[setting_is_new_waimai_dialog] = "1";
  80. }
  81. //新订单打印设置参数
  82. std::string setting_is_new_waimai_printer = "setting_is_new_waimai_printer";
  83. if (m_paramsMap.find(setting_is_new_waimai_printer) == m_paramsMap.end())
  84. {
  85. m_paramsMap[setting_is_new_waimai_printer] = "1";
  86. }
  87. std::string setting_printer_guige = "setting_printer_guige";
  88. if (m_paramsMap.find(setting_printer_guige) == m_paramsMap.end())
  89. {
  90. m_paramsMap[setting_printer_guige] = "58";
  91. }
  92. std::string setting_printer_lianshu = "setting_printer_lianshu";
  93. if (m_paramsMap.find(setting_printer_lianshu) == m_paramsMap.end())
  94. {
  95. m_paramsMap[setting_printer_lianshu] = "1";
  96. }
  97. //厨房打印的默认参数
  98. std::string setting_is_new_waimai_chufang_printer = "setting_is_new_waimai_chufang_printer";
  99. if (m_paramsMap.find(setting_is_new_waimai_chufang_printer) == m_paramsMap.end())
  100. {
  101. m_paramsMap[setting_is_new_waimai_chufang_printer] = "1";
  102. }
  103. //系统设置的参数
  104. std::string setting_is_auto_start = "setting_is_auto_start";
  105. if (m_paramsMap.find(setting_is_auto_start) == m_paramsMap.end())
  106. {
  107. m_paramsMap[setting_is_auto_start] = "1";
  108. }
  109. std::string setting_is_auto_login = "setting_is_auto_login";
  110. if (m_paramsMap.find(setting_is_auto_login) == m_paramsMap.end())
  111. {
  112. m_paramsMap[setting_is_auto_login] = "1";
  113. }
  114. std::string setting_is_close_min = "setting_is_close_min";
  115. if (m_paramsMap.find(setting_is_close_min) == m_paramsMap.end())
  116. {
  117. m_paramsMap[setting_is_close_min] = "1";
  118. }
  119. m_mutex.unlock();
  120. //设置好默认参数之后,将默认参数写回到数据库
  121. SaveParams();
  122. //厨房打印机没有默认的,这里不需要处理
  123. }
  124. void CSetting::SaveParams()
  125. {
  126. CSqlite3 sqllite;
  127. sqllite.SaveParams(m_paramsMap);
  128. }
  129. void CSetting::SaveChufangPrinter()
  130. {
  131. CSqlite3 sqllite;
  132. sqllite.SaveChufangPrinter(m_chufang_printers);
  133. }