派生自 development/c++

pansen
2019-03-08 52ffba4b81a86d86cda9cdce6e33d2dc6392243c
修改同步库更新的bug
3个文件已修改
77 ■■■■■ 已修改文件
QiaoJiaSystem/DataManagerServer/http_configserver.cpp 24 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
QiaoJiaSystem/DataManagerServer/vss/controller/CamDevController.h 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
QiaoJiaSystem/DataManagerServer/vss/dao/CamDevSqliteDao.h 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
QiaoJiaSystem/DataManagerServer/http_configserver.cpp
@@ -1934,6 +1934,7 @@
                ret = erlangDbTool->createDatabase(Uuid, fieldValues);
            } else if (SyncType == 0) {
                TableName.insert(0, "lt_");
                fieldValues.insert(std::make_pair("tableName", TableName));
                //本地库
                ret = m_SqliteFaceEncap.createTable(TableName, fieldValues);
            }
@@ -2408,26 +2409,27 @@
        std::string BwType = value["BwType"].asString();
        std::string StartTime = value["StartTime"].asString();
        std::string EndTime = value["EndTime"].asString();
        //#更新底库管理表
        FieldValues fieldValues;
        fieldValues.insert(std::make_pair("uuid", Uuid));
        fieldValues.insert(std::make_pair("tableName", TableName));
//            fieldValues.insert(std::make_pair("tableDesc", "ceshi2"));
        fieldValues.insert(std::make_pair("tableType", TableType));
        fieldValues.insert(std::make_pair("bwType", BwType));
        fieldValues.insert(std::make_pair("startTime", StartTime));
        fieldValues.insert(std::make_pair("endTime", EndTime));
//            fieldValues.insert(std::make_pair("create_by", "who"));
        bool ret = false;
        if (SyncType == 1) {
            //同步库
            ret = erlangDbTool->updateDatabase(Uuid, TableType, TableName, SyncType, BwType, StartTime, EndTime);
            ret = erlangDbTool->updateDatabase(TableName, fieldValues);
        } else if (SyncType == 0) {
            //本地库
            //#更新底库管理表
            FieldValues fieldValues;
            fieldValues.insert(std::make_pair("uuid", Uuid));
            if (TableName.find("lt_") != 0) {
                TableName.insert(0, "lt_");
            }
            fieldValues.insert(std::make_pair("tableName", TableName));
//            fieldValues.insert(std::make_pair("tableDesc", "ceshi2"));
            fieldValues.insert(std::make_pair("tableType", TableType));
            fieldValues.insert(std::make_pair("bwType", BwType));
            fieldValues.insert(std::make_pair("startTime", StartTime));
            fieldValues.insert(std::make_pair("endTime", EndTime));
//            fieldValues.insert(std::make_pair("create_by", "who"));
            ret = m_SqliteFaceEncap.updateTable("sys_o_tables", fieldValues);
        }
QiaoJiaSystem/DataManagerServer/vss/controller/CamDevController.h
@@ -18,15 +18,17 @@
private:
    /** 摄像头设备构造函数 */
    CamDevController() {}
public:
    /** 摄像头设备单例模式 */
    static CamDevController* instance() {
    static CamDevController *instance() {
        static CamDevController instance;
        return &instance;
    }
public:
    /** 注册{label}http服务 */
    void registerHttpServices(HttpSrvRetRecieve& _HttpSrvRetRecieve) {
    void registerHttpServices(HttpSrvRetRecieve &_HttpSrvRetRecieve) {
        _HttpSrvRetRecieve.setInfo("^/addCamDev$", "POST",
                                   std::bind(&CamDevController::addCamDev, this,
@@ -54,6 +56,7 @@
                                             std::placeholders::_3, std::placeholders::_4));
    }
public:
    /** 添加摄像头设备 */
    std::string addCamDev(std::string ip, unsigned int port, std::string content, PResponse &response) {
@@ -68,11 +71,17 @@
            Json::Value idJsonValue = requestJsonValue[CamDev_id];
            if (idJsonValue.type() != Json::ValueType::nullValue) {
                camDevBuilder.addid(std::stoi((idJsonValue.asString())));
            } else {
                ERR("CamDev_id is null " << " is null");
//                return responseJsonValue.toStyledString();
            }
            Json::Value cam_dev_idJsonValue = requestJsonValue[CamDev_cam_dev_id];
            if (cam_dev_idJsonValue.type() != Json::ValueType::nullValue) {
                camDevBuilder.addcam_dev_id((cam_dev_idJsonValue.asString()));
            } else {
                ERR(CamDev_cam_dev_id << " is null");
                return responseJsonValue.toStyledString();
            }
            Json::Value nameJsonValue = requestJsonValue[CamDev_name];
@@ -128,6 +137,8 @@
            Json::Value typeJsonValue = requestJsonValue[CamDev_type];
            if (typeJsonValue.type() != Json::ValueType::nullValue) {
                camDevBuilder.addtype((typeJsonValue.asString()));
            } else {
                camDevBuilder.addtype("1");
            }
            auto keyValuesToAdd = camDevBuilder.buildCamDevMap();
            if (keyValuesToAdd.size() > 0) {
@@ -230,7 +241,8 @@
                camDevBuilder.addtype((typeJsonValue.asString()));
            }
            if (idJsonValue.type() != Json::ValueType::nullValue) {
                responseJsonValue = CamDevSqliteDao::instance()->updateCamDev(camDevBuilder.buildCamDevMap(), "id", idJsonValue.asString());
                responseJsonValue = CamDevSqliteDao::instance()->updateCamDev(camDevBuilder.buildCamDevMap(), "id",
                                                                              idJsonValue.asString());
            }
        }
        return responseJsonValue.toStyledString();
@@ -399,10 +411,6 @@
        return responseJsonValue.toStyledString();
    }
};
#endif //CAMDEV_CONTROLLER_H
QiaoJiaSystem/DataManagerServer/vss/dao/CamDevSqliteDao.h
@@ -14,15 +14,16 @@
private:
    /** 摄像头设备构造函数 */
    CamDevSqliteDao() {}
