finish add interface
This commit is contained in:
@@ -70,50 +70,7 @@ extern std::map<std::string, Xmldata*> xmlinfo_list2;//保存所有型号角形
|
|||||||
extern time_t ConvertToTimestamp(const tagTime& time);
|
extern time_t ConvertToTimestamp(const tagTime& time);
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
// 运行信息
|
|
||||||
struct RunningInformation {
|
|
||||||
std::string Time;
|
|
||||||
std::string CpuLoad;
|
|
||||||
std::string FreeMemory;
|
|
||||||
std::string TotalMemory;
|
|
||||||
std::string FreeStorage;
|
|
||||||
std::string TotalStorage;
|
|
||||||
std::string HardTimeSync;
|
|
||||||
std::string SntpTimeSync;
|
|
||||||
std::string CloudTimeSync;
|
|
||||||
std::string SignalStrength;
|
|
||||||
};
|
|
||||||
|
|
||||||
// 版本信息
|
|
||||||
struct DeviceVersionInfo {
|
|
||||||
std::string BaseModel; // 1
|
|
||||||
std::string CloudProtocolVer; // 2
|
|
||||||
std::string AppVersion; // 3
|
|
||||||
std::string AppDate; // 4
|
|
||||||
std::string AppChecksum; // 5
|
|
||||||
std::string VoltageWiring; // 6
|
|
||||||
std::string CurrentBSynthetic; // 7
|
|
||||||
int DataStatInterval = 0; // 8
|
|
||||||
float RatedVoltage = 0.0f; // 9
|
|
||||||
float PTRatio = 0.0f; // 10
|
|
||||||
float CTRatio = 0.0f; // 11
|
|
||||||
std::string SntpIP; // 12
|
|
||||||
int SntpPort = 0; // 13
|
|
||||||
int SntpInterval = 0; // 14
|
|
||||||
int WebPort = 0; // 15
|
|
||||||
int FtpPort = 0; // 16
|
|
||||||
int PqdifInterval = 0; // 17
|
|
||||||
int WaveFileTypeCount = 0; // 18
|
|
||||||
std::string SpecialVersion; // 19
|
|
||||||
std::string DeviceModel; // 20
|
|
||||||
int HarmonicEnergyFlag = 0; // 21
|
|
||||||
std::string PhysicalName; // 22
|
|
||||||
std::string WaveLDName; // 23
|
|
||||||
int HighFreqHarmonicFlag = 0; // 24
|
|
||||||
unsigned int CommProtocols = 0; // 51
|
|
||||||
unsigned int TimeSyncMethods = 0;// 52
|
|
||||||
unsigned int DeviceFunctions = 0;// 53
|
|
||||||
};
|
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
//补招记录文件
|
//补招记录文件
|
||||||
@@ -3485,9 +3442,13 @@ std::string normalize_mac(const std::string &mac) {
|
|||||||
/////////////////////////////////////////////////////////////////////////////////////////////////////////////检查云前置终端的mq业务超时
|
/////////////////////////////////////////////////////////////////////////////////////////////////////////////检查云前置终端的mq业务超时
|
||||||
std::string get_type_by_state(int state) {
|
std::string get_type_by_state(int state) {
|
||||||
switch (state) {
|
switch (state) {
|
||||||
|
|
||||||
case static_cast<int>(DeviceState::IDLE):
|
case static_cast<int>(DeviceState::IDLE):
|
||||||
return "空闲状态";
|
return "空闲状态";
|
||||||
|
|
||||||
|
case static_cast<int>(DeviceState::HEART_BEAT):
|
||||||
|
return "装置心跳";
|
||||||
|
|
||||||
case static_cast<int>(DeviceState::READING_STATS):
|
case static_cast<int>(DeviceState::READING_STATS):
|
||||||
return "读取统计数据";
|
return "读取统计数据";
|
||||||
|
|
||||||
@@ -3537,19 +3498,31 @@ std::string get_type_by_state(int state) {
|
|||||||
return "读取装置版本配置信息";
|
return "读取装置版本配置信息";
|
||||||
|
|
||||||
case static_cast<int>(DeviceState::SET_RIGHTTIME):
|
case static_cast<int>(DeviceState::SET_RIGHTTIME):
|
||||||
return "设置装置对时";
|
return "设置装置对时(定时执行)";
|
||||||
|
|
||||||
|
case static_cast<int>(DeviceState::SET_RIGHTTIME_2):
|
||||||
|
return "设置装置对时(主动触发)";
|
||||||
|
|
||||||
case static_cast<int>(DeviceState::READING_EVENTLOG):
|
case static_cast<int>(DeviceState::READING_EVENTLOG):
|
||||||
return "补招事件日志";
|
return "补招事件日志";
|
||||||
|
|
||||||
case static_cast<int>(DeviceState::READING_STATSFILE):
|
case static_cast<int>(DeviceState::READING_STATSFILE):
|
||||||
return "补招文件";
|
return "补招稳态数据文件";
|
||||||
|
|
||||||
|
case static_cast<int>(DeviceState::SET_CTRL):
|
||||||
|
return "装置控制命令";
|
||||||
|
|
||||||
|
case static_cast<int>(DeviceState::SET_PREUPGRADE):
|
||||||
|
return "装置预升级校验";
|
||||||
|
|
||||||
|
case static_cast<int>(DeviceState::SET_UPGRADE):
|
||||||
|
return "装置升级";
|
||||||
|
|
||||||
case static_cast<int>(DeviceState::CUSTOM_ACTION):
|
case static_cast<int>(DeviceState::CUSTOM_ACTION):
|
||||||
return "自定义动作";
|
return "自定义动作";
|
||||||
|
|
||||||
default:
|
default:
|
||||||
return "未知业务"; // 未匹配的类型
|
return "未知业务";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -5790,9 +5763,9 @@ bool send_running_info(terminal_dev* dev, const RunningInformation& info) {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 判断 isbusy==1 且 busytype==READING_RUNNINGINFO
|
// 判断 isbusy==1 且 busytype==READING_RUNNINGINFORMATION_1
|
||||||
if (dev->isbusy != 1 || dev->busytype != static_cast<int>(DeviceState::READING_RUNNINGINFO)) {
|
if (dev->isbusy != 1 || dev->busytype != static_cast<int>(DeviceState::READING_RUNNINGINFORMATION_1)) {
|
||||||
std::cerr << "[send_running_info] device not in READING_RUNNINGINFO state." << std::endl;
|
std::cerr << "[send_running_info] device not in READING_RUNNINGINFORMATION_1 state." << std::endl;
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -5881,9 +5854,9 @@ bool send_version_info(terminal_dev* dev, const DeviceVersionInfo& info) {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 判断 isbusy==1 且 busytype==READING_VERSIONINFO
|
// 判断 isbusy==1 且 busytype==READING_DEVVERSION
|
||||||
if (dev->isbusy != 1 || dev->busytype != static_cast<int>(DeviceState::READING_VERSIONINFO)) {
|
if (dev->isbusy != 1 || dev->busytype != static_cast<int>(DeviceState::READING_DEVVERSION)) {
|
||||||
std::cerr << "[send_version_info] device not in READING_VERSIONINFO state." << std::endl;
|
std::cerr << "[send_version_info] device not in READING_DEVVERSION state." << std::endl;
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -6357,7 +6330,7 @@ void on_device_response_minimal(int response_code,
|
|||||||
}
|
}
|
||||||
|
|
||||||
// ================= 特殊:读取运行信息 =================
|
// ================= 特殊:读取运行信息 =================
|
||||||
case DeviceState::READING_RUNNINGINFO: {
|
case DeviceState::READING_RUNNINGINFORMATION_1: {
|
||||||
std::lock_guard<std::mutex> lk(ledgermtx);
|
std::lock_guard<std::mutex> lk(ledgermtx);
|
||||||
|
|
||||||
terminal_dev* dev = nullptr;
|
terminal_dev* dev = nullptr;
|
||||||
|
|||||||
@@ -753,6 +753,9 @@ void filemenu_cache_put(const std::string& dev_id,
|
|||||||
//提取目录信息
|
//提取目录信息
|
||||||
bool filemenu_cache_take(const std::string& dev_id, std::vector<tag_dir_info>& out);
|
bool filemenu_cache_take(const std::string& dev_id, std::vector<tag_dir_info>& out);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//清空装置台账
|
//清空装置台账
|
||||||
size_t erase_one_terminals_by_id(const std::string& terminal_id);
|
size_t erase_one_terminals_by_id(const std::string& terminal_id);
|
||||||
|
|
||||||
@@ -980,7 +983,6 @@ static bool parse_datetime_tm(const std::string& s, std::tm& out) {
|
|||||||
std::memset(&out, 0, sizeof(out));
|
std::memset(&out, 0, sizeof(out));
|
||||||
return strptime(s.c_str(), "%Y-%m-%d %H:%M:%S", &out) != nullptr;
|
return strptime(s.c_str(), "%Y-%m-%d %H:%M:%S", &out) != nullptr;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////////补招文件记录
|
/////////////////////////////////////////////////////////////////////////////补招文件记录
|
||||||
// 记录 (guid, monitorId) -> 文件完整路径
|
// 记录 (guid, monitorId) -> 文件完整路径
|
||||||
@@ -1015,4 +1017,56 @@ bool SendFileWebAuto(const std::string& id,
|
|||||||
const std::string& remote_path,
|
const std::string& remote_path,
|
||||||
std::string& out_filename);
|
std::string& out_filename);
|
||||||
|
|
||||||
void cleanup_old_unpaired_qvvr_events();
|
void cleanup_old_unpaired_qvvr_events();
|
||||||
|
|
||||||
|
// 运行信息
|
||||||
|
struct RunningInformation {
|
||||||
|
std::string Time;
|
||||||
|
std::string CpuLoad;
|
||||||
|
std::string FreeMemory;
|
||||||
|
std::string TotalMemory;
|
||||||
|
std::string FreeStorage;
|
||||||
|
std::string TotalStorage;
|
||||||
|
std::string HardTimeSync;
|
||||||
|
std::string SntpTimeSync;
|
||||||
|
std::string CloudTimeSync;
|
||||||
|
std::string SignalStrength;
|
||||||
|
};
|
||||||
|
|
||||||
|
// 版本信息
|
||||||
|
struct DeviceVersionInfo {
|
||||||
|
std::string BaseModel; // 1
|
||||||
|
std::string CloudProtocolVer; // 2
|
||||||
|
std::string AppVersion; // 3
|
||||||
|
std::string AppDate; // 4
|
||||||
|
std::string AppChecksum; // 5
|
||||||
|
std::string VoltageWiring; // 6
|
||||||
|
std::string CurrentBSynthetic; // 7
|
||||||
|
int DataStatInterval = 0; // 8
|
||||||
|
float RatedVoltage = 0.0f; // 9
|
||||||
|
float PTRatio = 0.0f; // 10
|
||||||
|
float CTRatio = 0.0f; // 11
|
||||||
|
std::string SntpIP; // 12
|
||||||
|
int SntpPort = 0; // 13
|
||||||
|
int SntpInterval = 0; // 14
|
||||||
|
int WebPort = 0; // 15
|
||||||
|
int FtpPort = 0; // 16
|
||||||
|
int PqdifInterval = 0; // 17
|
||||||
|
int WaveFileTypeCount = 0; // 18
|
||||||
|
std::string SpecialVersion; // 19
|
||||||
|
std::string DeviceModel; // 20
|
||||||
|
int HarmonicEnergyFlag = 0; // 21
|
||||||
|
std::string PhysicalName; // 22
|
||||||
|
std::string WaveLDName; // 23
|
||||||
|
int HighFreqHarmonicFlag = 0; // 24
|
||||||
|
unsigned int CommProtocols = 0; // 51
|
||||||
|
unsigned int TimeSyncMethods = 0;// 52
|
||||||
|
unsigned int DeviceFunctions = 0;// 53
|
||||||
|
};
|
||||||
|
|
||||||
|
void runninginfo_cache_put(const std::string& dev_id, const RunningInformation& info);
|
||||||
|
bool runninginfo_cache_take(const std::string& dev_id, RunningInformation& out);
|
||||||
|
void versioninfo_cache_put(const std::string& dev_id, const DeviceVersionInfo& info);
|
||||||
|
bool versioninfo_cache_take(const std::string& dev_id, DeviceVersionInfo& out);
|
||||||
|
|
||||||
|
#endif
|
||||||
@@ -2392,7 +2392,7 @@ bool parsemsg(const std::string& devid, const std::string& guid, const nlohmann:
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 方案A:Msg 为空,直接使用当前系统时间下发
|
// 方案A:Msg 为空,直接使用当前系统时间下发
|
||||||
ClientManager::instance().set_righttime_action_to_devic(devid);
|
ClientManager::instance().set_righttime_action_to_device(devid);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1493,7 +1493,7 @@ void process_received_message(string mac, string id,const char* data, size_t len
|
|||||||
std::string payload(payloadBytes.begin(), payloadBytes.end());
|
std::string payload(payloadBytes.begin(), payloadBytes.end());
|
||||||
|
|
||||||
// 定义类似New_MachMessage的结构体
|
// 定义类似New_MachMessage的结构体
|
||||||
struct RunningInformation {
|
/*struct RunningInformation {
|
||||||
std::string Time;
|
std::string Time;
|
||||||
std::string CpuLoad;
|
std::string CpuLoad;
|
||||||
std::string FreeMemory;
|
std::string FreeMemory;
|
||||||
@@ -1504,7 +1504,8 @@ void process_received_message(string mac, string id,const char* data, size_t len
|
|||||||
std::string SntpTimeSync;
|
std::string SntpTimeSync;
|
||||||
std::string CloudTimeSync;
|
std::string CloudTimeSync;
|
||||||
std::string SignalStrength;
|
std::string SignalStrength;
|
||||||
} result;
|
} result;*/
|
||||||
|
RunningInformation result;
|
||||||
|
|
||||||
// 辅助函数:去除字符串两端的引号
|
// 辅助函数:去除字符串两端的引号
|
||||||
auto trimQuotes = [](const std::string& str) -> std::string {
|
auto trimQuotes = [](const std::string& str) -> std::string {
|
||||||
@@ -1896,7 +1897,7 @@ void process_received_message(string mac, string id,const char* data, size_t len
|
|||||||
std::string payload(payloadBytes.begin(), payloadBytes.end());
|
std::string payload(payloadBytes.begin(), payloadBytes.end());
|
||||||
|
|
||||||
// 定义存储装置版本信息的结构体
|
// 定义存储装置版本信息的结构体
|
||||||
struct DeviceVersionInfo {
|
/*struct DeviceVersionInfo {
|
||||||
std::string BaseModel; // 1: 装置基础型号
|
std::string BaseModel; // 1: 装置基础型号
|
||||||
std::string CloudProtocolVer; // 2: 云服务协议版本
|
std::string CloudProtocolVer; // 2: 云服务协议版本
|
||||||
std::string AppVersion; // 3: 应用程序版本号
|
std::string AppVersion; // 3: 应用程序版本号
|
||||||
@@ -1924,7 +1925,8 @@ void process_received_message(string mac, string id,const char* data, size_t len
|
|||||||
unsigned int CommProtocols = 0; // 51: 投入的通讯协议
|
unsigned int CommProtocols = 0; // 51: 投入的通讯协议
|
||||||
unsigned int TimeSyncMethods = 0;// 52: 投入的对时方式
|
unsigned int TimeSyncMethods = 0;// 52: 投入的对时方式
|
||||||
unsigned int DeviceFunctions = 0;// 53: 装置功能配置
|
unsigned int DeviceFunctions = 0;// 53: 装置功能配置
|
||||||
} versionInfo;
|
} versionInfo;*/
|
||||||
|
DeviceVersionInfo versionInfo;
|
||||||
|
|
||||||
// 分割字段
|
// 分割字段
|
||||||
std::vector<std::string> fields;
|
std::vector<std::string> fields;
|
||||||
|
|||||||
Reference in New Issue
Block a user