CSetting.h 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  1. #pragma once
  2. #include "../pch/pch.h"
  3. class ChufangPrinter
  4. {
  5. public:
  6. std::string date;
  7. std::string name;
  8. std::string ip;
  9. std::string guige;
  10. std::string fendan;
  11. std::string fenlei;
  12. std::string fenlei_ids;
  13. };
  14. class FoodType
  15. {
  16. public:
  17. std::string name;
  18. std::string type_id;
  19. };
  20. class CSetting
  21. {
  22. public:
  23. CSetting();
  24. ~CSetting();
  25. //修改内存中的参数设置
  26. static void SetParam(std::string name, std::string value, bool isSave = true);
  27. static std::string GetParam(std::string name);
  28. //厨房打印机相关的参数配置
  29. static void 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 = true);
  30. static void 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 = true);
  31. static void DelChufangPrinter(std::string date);
  32. static ChufangPrinter GetChufangPrinter(std::string date);
  33. //刚打开程序的时候,根据数据库初始化内存,并且添加默认参数
  34. static void Init();
  35. static std::string getValue(std::string name)
  36. {
  37. return m_paramsMap[name];
  38. }
  39. static ChufangPrinter getLastChufangPrinter()
  40. {
  41. return m_chufang_printers.back();
  42. }
  43. static std::vector<ChufangPrinter>& getChufangPrints()
  44. {
  45. return m_chufang_printers;
  46. }
  47. static void AddFoodtype(std::string name, std::string type_id)
  48. {
  49. FoodType newFoodType;
  50. newFoodType.name = name;
  51. newFoodType.type_id = type_id;
  52. m_foodtypes.push_back(newFoodType);
  53. m_foodtype_id_name[type_id] = name;
  54. }
  55. static std::vector<FoodType>& GetFoodtype()
  56. {
  57. return m_foodtypes;
  58. }
  59. static std::string getFoodtypeName(std::string type_id)
  60. {
  61. if (m_foodtype_id_name.find(type_id) != m_foodtype_id_name.end())
  62. {
  63. return m_foodtype_id_name[type_id];
  64. }
  65. //返回这个表示没找到这个分类
  66. return "zhipuzi_not_found_xxx";
  67. }
  68. /*
  69. *把内存中的参数,写到数据库中
  70. **/
  71. static void SaveParams();
  72. /*
  73. *把内存中的厨房打印机信息,存到数据库
  74. **/
  75. static void SaveChufangPrinter();
  76. private:
  77. static std::map<std::string, std::string> m_paramsMap;
  78. static std::vector<ChufangPrinter> m_chufang_printers;
  79. static std::mutex m_mutex;
  80. static std::vector<FoodType> m_foodtypes;
  81. //从商品分类的id到name的映射
  82. static std::map<std::string, std::string> m_foodtype_id_name;
  83. };