CSetting.cpp 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520
  1. #include "../pch/pch.h"
  2. #include "CSetting.h"
  3. #include "CSqlite3.h"
  4. CSetting::CSetting()
  5. {
  6. }
  7. void CSetting::Init()
  8. {
  9. //先读取数据库的数据
  10. CSqlite3 sqllite;
  11. sqllite.InitDB();
  12. //再对数据进行初始化,如果没有记录的就加上默认设置
  13. m_mutex.lock();
  14. //http代理相关
  15. std::string http_is_proxy = "http_is_proxy";
  16. if (m_paramsMap.find(http_is_proxy) == m_paramsMap.end())
  17. {
  18. m_paramsMap[http_is_proxy] = "0";
  19. }
  20. std::string http_proxy_ip = "http_proxy_ip";
  21. if (m_paramsMap.find(http_proxy_ip) == m_paramsMap.end())
  22. {
  23. m_paramsMap[http_proxy_ip] = "";
  24. }
  25. std::string http_proxy_port = "http_proxy_port";
  26. if (m_paramsMap.find(http_proxy_port) == m_paramsMap.end())
  27. {
  28. //默认不开启收款免确认
  29. m_paramsMap[http_proxy_port] = "";
  30. }
  31. std::string http_proxy_username = "http_proxy_username";
  32. if (m_paramsMap.find(http_proxy_username) == m_paramsMap.end())
  33. {
  34. //默认不开启收款免确认
  35. m_paramsMap[http_proxy_username] = "";
  36. }
  37. std::string http_proxy_password = "http_proxy_password";
  38. if (m_paramsMap.find(http_proxy_password) == m_paramsMap.end())
  39. {
  40. //默认不开启收款免确认
  41. m_paramsMap[http_proxy_password] = "";
  42. }
  43. //外卖设置参数
  44. std::string setting_is_new_waimai_voice = "setting_is_new_waimai_voice";
  45. if (m_paramsMap.find(setting_is_new_waimai_voice) == m_paramsMap.end())
  46. {
  47. m_paramsMap[setting_is_new_waimai_voice] = "1";
  48. }
  49. std::string setting_is_new_waimai_autoconfirm = "setting_is_new_waimai_autoconfirm";
  50. if (m_paramsMap.find(setting_is_new_waimai_autoconfirm) == m_paramsMap.end())
  51. {
  52. m_paramsMap[setting_is_new_waimai_autoconfirm] = "1";
  53. }
  54. std::string setting_is_new_waimai_printer = "setting_is_new_waimai_printer";
  55. if (m_paramsMap.find(setting_is_new_waimai_printer) == m_paramsMap.end())
  56. {
  57. m_paramsMap[setting_is_new_waimai_printer] = "1";
  58. }
  59. std::string setting_is_new_waimai_biaoqian_printer = "setting_is_new_waimai_biaoqian_printer";
  60. if (m_paramsMap.find(setting_is_new_waimai_biaoqian_printer) == m_paramsMap.end())
  61. {
  62. m_paramsMap[setting_is_new_waimai_biaoqian_printer] = "0";
  63. }
  64. std::string setting_is_new_waimai_chufang_printer = "setting_is_new_waimai_chufang_printer";
  65. if (m_paramsMap.find(setting_is_new_waimai_chufang_printer) == m_paramsMap.end())
  66. {
  67. m_paramsMap[setting_is_new_waimai_chufang_printer] = "1";
  68. }
  69. //店内订单设置参数
  70. std::string setting_is_new_diannei_voice = "setting_is_new_diannei_voice";
  71. if (m_paramsMap.find(setting_is_new_diannei_voice) == m_paramsMap.end())
  72. {
  73. m_paramsMap[setting_is_new_diannei_voice] = "1";
  74. }
  75. std::string setting_is_new_diannei_printer = "setting_is_new_diannei_printer";
  76. if (m_paramsMap.find(setting_is_new_diannei_printer) == m_paramsMap.end())
  77. {
  78. m_paramsMap[setting_is_new_diannei_printer] = "1";
  79. }
  80. std::string setting_is_new_diannei_biaoqian_printer = "setting_is_new_diannei_biaoqian_printer";
  81. if (m_paramsMap.find(setting_is_new_diannei_biaoqian_printer) == m_paramsMap.end())
  82. {
  83. m_paramsMap[setting_is_new_diannei_biaoqian_printer] = "0";
  84. }
  85. std::string setting_is_new_diannei_chufang_printer = "setting_is_new_diannei_chufang_printer";
  86. if (m_paramsMap.find(setting_is_new_diannei_chufang_printer) == m_paramsMap.end())
  87. {
  88. m_paramsMap[setting_is_new_diannei_chufang_printer] = "1";
  89. }
  90. std::string setting_is_diannei_xianjin_qianxiang = "setting_is_diannei_xianjin_qianxiang";
  91. if (m_paramsMap.find(setting_is_diannei_xianjin_qianxiang) == m_paramsMap.end())
  92. {
  93. m_paramsMap[setting_is_diannei_xianjin_qianxiang] = "1";
  94. }
  95. //小票打印设置参数
  96. std::string setting_printer_guige = "setting_printer_guige";
  97. if (m_paramsMap.find(setting_printer_guige) == m_paramsMap.end())
  98. {
  99. m_paramsMap[setting_printer_guige] = "58";
  100. }
  101. std::string setting_printer_lianshu = "setting_printer_lianshu";
  102. if (m_paramsMap.find(setting_printer_lianshu) == m_paramsMap.end())
  103. {
  104. m_paramsMap[setting_printer_lianshu] = "1";
  105. }
  106. std::string setting_printer_leixing = "setting_printer_leixing";
  107. if (m_paramsMap.find(setting_printer_leixing) == m_paramsMap.end())
  108. {
  109. m_paramsMap[setting_printer_leixing] = "auto";
  110. }
  111. std::string setting_printer_usb = "setting_printer_usb";
  112. if (m_paramsMap.find(setting_printer_usb) == m_paramsMap.end())
  113. {
  114. m_paramsMap[setting_printer_usb] = "";
  115. }
  116. std::string setting_printer_com = "setting_printer_com";
  117. if (m_paramsMap.find(setting_printer_com) == m_paramsMap.end())
  118. {
  119. m_paramsMap[setting_printer_com] = "";
  120. }
  121. std::string setting_printer_wangkou_ip = "setting_printer_wangkou_ip";
  122. if (m_paramsMap.find(setting_printer_wangkou_ip) == m_paramsMap.end())
  123. {
  124. m_paramsMap[setting_printer_wangkou_ip] = "";
  125. }
  126. std::string setting_printer_quhuo_big = "setting_printer_quhuo_big";
  127. if (m_paramsMap.find(setting_printer_quhuo_big) == m_paramsMap.end())
  128. {
  129. m_paramsMap[setting_printer_quhuo_big] = "0";
  130. }
  131. std::string setting_printer_dingdanhao_big = "setting_printer_dingdanhao_big";
  132. if (m_paramsMap.find(setting_printer_dingdanhao_big) == m_paramsMap.end())
  133. {
  134. m_paramsMap[setting_printer_dingdanhao_big] = "0";
  135. }
  136. std::string setting_printer_xiadanshijian_big = "setting_printer_xiadanshijian_big";
  137. if (m_paramsMap.find(setting_printer_xiadanshijian_big) == m_paramsMap.end())
  138. {
  139. m_paramsMap[setting_printer_xiadanshijian_big] = "0";
  140. }
  141. std::string setting_printer_peisongshijian_big = "setting_printer_peisongshijian_big";
  142. if (m_paramsMap.find(setting_printer_peisongshijian_big) == m_paramsMap.end())
  143. {
  144. m_paramsMap[setting_printer_peisongshijian_big] = "0";
  145. }
  146. std::string setting_printer_name_big = "setting_printer_name_big";
  147. if (m_paramsMap.find(setting_printer_name_big) == m_paramsMap.end())
  148. {
  149. m_paramsMap[setting_printer_name_big] = "0";
  150. }
  151. std::string setting_printer_phone_big = "setting_printer_phone_big";
  152. if (m_paramsMap.find(setting_printer_phone_big) == m_paramsMap.end())
  153. {
  154. m_paramsMap[setting_printer_phone_big] = "0";
  155. }
  156. std::string setting_printer_address_big = "setting_printer_address_big";
  157. if (m_paramsMap.find(setting_printer_address_big) == m_paramsMap.end())
  158. {
  159. m_paramsMap[setting_printer_address_big] = "0";
  160. }
  161. std::string setting_printer_shangpin_big = "setting_printer_shangpin_big";
  162. if (m_paramsMap.find(setting_printer_shangpin_big) == m_paramsMap.end())
  163. {
  164. m_paramsMap[setting_printer_shangpin_big] = "0";
  165. }
  166. std::string setting_printer_memo_big = "setting_printer_memo_big";
  167. if (m_paramsMap.find(setting_printer_memo_big) == m_paramsMap.end())
  168. {
  169. m_paramsMap[setting_printer_memo_big] = "0";
  170. }
  171. std::string setting_printer_price_big = "setting_printer_price_big";
  172. if (m_paramsMap.find(setting_printer_price_big) == m_paramsMap.end())
  173. {
  174. m_paramsMap[setting_printer_price_big] = "0";
  175. }
  176. std::string setting_printer_pay_big = "setting_printer_pay_big";
  177. if (m_paramsMap.find(setting_printer_pay_big) == m_paramsMap.end())
  178. {
  179. m_paramsMap[setting_printer_pay_big] = "0";
  180. }
  181. //标签打印参数设置
  182. std::string setting_biaoqian_printer_usb = "setting_biaoqian_printer_usb";
  183. if (m_paramsMap.find(setting_biaoqian_printer_usb) == m_paramsMap.end())
  184. {
  185. m_paramsMap[setting_biaoqian_printer_usb] = "";
  186. }
  187. std::string setting_biaoqian_printer_guige = "setting_biaoqian_printer_guige";
  188. if (m_paramsMap.find(setting_biaoqian_printer_guige) == m_paramsMap.end())
  189. {
  190. m_paramsMap[setting_biaoqian_printer_guige] = "40*30mm";
  191. }
  192. std::string setting_biaoqian_printer_fangxiang = "setting_biaoqian_printer_fangxiang";
  193. if (m_paramsMap.find(setting_biaoqian_printer_fangxiang) == m_paramsMap.end())
  194. {
  195. //1表示正方向,0表示反方向
  196. m_paramsMap[setting_biaoqian_printer_fangxiang] = "1";
  197. }
  198. std::string setting_biaoqian_printer_is_type = "setting_biaoqian_printer_is_type";
  199. if (m_paramsMap.find(setting_biaoqian_printer_is_type) == m_paramsMap.end())
  200. {
  201. //1表示按分类打印,0表示不按分类打印
  202. m_paramsMap[setting_biaoqian_printer_is_type] = "0";
  203. }
  204. std::string setting_biaoqian_printer_type_ids = "setting_biaoqian_printer_type_ids";
  205. if (m_paramsMap.find(setting_biaoqian_printer_type_ids) == m_paramsMap.end())
  206. {
  207. //1表示按分类打印,0表示不按分类打印
  208. m_paramsMap[setting_biaoqian_printer_type_ids] = "";
  209. }
  210. //电子秤参数
  211. std::string setting_dianzicheng_xinghao = "setting_dianzicheng_xinghao";
  212. if (m_paramsMap.find(setting_dianzicheng_xinghao) == m_paramsMap.end())
  213. {
  214. m_paramsMap[setting_dianzicheng_xinghao] = "dahua_acs";
  215. }
  216. std::string setting_dianzicheng_com = "setting_dianzicheng_com";
  217. if (m_paramsMap.find(setting_dianzicheng_com) == m_paramsMap.end())
  218. {
  219. m_paramsMap[setting_dianzicheng_com] = "";
  220. }
  221. std::string setting_dianzicheng_botelv = "setting_dianzicheng_botelv";
  222. if (m_paramsMap.find(setting_dianzicheng_botelv) == m_paramsMap.end())
  223. {
  224. m_paramsMap[setting_dianzicheng_botelv] = "9600";
  225. }
  226. //条码秤参数
  227. std::string setting_tiaomacheng_geshi = "setting_tiaomacheng_geshi";
  228. if (m_paramsMap.find(setting_tiaomacheng_geshi) == m_paramsMap.end())
  229. {
  230. //用数字1到8,分别表示8个格式
  231. m_paramsMap[setting_tiaomacheng_geshi] = "1";
  232. }
  233. std::string setting_tiaomacheng_xinghao = "setting_tiaomacheng_xinghao";
  234. if (m_paramsMap.find(setting_tiaomacheng_xinghao) == m_paramsMap.end())
  235. {
  236. m_paramsMap[setting_tiaomacheng_xinghao] = "dahua_tm";
  237. }
  238. std::string setting_tiaomacheng_ip = "setting_tiaomacheng_ip";
  239. if (m_paramsMap.find(setting_tiaomacheng_ip) == m_paramsMap.end())
  240. {
  241. m_paramsMap[setting_tiaomacheng_ip] = "";
  242. }
  243. //系统设置的参数
  244. std::string setting_is_auto_start = "setting_is_auto_start";
  245. if (CSystem::IsAutoStart() == true)
  246. {
  247. m_paramsMap[setting_is_auto_start] = "1";
  248. }
  249. else
  250. {
  251. m_paramsMap[setting_is_auto_start] = "0";
  252. }
  253. std::string setting_is_auto_login = "setting_is_auto_login";
  254. if (m_paramsMap.find(setting_is_auto_login) == m_paramsMap.end())
  255. {
  256. m_paramsMap[setting_is_auto_login] = "0";
  257. }
  258. std::string setting_is_remember_password = "setting_is_remember_password";
  259. if (m_paramsMap.find(setting_is_remember_password) == m_paramsMap.end())
  260. {
  261. m_paramsMap[setting_is_remember_password] = "1";
  262. }
  263. std::string setting_is_close_min = "setting_is_close_min";
  264. if (m_paramsMap.find(setting_is_close_min) == m_paramsMap.end())
  265. {
  266. m_paramsMap[setting_is_close_min] = "1";
  267. }
  268. //显示相关的(默认有图模式)
  269. std::string setting_xianshi_is_youtu = "setting_xianshi_is_youtu";
  270. if (m_paramsMap.find(setting_xianshi_is_youtu) == m_paramsMap.end())
  271. {
  272. m_paramsMap[setting_xianshi_is_youtu] = "1";
  273. }
  274. //功能菜单的参数
  275. std::string setting_gongneng_changyong_string = "setting_gongneng_changyong_string";
  276. if (m_paramsMap.find(setting_gongneng_changyong_string) == m_paramsMap.end())
  277. {
  278. m_paramsMap[setting_gongneng_changyong_string] = "diandan,dingdan,huiyuan,baobiao,jiaoban,setting";
  279. }
  280. std::string setting_gongneng_gengduo_string = "setting_gongneng_gengduo_string";
  281. if (m_paramsMap.find(setting_gongneng_gengduo_string) == m_paramsMap.end())
  282. {
  283. m_paramsMap[setting_gongneng_gengduo_string] = "shangpin,kucun,caigou,zhengcan,saomashouyin";
  284. }
  285. //点单页面关于抹零的设置 0 不抹零 1 抹零到角 2 抹零到元
  286. std::string diandan_moling_type = "diandan_moling_type";
  287. if (m_paramsMap.find(diandan_moling_type) == m_paramsMap.end())
  288. {
  289. m_paramsMap[diandan_moling_type] = "0";
  290. }
  291. m_mutex.unlock();
  292. //设置好默认参数之后,将默认参数写回到数据库
  293. CSetting::SaveParams();
  294. }
  295. void CSetting::SetParam(std::string name, std::string value, bool isSave)
  296. {
  297. m_mutex.lock();
  298. m_paramsMap[name] = value;
  299. m_mutex.unlock();
  300. if (isSave)
  301. {
  302. SaveParams();
  303. }
  304. }
  305. std::string CSetting::GetParam(std::string name)
  306. {
  307. m_mutex.lock();
  308. std::string value = m_paramsMap[name];
  309. m_mutex.unlock();
  310. return value;
  311. }
  312. 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)
  313. {
  314. ChufangPrinter newPrinter;
  315. newPrinter.date = date;
  316. newPrinter.name = name;
  317. newPrinter.ip = ip;
  318. newPrinter.guige = guige;
  319. newPrinter.fendan = fendan;
  320. newPrinter.fenlei = fenlei;
  321. newPrinter.fenlei_ids = fenlei_ids;
  322. m_chufang_printers.push_back(newPrinter);
  323. if (isSave)
  324. {
  325. SaveChufangPrinter();
  326. }
  327. }
  328. 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)
  329. {
  330. for (std::vector<ChufangPrinter>::iterator it = m_chufang_printers.begin(); it != m_chufang_printers.end(); it++)
  331. {
  332. if ((*it).date == date)
  333. {
  334. (*it).name = name;
  335. (*it).ip = ip;
  336. (*it).guige = guige;
  337. (*it).fendan = fendan;
  338. (*it).fenlei = fenlei;
  339. (*it).fenlei_ids = fenlei_ids;
  340. break;
  341. }
  342. }
  343. if (isSave)
  344. {
  345. SaveChufangPrinter();
  346. }
  347. }
  348. /*
  349. *删除厨房打印机,默认会同步到数据库
  350. **/
  351. void CSetting::DelChufangPrinter(std::string date)
  352. {
  353. for (std::vector<ChufangPrinter>::iterator it = m_chufang_printers.begin(); it != m_chufang_printers.end(); it++)
  354. {
  355. if ((*it).date == date)
  356. {
  357. m_chufang_printers.erase(it);
  358. break;
  359. }
  360. }
  361. SaveChufangPrinter();
  362. }
  363. ChufangPrinter CSetting::GetChufangPrinter(std::string date)
  364. {
  365. for (std::vector<ChufangPrinter>::iterator it = m_chufang_printers.begin(); it != m_chufang_printers.end(); it++)
  366. {
  367. if ((*it).date == date)
  368. {
  369. return (*it);
  370. }
  371. }
  372. return ChufangPrinter();
  373. }
  374. ChufangPrinter CSetting::getLastChufangPrinter()
  375. {
  376. return m_chufang_printers.back();
  377. }
  378. std::vector<ChufangPrinter>& CSetting::getChufangPrints()
  379. {
  380. return m_chufang_printers;
  381. }
  382. void CSetting::SaveParams()
  383. {
  384. CSqlite3 sqllite;
  385. sqllite.SaveParams(m_paramsMap);
  386. }
  387. void CSetting::SaveChufangPrinter()
  388. {
  389. CSqlite3 sqllite;
  390. sqllite.SaveChufangPrinter(m_chufang_printers);
  391. }
  392. void CSetting::SaveUsers()
  393. {
  394. CSqlite3 sqllite;
  395. sqllite.SaveUsers(m_users);
  396. }
  397. void CSetting::SetUser(std::string name, std::string password, bool isSave)
  398. {
  399. m_users[name] = password;
  400. if (isSave)
  401. {
  402. SaveUsers();
  403. }
  404. }
  405. std::string CSetting::GetUser(std::string name)
  406. {
  407. if (m_users.find(name) == m_users.end())
  408. {
  409. return "";
  410. }
  411. return m_users[name];
  412. }
  413. std::map<string, string> CSetting::getUsers()
  414. {
  415. return m_users;
  416. }
  417. void CSetting::SetLoginInfo(std::string username, std::string password)
  418. {
  419. m_username = username;
  420. m_password = password;
  421. }
  422. std::string CSetting::getUsername()
  423. {
  424. return m_username;
  425. }
  426. std::string CSetting::getPassword()
  427. {
  428. return m_password;
  429. }