CSetting.cpp 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372
  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. std::string setting_printer_leixing = "setting_printer_leixing";
  137. if (m_paramsMap.find(setting_printer_leixing) == m_paramsMap.end())
  138. {
  139. m_paramsMap[setting_printer_leixing] = "auto";
  140. }
  141. std::string setting_printer_usb = "setting_printer_usb";
  142. if (m_paramsMap.find(setting_printer_usb) == m_paramsMap.end())
  143. {
  144. m_paramsMap[setting_printer_usb] = "";
  145. }
  146. std::string setting_printer_wangkou_ip = "setting_printer_wangkou_ip";
  147. if (m_paramsMap.find(setting_printer_wangkou_ip) == m_paramsMap.end())
  148. {
  149. m_paramsMap[setting_printer_wangkou_ip] = "";
  150. }
  151. std::string setting_printer_quhuo_big = "setting_printer_quhuo_big";
  152. if(m_paramsMap.find(setting_printer_quhuo_big) == m_paramsMap.end())
  153. {
  154. m_paramsMap[setting_printer_quhuo_big] = "0";
  155. }
  156. std::string setting_printer_dingdanhao_big = "setting_printer_dingdanhao_big";
  157. if(m_paramsMap.find(setting_printer_dingdanhao_big) == m_paramsMap.end())
  158. {
  159. m_paramsMap[setting_printer_dingdanhao_big] = "0";
  160. }
  161. std::string setting_printer_xiadanshijian_big = "setting_printer_xiadanshijian_big";
  162. if(m_paramsMap.find(setting_printer_xiadanshijian_big) == m_paramsMap.end())
  163. {
  164. m_paramsMap[setting_printer_xiadanshijian_big] = "0";
  165. }
  166. std::string setting_printer_peisongshijian_big = "setting_printer_peisongshijian_big";
  167. if(m_paramsMap.find(setting_printer_peisongshijian_big) == m_paramsMap.end())
  168. {
  169. m_paramsMap[setting_printer_peisongshijian_big] = "0";
  170. }
  171. std::string setting_printer_name_big = "setting_printer_name_big";
  172. if(m_paramsMap.find(setting_printer_name_big) == m_paramsMap.end())
  173. {
  174. m_paramsMap[setting_printer_name_big] = "0";
  175. }
  176. std::string setting_printer_phone_big = "setting_printer_phone_big";
  177. if(m_paramsMap.find(setting_printer_phone_big) == m_paramsMap.end())
  178. {
  179. m_paramsMap[setting_printer_phone_big] = "0";
  180. }
  181. std::string setting_printer_address_big = "setting_printer_address_big";
  182. if(m_paramsMap.find(setting_printer_address_big) == m_paramsMap.end())
  183. {
  184. m_paramsMap[setting_printer_address_big] = "0";
  185. }
  186. std::string setting_printer_shangpin_big = "setting_printer_shangpin_big";
  187. if(m_paramsMap.find(setting_printer_shangpin_big) == m_paramsMap.end())
  188. {
  189. m_paramsMap[setting_printer_shangpin_big] = "0";
  190. }
  191. std::string setting_printer_memo_big = "setting_printer_memo_big";
  192. if(m_paramsMap.find(setting_printer_memo_big) == m_paramsMap.end())
  193. {
  194. m_paramsMap[setting_printer_memo_big] = "0";
  195. }
  196. std::string setting_printer_price_big = "setting_printer_price_big";
  197. if(m_paramsMap.find(setting_printer_price_big) == m_paramsMap.end())
  198. {
  199. m_paramsMap[setting_printer_price_big] = "0";
  200. }
  201. std::string setting_printer_pay_big = "setting_printer_pay_big";
  202. if(m_paramsMap.find(setting_printer_pay_big) == m_paramsMap.end())
  203. {
  204. m_paramsMap[setting_printer_pay_big] = "0";
  205. }
  206. //厨房打印的默认参数
  207. std::string setting_is_new_waimai_chufang_printer = "setting_is_new_waimai_chufang_printer";
  208. if(m_paramsMap.find(setting_is_new_waimai_chufang_printer) == m_paramsMap.end())
  209. {
  210. m_paramsMap[setting_is_new_waimai_chufang_printer] = "1";
  211. }
  212. //系统设置的参数
  213. std::string setting_is_auto_start = "setting_is_auto_start";
  214. if(CSystem::IsAutoStart() == true)
  215. {
  216. m_paramsMap[setting_is_auto_start] = "1";
  217. }
  218. else
  219. {
  220. m_paramsMap[setting_is_auto_start] = "0";
  221. }
  222. std::string setting_is_auto_login = "setting_is_auto_login";
  223. if(m_paramsMap.find(setting_is_auto_login) == m_paramsMap.end())
  224. {
  225. m_paramsMap[setting_is_auto_login] = "0";
  226. }
  227. std::string setting_is_remember_password = "setting_is_remember_password";
  228. if(m_paramsMap.find(setting_is_remember_password) == m_paramsMap.end())
  229. {
  230. m_paramsMap[setting_is_remember_password] = "1";
  231. }
  232. std::string setting_is_close_min = "setting_is_close_min";
  233. if(m_paramsMap.find(setting_is_close_min) == m_paramsMap.end())
  234. {
  235. m_paramsMap[setting_is_close_min] = "1";
  236. }
  237. //系统设置的内容
  238. //抓取类型
  239. std::string system_setting_jinezhuaqu_setting_type = "system_setting_jinezhuaqu_setting_type";
  240. if (m_paramsMap.find(system_setting_jinezhuaqu_setting_type) == m_paramsMap.end())
  241. {
  242. m_paramsMap[system_setting_jinezhuaqu_setting_type] = "1";
  243. }
  244. //串口模式的串口端口
  245. std::string system_setting_jinezhuaqu_setting_chuankou_num = "system_setting_jinezhuaqu_setting_chuankou_num";
  246. if (m_paramsMap.find(system_setting_jinezhuaqu_setting_chuankou_num) == m_paramsMap.end())
  247. {
  248. m_paramsMap[system_setting_jinezhuaqu_setting_chuankou_num] = "";
  249. }
  250. //虚拟串口模式的端参数
  251. std::string system_setting_jinezhuaqu_setting_xunichuankou_num_1 = "system_setting_jinezhuaqu_setting_xunichuankou_num_1";
  252. if (m_paramsMap.find(system_setting_jinezhuaqu_setting_xunichuankou_num_1) == m_paramsMap.end())
  253. {
  254. m_paramsMap[system_setting_jinezhuaqu_setting_xunichuankou_num_1] = "";
  255. }
  256. std::string system_setting_jinezhuaqu_setting_xunichuankou_num_2 = "system_setting_jinezhuaqu_setting_xunichuankou_num_2";
  257. if (m_paramsMap.find(system_setting_jinezhuaqu_setting_xunichuankou_num_2) == m_paramsMap.end())
  258. {
  259. m_paramsMap[system_setting_jinezhuaqu_setting_xunichuankou_num_2] = "";
  260. }
  261. std::string system_setting_jinezhuaqu_setting_xunichuankou_botelv = "system_setting_jinezhuaqu_setting_xunichuankou_botelv";
  262. if (m_paramsMap.find(system_setting_jinezhuaqu_setting_xunichuankou_botelv) == m_paramsMap.end())
  263. {
  264. m_paramsMap[system_setting_jinezhuaqu_setting_xunichuankou_botelv] = "2400";
  265. }
  266. //窗口模式的参数
  267. std::string system_setting_jinezhuaqu_setting_chuangkou_model = "system_setting_jinezhuaqu_setting_chuangkou_model";
  268. if (m_paramsMap.find(system_setting_jinezhuaqu_setting_chuangkou_model) == m_paramsMap.end())
  269. {
  270. m_paramsMap[system_setting_jinezhuaqu_setting_chuangkou_model] = "1";
  271. }
  272. std::string system_setting_jinezhuaqu_setting_chuangkou_process_name = "system_setting_jinezhuaqu_setting_chuangkou_process_name";
  273. if (m_paramsMap.find(system_setting_jinezhuaqu_setting_chuangkou_process_name) == m_paramsMap.end())
  274. {
  275. m_paramsMap[system_setting_jinezhuaqu_setting_chuangkou_process_name] = "";
  276. }
  277. std::string system_setting_jinezhuaqu_setting_chuangkou_title = "system_setting_jinezhuaqu_setting_chuangkou_title";
  278. if (m_paramsMap.find(system_setting_jinezhuaqu_setting_chuangkou_title) == m_paramsMap.end())
  279. {
  280. m_paramsMap[system_setting_jinezhuaqu_setting_chuangkou_title] = "";
  281. }
  282. std::string system_setting_jinezhuaqu_setting_chuangkou_zorder = "system_setting_jinezhuaqu_setting_chuangkou_zorder";
  283. if (m_paramsMap.find(system_setting_jinezhuaqu_setting_chuangkou_zorder) == m_paramsMap.end())
  284. {
  285. m_paramsMap[system_setting_jinezhuaqu_setting_chuangkou_zorder] = "0";
  286. }
  287. m_mutex.unlock();
  288. //设置好默认参数之后,将默认参数写回到数据库
  289. SaveParams();
  290. }
  291. void CSetting::SaveParams()
  292. {
  293. CSqlite3 sqllite;
  294. sqllite.SaveParams(m_paramsMap);
  295. }
  296. void CSetting::SaveChufangPrinter()
  297. {
  298. CSqlite3 sqllite;
  299. sqllite.SaveChufangPrinter(m_chufang_printers);
  300. }
  301. void CSetting::SaveUsers()
  302. {
  303. CSqlite3 sqllite;
  304. sqllite.SaveUsers(m_users);
  305. }