pans
2019-01-24 689283efb275e3f1ba049aad8e361bd014a1af53
fix bug
6个文件已修改
141 ■■■■■ 已修改文件
QiaoJiaSystem/DataManagerServer/http_configserver.cpp 61 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
QiaoJiaSystem/LocalDBTool/SqliteToolkit.hpp 38 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
QiaoJiaSystem/build/DataWebServer 补丁 | 查看 | 原始文档 | blame | 历史
QiaoJiaSystem/build/config.json 29 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
syncDBTool/ErlangDbTool.cpp 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
syncDBTool/ErlangDbTool.h 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
QiaoJiaSystem/DataManagerServer/http_configserver.cpp
@@ -1863,8 +1863,12 @@
        std::string EndTime = value["EndTime"].asString();
        std::string UploadFlag = value["IsSync"].asString();
        UploadFlag = UploadFlag.empty() ? "0" : UploadFlag;
        std::string CmpThreshold = value["threshold"].asString();
        CmpThreshold = CmpThreshold.empty() ? "60" : CmpThreshold;
        std::string Enabled = value["enabled"].asString();
        Enabled = Enabled.empty() ? "1" : Enabled;
        bool ret = false;
        FieldValues fieldValues;
        fieldValues.insert(std::make_pair("uuid", Uuid));
@@ -1991,10 +1995,10 @@
            subJson.append("\"bwType\":\"" + item.second.bwType + "\",");
            //#todo modify
            subJson.append("\"start_time\":\"" + item.second.startTime + "\",");
            subJson.append("\"end_time\":\"" + item.second.endTime + "\"");
            subJson.append("\"end_time\":\"" + item.second.endTime + "\",");
            subJson.append("\"IsSync\":\"" + item.second.uploadFlag + "\"");
            subJson.append("\"threshold\":\"" + item.second.cmpThreshold + "\"");
            subJson.append("\"IsSync\":\"" + item.second.uploadFlag + "\",");
            subJson.append("\"threshold\":\"" + item.second.cmpThreshold + "\",");
            subJson.append("\"enabled\":\"" + item.second.enabled + "\"");
            subJson.append("},");
            json.append(subJson);
@@ -2037,9 +2041,9 @@
            subJson.append("\"tableType\":\"" + item.tableType + "\",");
            subJson.append("\"bwType\":\"" + item.bwType + "\",");
            subJson.append("\"start_time\":\"" + item.startTime + "\",");
            subJson.append("\"end_time\":\"" + item.endTime + "\"");
            subJson.append("\"IsSync\":\"" + item.uploadFlag + "\"");
            subJson.append("\"threshold\":\"" + item.cmpThreshold + "\"");
            subJson.append("\"end_time\":\"" + item.endTime + "\",");
            subJson.append("\"IsSync\":\"" + item.uploadFlag + "\",");
            subJson.append("\"threshold\":\"" + item.cmpThreshold + "\",");
            subJson.append("\"enabled\":\"" + item.enabled + "\"");
            subJson.append("},");
            json.append(subJson);
@@ -2079,6 +2083,7 @@
        std::string idcard = value["idcard"].asString();
        std::string strUUID = value["uuid"].asString();
        std::string UploadFlag = value["IsSync"].asString();
