| | |
| | | uuid_generate(t_uuid); |
| | | uuid_unparse(t_uuid, str); |
| | | str_uuid = str; |
| | | Uuid = Uuid.empty() ? str_uuid : Uuid; |
| | | if (createBy == "analyDev") { |
| | | Uuid = Uuid.empty() ? str_uuid : Uuid; |
| | | } else if (createBy == "conCemter") { |
| | |
| | | fieldValues.insert(std::make_pair("startTime", StartTime)); |
| | | fieldValues.insert(std::make_pair("endTime", EndTime)); |
| | | // #todo |
| | | fieldValues.insert(std::make_pair("create_by", "who")); |
| | | fieldValues.insert(std::make_pair("create_by", createBy)); |
| | | |
| | | fieldValues.insert(std::make_pair("uploadFlag", UploadFlag)); |
| | | fieldValues.insert(std::make_pair("cmpThreshold", CmpThreshold)); |
| | |
| | | std::string strUUID = value["uuid"].asString(); |
| | | |
| | | std::string Enabled = value["enabled"].asString(); |
| | | Enabled = Enabled.empty() ? "1" : Enabled; |
| | | std::string TableType = value["TableType"].asString(); |
| | | std::string SyncType = value["SyncType"].asString(); |
| | | std::string TableId = value["TableId"].asString(); |
| | | std::string BwType = value["BwType"].asString(); |
| | | std::string createBy = value["createBy"].asString(); |
| | | std::string monLevel = value["monLevel"].asString(); |
| | | |
| | | std::string UploadFlag = "-1"; |
| | | if (SyncType == "1") { |
| | |
| | | // std::string uuid = ""; |
| | | bool ret_addPerson = false; |
| | | |
| | | addPersonMToDB(TableName, img_url, SyncType, feature_base64, faceResults, idcard, strUUID, ret_addPerson); |
| | | addPersonMToDB(TableName, img_url, SyncType, feature_base64, faceResults, idcard, strUUID, monLevel, Enabled, |
| | | ret_addPerson); |
| | | |
| | | if (ret_addPerson && strUUID.size() > 0) { |
| | | std::string str_result = std::string("{\"uuid\":").append( |
| | |
| | | std::string TableId = value["TableId"].asString(); |
| | | std::string BwType = value["BwType"].asString(); |
| | | std::string CreateBy = value["createBy"].asString(); |
| | | std::string monLevel = value["monLevel"].asString(); |
| | | // std::string BwType = value["BwType"].asString(); |
| | | std::string UploadFlag = "-1"; |
| | | if (SyncType == "1") { |
| | |
| | | fieldValues.insert(make_pair("uuid", strUUID)); |
| | | fieldValues.insert(make_pair("idCard", idcard)); |
| | | fieldValues.insert(make_pair("enabled", Enabled)); |
| | | fieldValues.insert(make_pair("monitorLevel", monLevel)); |
| | | ret_addPerson = m_SqliteFaceEncap.updateFace(TableName, addFaceData, fieldValues); |
| | | } |
| | | } else { |
| | | fieldValues.insert(make_pair("uuid", strUUID)); |
| | | fieldValues.insert(make_pair("idCard", idcard)); |
| | | fieldValues.insert(make_pair("enabled", Enabled)); |
| | | fieldValues.insert(make_pair("monitorLevel", monLevel)); |
| | | ret_addPerson = erlangDbTool->updatePerson(strUUID, addFaceData, fieldValues); |
| | | } |
| | | |
| | |
| | | |
| | | void devHttpServer_c::addPersonMToDB(const string &TableName, const string &img_url, const string &SyncType, |
| | | const string &feature_base64, const Features &faceResults, string &idcard, |
| | | string &strUUID, bool &ret_addPerson) { |
| | | string &strUUID, string &monLevel, string &Enabled, bool &ret_addPerson) { |
| | | FieldValues fieldValues; |
| | | AddFaceData addFaceData; |
| | | |
| | | addFaceData.uuid = strUUID; |
| | | addFaceData.faceUrl = img_url; |
| | | |
| | | fieldValues.insert(make_pair("monitorLevel", monLevel)); |
| | | fieldValues.insert(make_pair("enabled", Enabled)); |
| | | fieldValues.insert(make_pair("idCard", idcard)); |
| | | |
| | | if (SyncType == "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 |
| | | |
| | | strUUID = AppUtil::getPersonId(m_batch, m_SerialNumber); |
| | | addFaceData.uuid = strUUID; |
| | | addFaceData.faceUrl = img_url; |
| | | |
| | | fieldValues.insert(make_pair("uuid", strUUID)); |
| | | fieldValues.insert(make_pair("idCard", idcard)); |
| | | auto t_id = m_SqliteFaceEncap.addFace(TableName, addFaceData, fieldValues); |
| | | ret_addPerson = t_id.size() > 0 ? true : false; |
| | | } else { |
| | | //#todo update table |
| | | addFaceData.uuid = strUUID; |
| | | addFaceData.faceUrl = img_url; |
| | | |
| | | fieldValues.insert(make_pair("uuid", strUUID)); |
| | | fieldValues.insert(make_pair("idCard", idcard)); |
| | | 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 = ret_addPerson = erlangDbTool->addPerson(strUUID, TableName, feature_base64, img_url, |
| | | idcard); |
| | | if (strUUID.size() <= 0) { |
| | | // insert |
| | | strUUID = AppUtil::getPersonId(m_batch, m_SerialNumber); |
| | | // ret_addPerson = ret_addPerson = erlangDbTool->addPerson(strUUID, TableName, feature_base64, img_url, |
| | | // idcard); |
| | | fieldValues.insert(make_pair("uuid", strUUID)); |
| | | addFaceData.feature_base64 = feature_base64; |
| | | ret_addPerson = erlangDbTool->addPerson(TableName, addFaceData, fieldValues); |
| | | } else { |
| | | // update |
| | | fieldValues.insert(make_pair("uuid", strUUID)); |
| | | addFaceData.feature_base64 = feature_base64; |
| | | ret_addPerson = erlangDbTool->updatePerson(strUUID, addFaceData, fieldValues); |
| | | } |
| | | } |
| | | } |
| | | |
| | |
| | | subJson.append("\"uuid\":\"" + item.second.uuid + "\","); |
| | | subJson.append("\"tableName\":\"" + TableName + "\","); |
| | | subJson.append("\"idcard\":\"" + t_faceInfoCache[item.second.uuid].idCard + "\","); |
| | | subJson.append("\"enable\":\"" + item.second.enable + "\","); |
| | | subJson.append("\"enable\":\"" + t_faceInfoCache[item.second.uuid].enable + "\","); |
| | | subJson.append("\"monLevel\":\"" + t_faceInfoCache[item.second.uuid].monLevel + "\","); |
| | | subJson.append("\"imgUrl\":\"" + item.second.faceurl + "\""); |
| | | // subJson.append("\"feature\":\"" + item.second.feature + "\","); |
| | | //#todo modifysvn upda svn comm |
| | |
| | | subJson.append("\"tableName\":\"" + TableName + "\","); |
| | | subJson.append("\"idcard\":\"" + item.second.idcard + "\","); |
| | | subJson.append("\"enable\":\"" + item.second.enable + "\","); |
| | | subJson.append("\"monLevel\":\"" + item.second.monLevel + "\","); |
| | | subJson.append("\"imgUrl\":\"" + item.second.img + "\""); |
| | | // subJson.append("\"feature\":\"" + item.second.feature + "\","); |
| | | //#todo modifysvn upda svn comm |
| | |
| | | std::string UploadFlag = value["IsSync"].asString(); |
| | | std::string CmpThreshold = value["threshold"].asString(); |
| | | std::string Enabled = value["enabled"].asString(); |
| | | Enabled = Enabled.empty() ? "1" : Enabled; |
| | | // Enabled = Enabled.empty() ? "1" : Enabled; |
| | | std::string createBy = value["createBy"].asString(); |
| | | |
| | | bool ret = false; |
| | |
| | | fieldValues.insert(std::make_pair("startTime", StartTime)); |
| | | fieldValues.insert(std::make_pair("endTime", EndTime)); |
| | | // #todo |
| | | fieldValues.insert(std::make_pair("create_by", "who")); |
| | | fieldValues.insert(std::make_pair("create_by", createBy)); |
| | | |
| | | fieldValues.insert(std::make_pair("uploadFlag", UploadFlag)); |
| | | fieldValues.insert(std::make_pair("cmpThreshold", CmpThreshold)); |
| | |
| | | str_imgName += "-"; |
| | | str_imgName += "snapshot.jpg"; |
| | | //admin:a1234567@192.168.1.201:554/h264/ch1/main/av_stream -r 1/25 -f image2 -s 1920*1080 /home/basic/work_src/a.jpg |
| | | std::string cmd("ffmpeg -i " + rtsp_url + " -r 1/25 -f image2 -s 1920*1080 -y " + str_imgName); |
| | | std::string cmd( |
| | | "ffmpeg -i " + rtsp_url + " -vf select='eq(pict_type\\,I)',setpts='N/(25*TB)' -f image2 -s 1920*1080 -y " + |
| | | str_imgName); |
| | | // std::string cmd("ffmpeg -i " + rtsp_url + " -r 1/25 -f image2 -s 1920*1080 -y " + str_imgName); |
| | | DBG(cmd); |
| | | system(cmd.c_str()); |
| | | |
| | |
| | | CvUtil::cvMat2Buffer(img, buffer); |
| | | std::string strImgUrlTmp = ""; |
| | | fdfsClient.fastFds->uploadFile(buffer, strImgUrlTmp, "jpg"); |
| | | strImgUrl.append(fdfsClient.fastFds->getIp() + "/" + strImgUrlTmp); |
| | | // strImgUrl.append(fdfsClient.fastFds->getIp() + "/" + strImgUrlTmp); |
| | | strImgUrl.clear(); |
| | | strImgUrl = strImgUrlTmp; |
| | | } |
| | | fdfsClient.rwLock.unlock(); |
| | | Json::Value result; |
| | | result["imgUrl"] = strImgUrl; |
| | | db_c.updateCamDevSnapshot(QString::fromStdString(ip), QString::fromStdString(strImgUrl)); |
| | | |
| | | return result.toStyledString(); |
| | | |