#pragma once #include "../pch/pch.h" class ChufangPrinter { public: std::string date; std::string name; std::string ip; std::string guige; std::string fendan; std::string fenlei; std::string fenlei_ids; }; class FoodType { public: std::string name; std::string type_id; }; class CSetting { public: CSetting(); ~CSetting(); //修改内存中的参数设置 static void SetParam(std::string name, std::string value, bool isSave = true); static std::string GetParam(std::string name); //厨房打印机相关的参数配置 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); 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); static void DelChufangPrinter(std::string date); static ChufangPrinter GetChufangPrinter(std::string date); //刚打开程序的时候,根据数据库初始化内存,并且添加默认参数 static void Init(); static std::string getValue(std::string name) { return m_paramsMap[name]; } static ChufangPrinter getLastChufangPrinter() { return m_chufang_printers.back(); } static std::vector& getChufangPrints() { return m_chufang_printers; } static void AddFoodtype(std::string name, std::string type_id) { FoodType newFoodType; newFoodType.name = name; newFoodType.type_id = type_id; m_foodtypes.push_back(newFoodType); m_foodtype_id_name[type_id] = name; } static std::vector& GetFoodtype() { return m_foodtypes; } static std::string getFoodtypeName(std::string type_id) { if (m_foodtype_id_name.find(type_id) != m_foodtype_id_name.end()) { return m_foodtype_id_name[type_id]; } //返回这个表示没找到这个分类 return "zhipuzi_not_found_xxx"; } /* *把内存中的参数,写到数据库中 **/ static void SaveParams(); /* *把内存中的厨房打印机信息,存到数据库 **/ static void SaveChufangPrinter(); private: static std::map m_paramsMap; static std::vector m_chufang_printers; static std::mutex m_mutex; static std::vector m_foodtypes; //从商品分类的id到name的映射 static std::map m_foodtype_id_name; };