modify clear expire data

This commit is contained in:
zhangsheng 2025-05-22 09:56:54 +08:00
parent 9c32e6499e
commit acfed5f9b3
4 changed files with 23 additions and 5 deletions

View File

@ -1370,7 +1370,27 @@ int SqliteDB::QueryofflineData() {
} }
return res; return res;
} }
int SqliteDB::ClearExpireData(){
char whereCon[1024] = {0};
char deleteSql[1024] = {0};
char selectSql[1024] = {0};
memset(whereCon, 0x00, sizeof(whereCon));
memset(deleteSql, 0x00, sizeof(deleteSql));
memset(selectSql, 0x00, sizeof(selectSql));
sprintf(selectSql, " MeasurementID ");
array_t vecRes;
char localtimestamp[32] = {0};
GetTimeNet(localtimestamp, 1);
vecRes = GetDataMultiLine(T_SENSOR_INFO(TNAME), selectSql, NULL);
for (size_t i = 0; i < vecRes.size(); i++) {
sprintf(whereCon, " timeStamp < %ld", atol(localtimestamp) - 2592000);//前一个月
sprintf(deleteSql, "delete from t_dataStatic_%s where %s", vecRes[i][0].c_str(), whereCon);
ExeSql(deleteSql);
sprintf(deleteSql, "delete from t_data_%s where %s", vecRes[i][0].c_str(), whereCon);
ExeSql(deleteSql);
}
return 0;
}
int SqliteDB::TransBegin() { return sqlite3_exec(mDBAcess, "begin;", 0, 0, 0); } int SqliteDB::TransBegin() { return sqlite3_exec(mDBAcess, "begin;", 0, 0, 0); }
int SqliteDB::TransRollback() { return sqlite3_exec(mDBAcess, "rollback;", 0, 0, 0); } int SqliteDB::TransRollback() { return sqlite3_exec(mDBAcess, "rollback;", 0, 0, 0); }

View File

@ -68,6 +68,7 @@ public:
int CalculateDip(); int CalculateDip();
int InintGateway(); int InintGateway();
int QueryofflineData(); int QueryofflineData();
int ClearExpireData();
int CalculateWaveRate(); int CalculateWaveRate();
std::string GetNodeConfigureInfor(const char *whereCon); std::string GetNodeConfigureInfor(const char *whereCon);
int CloseDB(); int CloseDB();

View File

@ -189,6 +189,7 @@ void CheckThread() {
sprintf(whereCon, " timestamp < '%ld' ", atol(localtimestamp) - 2592000); //删除1个月前的数据 sprintf(whereCon, " timestamp < '%ld' ", atol(localtimestamp) - 2592000); //删除1个月前的数据
sqlite_db_ctrl::instance().DeleteTableData(" t_battery_history ", whereCon); sqlite_db_ctrl::instance().DeleteTableData(" t_battery_history ", whereCon);
sqlite_db_ctrl::instance().DeleteTableData(" receive_wave_status ", whereCon); sqlite_db_ctrl::instance().DeleteTableData(" receive_wave_status ", whereCon);
sqlite_db_ctrl::instance().ClearExpireData();
} }
#ifdef WIFI_MODULE #ifdef WIFI_MODULE
if (wifi_reconnect_count == 600) { // 每 10分钟重连WiFi网络 if (wifi_reconnect_count == 600) { // 每 10分钟重连WiFi网络

View File

@ -605,10 +605,6 @@ int Uart::DealDataNodeFeature(const char *pData, int flag) {
if (flag == 1) { if (flag == 1) {
zlog_info(zct, "DealDataNodeFeature end %02x%02x", pRecvData->ShortAddr[0], pRecvData->ShortAddr[1]); zlog_info(zct, "DealDataNodeFeature end %02x%02x", pRecvData->ShortAddr[0], pRecvData->ShortAddr[1]);
} }
memset(whereCon, 0x00, sizeof(whereCon));
sprintf(whereCon, " timestamp < '%ld' ", atol(localtimestamp) - 2592000); //删除1个月前的数据
sqlite_db_ctrl::instance().DeleteTableData(szTableNameStatic, whereCon);
sqlite_db_ctrl::instance().DeleteTableData(szTableNameData, whereCon);
return 0; return 0;
} }