//        #todo
        cv::Mat image;
        if (img_url.size() > 0) {
@@ -2161,16 +2166,16 @@
//        std::string uuid = "";
        bool ret_addPerson = false;
        FieldValues fieldValues;
        AddFaceData addFaceData;
        if (TableName.find("lt_") == 0) {
            FieldValues fieldValues;
            AddFaceData addFaceData;
            addFaceData.feature.resize(faceResults[0].feature.size());
            memcpy(addFaceData.feature.data(), faceResults[0].feature.data(), faceResults[0].feature.size());
            //#todo uuid have value is update
            if (strUUID.size() <= 0) {
                // get Person id
                addFaceData.feature.resize(faceResults[0].feature.size());
                memcpy(addFaceData.feature.data(), faceResults[0].feature.data(), faceResults[0].feature.size());
                // get Person id
                strUUID = AppUtil::getPersonId(m_batch, m_SerialNumber);
                addFaceData.uuid = strUUID;
                addFaceData.faceUrl = img_url;
@@ -2186,14 +2191,22 @@
                fieldValues.insert(std::make_pair("uuid", strUUID));
                fieldValues.insert(std::make_pair("idCard", idcard));
                m_SqliteFaceEncap.updateFace(TableName, addFaceData, fieldValues);
                ret_addPerson = m_SqliteFaceEncap.updateFace(TableName, addFaceData, fieldValues);
            }
        } else {
            //#todo update data
            // get Person id
            strUUID = strUUID.size() > 0 ? strUUID : AppUtil::getPersonId(m_batch, m_SerialNumber);
            ret_addPerson = erlangDbTool->addPerson(strUUID, TableName, feature_base64, img_url, idcard);
            if (strUUID.size() <= 0) {
                strUUID = strUUID.size() > 0 ? strUUID : AppUtil::getPersonId(m_batch, m_SerialNumber);
                ret_addPerson = erlangDbTool->addPerson(strUUID, TableName, feature_base64, img_url, idcard);
            } else {
                addFaceData.uuid = strUUID;
                addFaceData.faceUrl = img_url;
                fieldValues.insert(std::make_pair("uuid", strUUID));
                fieldValues.insert(std::make_pair("idCard", idcard));
//                #todo update
                ret_addPerson = erlangDbTool->updatePerson(TableName, addFaceData, fieldValues);
            }
        }
        if (ret_addPerson && strUUID.size() > 0) {
@@ -2206,14 +2219,16 @@
            if (UploadFlag == "1") {
//                #todo db queue upload to server
                std::string str_serIp = GET_STR_CONFIG("mainServerIp");
                std::string str_serPort = GET_STR_CONFIG("mainServerPort");
                std::string str_serUrl;
                if (1) {
                    str_serUrl = GET_STR_CONFIG("uploadPersonUrl");
//                string sendUrl = "192.168.1.203:3697/addPerson/uploadToTemporary";
                string sendUrl = str_serIp;
                sendUrl.append(":").append(str_serPort).append("/addPerson/uploadToTemporary");
                std::thread sendPerson(uploadPersonToServer, this, sendUrl, strUUID, img_url, idcard, feature_base64);
                } else {
                    str_serUrl = GET_STR_CONFIG("uploadPersonUrl");
//                string sendUrl = "192.168.1.203:3697/addPerson/uploadToTemporary";
                }
                std::thread sendPerson(uploadPersonToServer, this, str_serUrl, strUUID, img_url, idcard,
                                       feature_base64);
                sendPerson.detach();
            }
QiaoJiaSystem/LocalDBTool/SqliteToolkit.hpp
@@ -86,13 +86,13 @@
    //
    std::string getFacesFromTableSql(std::string tableName) {
        std::string sql =
            "select uuid,feature,create_time,faceUrl,del_flag from " + tableName +
            "_fea where feature is not null ";
            "select uuid,feature,create_time,faceUrl,del_flag from '" + tableName +
            "_fea' where feature is not null ";
        return sql;
    }
    std::string getTableListSqlWithType(std::string type) {
        std::string sql = "select tableName,del_flag from " + g_tableName + " where del_flag = 0";
        std::string sql = "select tableName,del_flag from '" + g_tableName + "' where del_flag = 0";
        if (type.size() > 0) {
            sql.append(" and tableType = '" + type + "'");
        }
@@ -100,7 +100,7 @@
    }
    std::string getTableInfosSql(std::string tableName) {
        std::string sql = "select * from " + tableName;// + " where del_flag = 0";
        std::string sql = "select * from '" + tableName+"';";// + " where del_flag = 0";
        return sql;
    }
@@ -108,8 +108,8 @@
    std::string getTableInfosSql() {
        //uuid,tableName,tableDesc,tableType,bwType,startTime,endTime
        std::string sql =
            "select uuid,tableName,tableType,bwType,startTime,endTime,uploadFlag,cmpThreshold,enabled from " +
            g_tableName + " where del_flag = 0";
            "select uuid,tableName,tableType,bwType,startTime,endTime,uploadFlag,cmpThreshold,enabled from '" +
            g_tableName + "' where del_flag = 0";
        return sql;
    }
@@ -129,7 +129,7 @@
        str_fea.assign(feature.begin(), feature.end());
        std::stringstream sql;//= ;
        sql << "INSERT INTO " << tableName << " (";
        sql << "INSERT INTO '" << tableName << "' (";
        //std::string sqlTemp = sql;
        std::string sql2 = ") VALUES(\"";
        if (id >= 0) {
@@ -154,7 +154,7 @@
            //#todo errInfo
            return "tableName or fieldValues is NULL";
        }
        std::string sql = "DELETE from " + tableName + " where 1 = 1 ";
        std::string sql = "DELETE from '" + tableName + "' where 1 = 1 ";
        for (auto item : fieldValues) {
            if (item.first.size() != 0) {
                sql.append("and " + item.first + " = '" + item.second + "' ");
@@ -174,7 +174,7 @@
            //#todo errInfo
            return "tableName or fieldValues is NULL";
        }
        std::string sql = "INSERT INTO " + tableName + " (";
        std::string sql = "INSERT INTO '" + tableName + "' (";
        std::string sqlTemp = sql;
        std::string sql2 = ") VALUES('";
        for (auto item : fieldValues) {
@@ -187,7 +187,7 @@
        sql = sql.substr(0, sql.length() - 1);
        //sql2 delete 2 ,'  add )
        sql2 = sql2.substr(0, sql2.length() - 2);
        sql2.append(" )");
        sql2.append(" );");
        sql.append(sql2);
        return sql;
    }
@@ -230,9 +230,9 @@
            return "tableName is NULL";
        }
        // 人员信息表
        std::string sql = "CREATE TABLE " + g_dbName + ".";
        std::string sql = "CREATE TABLE " + g_dbName + ".'";
        sql.append(tableName);
        sql.append(" (  uuid        varchar(255) PRIMARY KEY,");
        sql.append("' (  uuid        varchar(255) PRIMARY KEY,");
        sql.append("personName  varchar(255) DEFAULT NULL,");
        sql.append("age         varchar(255) DEFAULT NULL,");
        sql.append("sex         varchar(255) DEFAULT NULL,");
@@ -244,8 +244,8 @@
        sql.append("del_flag    INTEGER      DEFAULT 0");
        sql.append(");");
        // 人脸特征表
        sql.append("CREATE TABLE " + g_dbName + ".");
        sql.append(tableName + "_fea");
        sql.append("CREATE TABLE " + g_dbName + ".'");
        sql.append(tableName + "_fea'");
        sql.append(" (  uuid        varchar(255) PRIMARY KEY,");
        sql.append("    feature     BLOB NOT NULL,");
        sql.append("    faceUrl     BLOB NOT NULL,");
@@ -273,13 +273,13 @@
            SQLERR("fieldValues size is error");
            return "";
        }
        std::string sql = "update ";
        sql.append(tableName + " set ");
        std::string sql = "update '";
        sql.append(tableName + "' set ");
        for (auto &item :fieldValues) {
            sql.append(item.first + " =  '" + item.second + "',");
        }
        sql.append(" update_time ='" + AppUtil::getTimeSecString() + "'");
        sql.append(" where uuid ='" + uuid + "'");
        sql.append(" where uuid ='" + uuid + "';");
        return sql;
    }
