#ifndef LDBTOOL_H #define LDBTOOL_H //#include #include #include #include #include #include #include "DBStruct.h" #include #include #include #include class LDBTool { public: // explicit LDBTool(QObject *parent = nullptr); LDBTool(); ~LDBTool(); void connectDB(); //DeviceTable bool insertDeviceTable(Record_Storage_Dev deviceRec); bool deleteDeviceTable(QString strDeviceId); bool deleteDeviceTableAndChnAndSdk(QString str_storage_dev_id); bool updateDeviceTable(Record_Storage_Dev deviceRec); std::list searchDeviceTableAll(void); int searchDeviceNumber(void); Record_Storage_Dev searchDeviceTableByDeviceId(QString strDeviceId); int searchDurationByDeviceId(QString strDeviceId); //ChannelTable bool insertChannelTable(Record_Cam_Chn channelRec); bool deleteChannelTable(QString strDeviceId, int nChannelId); bool deleteChannelTableByCamID(QString strCamId); bool updateChannelTable(Record_Cam_Chn channelRec); std::list searchChannelTableAll(void); std::list searchChannelTableByDevlId(QString strDeviceId); Record_Cam_Chn searchOldestRecordfromChnTableByUpdateTime(void); Record_Cam_Chn searchChannelTableByChannelId(QString strDeviceId, int nChannelId); Record_Cam_Chn searchNewestRecordfromChnTableByChannelId(QString strDeviceId, int nChannelId); Record_Cam_Chn searchOldestRecordfromChnTableByChannelId(QString strDeviceId, int nChannelId); std::list searchChannelTableCamType(void); //cam_dev bool insertCamDevTable(Record_Cam_Dev channelRec); bool deleteCamDevandSdkByCamID(QString strCamId); bool updateCamDevTable(Record_Cam_Dev camRec); std::list searchCamDevTableAll(void); int searchCamDevNumber(void); bool searchCamDevByCamId(QString strCamId); //load_file_info bool insertLoadFileTable(Record_Load_File_info loadfileRec); bool deleteLoadFileTable(QString strDeviceId, int nChannelId, QDateTime tim_startTime); bool deleteLoadFileTablebyDevID(QString strDeviceId); bool updateLoadFileTable(Record_Load_File_info loadfileRec); std::list searchLoadFileTableAll(void); Record_Load_File_info searchOldestRecordfromLoadTableByUpdateTime(void); //insert rec to loadfile_info && update cam_chn bool insertLoadFileTableAndUpdateChannelTable(Record_Load_File_info loadfileRec, Record_Cam_Chn channelRec); //cut_video_info bool insertCutVideoTable(Record_Cut_Video_info cutVideoRec); bool deleteCutVideoTable(QString strDeviceId, int nChannelId, QString strSrcPath); bool deleteCutVideoTablebyDevID(QString strDeviceId); bool updateCutVideoTable(Record_Cut_Video_info cutVideoRec); bool updateCutVideoTable(std::string src_path, std::string dst_path, int total); std::list searchCutVideoTableAll(void); Record_Cut_Video_info searchOldestRecordfromCutTableByUpdateTime(void); //insert rec to cut_video_info && delete load_file_info bool insertCutVideoTableAndDeleteLoadFileTable(Record_Cut_Video_info cutVideoRec, QString strDeviceId, int nChannelId, QDateTime tim_loadStartTime); //sdk_hdl_info bool insertSdkHdlTable(Record_Sdk_Hdl_info sdkHdlRec); bool deleteSdkHdlTable(QString strSrcPath); bool updateSdkHdlTable(Record_Sdk_Hdl_info sdkHdlRec); bool updateSdkHdlTablePos(QString str_src_path,int pos); std::list searchSdkHdlTableAll(void); bool deleteSdkHdlTablebyDevID(QString strDevId); //insert rec to sdk_hdl_info && delete cut_video_info bool insertSdkHdlTableAndDeleteCutVideoTable(Record_Sdk_Hdl_info sdkHdlRec,\ QString strDeviceId, \ int nChannelId, \ QString strCutSrcPath); //chn_sdk bool insertChnSdkTable(Record_Chn_Sdk chnSdkRec); bool deleteChnSdkTable(QString strDeviceId, int nChannelId); bool updateChnSdkTable(Record_Chn_Sdk chnSdkRec); std::list searchChnSdkTableAll(void); Record_Chn_Sdk searchChnSdkTableByChannelId(QString strDeviceId, int nChannelId); // Record_Chn_Sdk searchChnSdkTableByCam(QString strCamId); bool updateDevChnAndSdk(Record_Cam_Chn channelRec, Record_Chn_Sdk chnSdkRec); // bool updateCamAndSdk(Record_Cam_Chn channelRec, Record_Chn_Sdk chnSdkRec); bool insertCamSdkTable(Record_Cam_Sdk camSdkRec); bool deleteCamSdkTable(QString strCamDevId); bool updateCamSdkTable(Record_Cam_Sdk camSdkRec); Record_Cam_Sdk searchCamSdkTableByCamId(QString strCamId); bool updateCamAndSdkTable(Record_Cam_Dev camRec, Record_Cam_Sdk camSdkRec); //config bool updateConfigTableByServerInfo(Record_Config configRec); bool updateConfigTableByCutDuration(int n_cut_max_duration,int n_cut_min_duration); Record_Config searchConfigTableWithinServerInfo(void); bool updateConfigTableByDevType(int devType); int searchDevTypeFromConfigTable(void); //Record_Config searchDevIdFromConfigTable(void); bool updateDevNameConfigTable(QString dev_name); //name_key_match bool insertRecordVedioPath(QString pathKey,QString filePath); QString searchRecordVedioPathByKey(QString pathKey); //rule_week bool updateCameraWeekRule(const LActRuleWeekRecord& weekRule); std::vector searchCameraWeekRuleByCamId(const QString& camId,const int& sdkType); //sdk_rule bool updateSdkRule(const SdkRule& sdkRule); SdkRuleMap searchSdkRuleByCamId(const QString& camId); private: QSqlDatabase m_db; QSqlTableModel *m_pModel; QMutex m_mutexVisit; }; #endif // LDBTOOL_H