Files
energy_storage/src/common/Fields.h

160 lines
3.4 KiB
C
Raw Normal View History

#ifndef _Fields_H_
#define _Fields_H_
2025-05-19 09:54:33 +08:00
#include <string>
#include <vector>
#include <map>
#include <unordered_map>
#include <functional>
using namespace std;
struct PageInfo
{
int total {0};
int index {0};
int size {10};
2025-05-19 09:54:33 +08:00
};
class Fields
2025-05-19 09:54:33 +08:00
{
public:
/**
*
* @param: [string key]
* @param: [string val]
*/
void set(string key, string val);
/**
*
* @param: [string key]
* @param: [float val]
*/
void set(string key, float val);
/**
*
* @param: [string key]
* @param: [int val]
*/
void set(string key, int val);
/**
*
* @param: [string key]
* @param: [int64_t val]
*/
void set(string key, int64_t val);
/**
*
2025-05-19 09:54:33 +08:00
* @param: [string key]
*/
std::string& value(std::string key);
2025-05-19 09:54:33 +08:00
/**
* int
* @param: [string key]
*/
int getInt(string key);
2025-05-19 09:54:33 +08:00
/**
* float
* @param: [string key]
*/
float getFloat(string key);
/**
* double
* @param: [string key]
*/
double getDouble(string key);
2025-05-19 09:54:33 +08:00
/**
*
* @param: [string key]
*/
std::map<string, string>::iterator remove(string key);
2025-05-19 09:54:33 +08:00
/**
*
* @param: [DataFields& fields]
*/
void append(Fields& fields);
2025-05-19 09:54:33 +08:00
/**
* map
*/
map<string, string>& fields();
/**
* vald
* @param: [string key]
* @param: [string val]
* @param: [string d]
*/
void check(string key, string val, string d);
/**
* sql
* @param: [string tableName]
2025-05-19 09:54:33 +08:00
*/
string get_insert_sql(string tableName);
2025-05-19 09:54:33 +08:00
/**
* sql
* @param: [string tableName]
* @param: [string condition] sql的更新条件 where id='1'
2025-05-19 09:54:33 +08:00
*/
string get_update_sql(string tableName, string condition);
2025-05-19 09:54:33 +08:00
/**
* sql
* @param: [string tableName]
* @param: [string vecKeys]
* @param: [string condition] sql的更新条件 where id='1'
2025-05-19 09:54:33 +08:00
*/
string get_update_sql(string tableName, std::vector<std::string> vecKeys, string condition);
2025-05-19 09:54:33 +08:00
/**
*
* @param: [function... onForaach]
2025-05-19 09:54:33 +08:00
*/
void foreachItem(function<void(string key, string& val)> onForaach);
2025-05-19 09:54:33 +08:00
/**
*
* @param: [string key]
*/
bool isEmpty(string key);
2025-05-19 09:54:33 +08:00
/**
* float数值类型
* @param: [string key]
*/
bool is_float_number(string key);
/**
*
*/
string toStr();
2025-05-19 09:54:33 +08:00
/**
*
*/
int size();
void clear();
bool hasKey(std::string key);
std::map<string, string>& map() { return mapFields; }
2025-05-19 09:54:33 +08:00
private:
std::map<string, string> mapFields;
2025-05-19 09:54:33 +08:00
};
#endif