public:
    /** 摄像头设备单例模式 */
    static CamDevSqliteDao* instance() {
    static CamDevSqliteDao *instance() {
        static CamDevSqliteDao instance;
        return &instance;
    }
    /** 添加摄像头设备 keyValuesToAdd 需要添加的列名和列值对map*/
    Json::Value addCamDev(std::map<std::string, std::string>& keyValuesToAdd) {
    Json::Value addCamDev(std::map<std::string, std::string> &keyValuesToAdd) {
        Json::Value responseJsonValue;
        responseJsonValue["message"] = "添加失败!";
        responseJsonValue["success"] = "false";
@@ -34,7 +35,8 @@
        QSqlRecord rec = pModel.record();
        for (auto keyValueToAdd : keyValuesToAdd) {
            rec.setValue(QString::fromUtf8(keyValueToAdd.first.c_str()), QString::fromUtf8(keyValueToAdd.second.c_str()));
            rec.setValue(QString::fromUtf8(keyValueToAdd.first.c_str()),
                         QString::fromUtf8(keyValueToAdd.second.c_str()));
        }
        rec.setGenerated("id", false);
@@ -63,7 +65,7 @@
    }
    /** 删除摄像头设备 whereKey 列名;whereValue 列值 */
    Json::Value deleteCamDev(std::map<std::string, std::string>& whereKeyValues) {
    Json::Value deleteCamDev(std::map<std::string, std::string> &whereKeyValues) {
        Json::Value responseJsonValue;
        responseJsonValue["message"] = "删除失败!";
@@ -71,8 +73,9 @@
        QMutexLocker mutexLocker(m_mutexVisit);//TODO
        QSqlTableModel pModel(NULL, *m_db);
        pModel.setTable(CamDev_TABLE_NAME);
        for (auto whereKeyValue : whereKeyValues ) {
            pModel.setFilter(QObject::tr((string(whereKeyValue.first)+" = '%1'").c_str()).arg(QString::fromUtf8(whereKeyValue.second.c_str())));
        for (auto whereKeyValue : whereKeyValues) {
            pModel.setFilter(QObject::tr((string(whereKeyValue.first) + " = '%1'").c_str()).arg(
                QString::fromUtf8(whereKeyValue.second.c_str())));
        }
        pModel.setEditStrategy(QSqlTableModel::OnManualSubmit);//OnManualSubmit OnFieldChange
        pModel.select();
@@ -102,8 +105,8 @@
    }
    /** 更新本地国标配置 keyValuesToUpdate 需要更新的列名和列值对; whereKeyValues 列名和列值条件 */
    Json::Value updateCamDev(std::map<std::string, std::string>& keyValuesToUpdate,
                             std::map<std::string, std::string>& whereKeyValues) {
    Json::Value updateCamDev(std::map<std::string, std::string> &keyValuesToUpdate,
                             std::map<std::string, std::string> &whereKeyValues) {
        Json::Value responseJsonValue;
        responseJsonValue["message"] = "更新失败!";
        responseJsonValue["success"] = "false";
@@ -111,7 +114,8 @@
        QSqlTableModel pModel(NULL, *m_db);
        pModel.setTable(CamDev_TABLE_NAME);
        for (auto whereKeyValue : whereKeyValues) {
            pModel.setFilter(QObject::tr((whereKeyValue.first + " = '%1'").c_str()).arg(QString::fromStdString(whereKeyValue.second)));
            pModel.setFilter(QObject::tr((whereKeyValue.first + " = '%1'").c_str()).arg(
                QString::fromStdString(whereKeyValue.second)));
        }
        pModel.setEditStrategy(QSqlTableModel::OnManualSubmit);//OnManualSubmit OnFieldChange
        pModel.select();
@@ -152,7 +156,7 @@
    }
    /** 更新摄像头设备 keyValuesToUpdate 需要更新的列名和列值对; whereKeyValues 列名和列值条件 */
    Json::Value updateCamDev(std::map<std::string, std::string>& keyValuesToUpdate,
    Json::Value updateCamDev(std::map<std::string, std::string> &keyValuesToUpdate,
                             string whereKey,
                             string whereValue) {
        std::map<std::string, std::string> whereKeyValues;
@@ -161,7 +165,7 @@
    }
    /**查询摄像头设备列表 whereKeyValues 列名和列值对条件 */
    Json::Value findCamDevList(std::map<std::string, std::string>& whereKeyValues) {
    Json::Value findCamDevList(std::map<std::string, std::string> &whereKeyValues) {
        Json::Value responseJsonValue;
        responseJsonValue["message"] = "查询失败!";
@@ -172,8 +176,9 @@
        std::list<Record_Cut_Video_info> lst;
        QSqlTableModel pModel(NULL, *m_db);
        pModel.setTable(CamDev_TABLE_NAME);;
        for (auto whereKeyValue : whereKeyValues ) {
            pModel.setFilter(QObject::tr((string(whereKeyValue.first)+" = '%1'").c_str()).arg(QString::fromUtf8(whereKeyValue.second.c_str())));
        for (auto whereKeyValue : whereKeyValues) {
            pModel.setFilter(QObject::tr((string(whereKeyValue.first) + " = '%1'").c_str()).arg(
                QString::fromUtf8(whereKeyValue.second.c_str())));
        }
        pModel.setEditStrategy(QSqlTableModel::OnManualSubmit);//OnManualSubmit OnFieldChange
        pModel.select();