@@ -290,8 +290,8 @@
            //#todo errInfo
            return "tableName is NULL";
        }
        std::string sql = "DROP TABLE " + g_dbName + "." + tableName + ";";
        sql.append("DROP TABLE " + g_dbName + "." + tableName + "_fea;");
        std::string sql = "DROP TABLE " + g_dbName + ".'" + tableName + "';";
        sql.append("DROP TABLE " + g_dbName + ".'" + tableName + "_fea';");
        return sql;
    }
QiaoJiaSystem/build/DataWebServer
Binary files differ
QiaoJiaSystem/build/config.json
@@ -1,26 +1,27 @@
{
  "mainServerIp": "192.168.1.182",
  "mainServerPort": "3697",
  "logPath": "/home/basic/work/log/",
  "uploadPersonUrl": "192.168.1.203:3697/addPerson/uploadToTemporary",
  "DEV_ID": "DSVAD010120181119",
  "ES_IP": "192.168.1.122",
  "ES_PORT": 9200,
  "FaceDetectionSampleSize": 720,
  "FaceSeachSleepTime": 60,
  "TotalLoadSize": "500",
  "buildAddr": "/home/basic/Apps/QiaoJiaSystem/build/",
  "clusterID": "d26c8fdd-bcdc-4819-990f-d7b44068cd88",
  "cutPath": "/home/basic/work/qiaojia/cut",
  "erlCookie": "",
  "erlFatherNode": "",
  "erlNode": "",
  "erlPath": "",
  "encode_thread_num": 3,
  "erlCookie": "123",
  "erlFatherNode": " ",
  "erlNode": "d813ec12-d065-4792-8144-2edfbf0e6228@192.168.1.116",
  "erlPath": "/opt/erlang/d813ec12-d065-4792-8144-2edfbf0e6228",
  "loadPath": "/home/basic/work/qiaojia/load",
  "localPasswd": "123456",
  "netIfName": "enp3s0",
  "srsAddr": "rtmp://192.168.1.122:1934/live/",
  "webPort": 11111,
  "redis_ip": "127.0.0.1",
  "logPath": "/home/pans/work/log/",
  "mainServerIp": "192.168.1.182",
  "mainServerPort": "3697",
  "netIfName": "wlo1",
  "redis_buf_len": 750,
  "encode_thread_num": 3,
  "FaceDetectionSampleSize": 720,
  "clusterID" : "sssss"
  "redis_ip": "127.0.0.1",
  "srsAddr": "rtmp://192.168.1.122:1934/live/",
  "webPort": 11111
}
syncDBTool/ErlangDbTool.cpp
@@ -751,7 +751,7 @@
    ErlMessage emsg;             /* Incoming message */
    int ret = -1;
    ETERM *arrlist[7];
    arrlist[0] = erl_mk_atom(strSql.c_str());
    arrlist[0] = erl_mk_string(strSql.c_str());
    ETERM *list = erl_mk_list(arrlist, 1);
    ret = erl_rpc_to(m_fd, "syncDB", "exeSomeSql", list);
@@ -1184,6 +1184,15 @@
    return false;
}
bool ErlangTool::ErlangDbTool::updatePerson(std::string t_tableName, AddFaceData &faceData, FieldValues &fieldValues) {
    //    #todo 记得测试中文  只有人员信息表更新,特征更新暂时没做
//    bool ret = updateFaceData(t_tableName + "_fea", faceData);
//    updateFaceInfo(t_tableName, fieldValues);
    std::string strSql = getUpdateFaceTableSql(t_tableName, fieldValues);
//    FieldValues fieldValues2;
    return getExecSqlResult(strSql);
}
ErlangTool::vec_AddDataCache
ErlangTool::ErlangDbTool::addPersons(std::string TableUuid, std::vector<SyncDB::AddPersonInfo> &tmpPer) {
syncDBTool/ErlangDbTool.h
@@ -266,6 +266,8 @@
                       std::string IdCard = " ", std::string PersonName = " ", std::string Age = " ",
                       std::string Sex = " ", std::string PhoneNum = " ");
        bool updatePerson(std::string t_tableName, AddFaceData &faceData, FieldValues &fieldValues);
        vec_AddDataCache addPersons(std::string TableUuid, std::vector<SyncDB::AddPersonInfo> &tmpPer);
        /***