派生自 development/c++

chenshijun
2019-03-30 b8c5eb8048b566d632b25391a79ccbd6ce33c010
QiaoJiaSystem/DataManagerServer/http_configserver.cpp
@@ -22,6 +22,7 @@
#include <time.h>
#include <dirent.h>
#include "basic/pipe_element/ffmpeg/basic_struct_for_video_image.h"
#include <basic/timer_counter/Clocktimer.h>
#include "vss/controller/VssDevTblController.h"
#include "vss/controller/VssChannelTblController.h"
@@ -33,7 +34,7 @@
using namespace std;
devHttpServer_c::devHttpServer_c()
    : _HttpSrvRetRecieve("0.0.0.0", 8083, 1), erlangDbTool(nullptr), m_SqliteFaceEncap("LocalDataDB") {
    : _HttpSrvRetRecieve("0.0.0.0", 8083, 1), erlangDbTool(nullptr), m_SqliteFaceEncap("LocalDataDB"){
    init();
}
@@ -73,6 +74,10 @@
void devHttpServer_c::init(void) {
    std::string strDevId = appConfig.getStringProperty("DEV_ID");
    //nsq
    nsqMsgProducer = new BasicMsg::Nsq::NsqMsgProducer("127.0.0.1", "4150");
    nsqMsgProducer->init();
//    DSVAD010120181119
    m_batch = strDevId.substr(5, 2);
@@ -1167,8 +1172,8 @@
        std::string publish_basepath = rtmpAddr + "cam" + str_uuid;
        DBG("publish_basepath:" << publish_basepath);
        appPref.setStringData("publish.basepath", publish_basepath);
        appPref.setIntData("pulish.width", 640);
        appPref.setIntData("pulish.height", 360);
//        appPref.setIntData("pulish.width", 1920);
//        appPref.setIntData("pulish.height", 1080);
        if (m_rtmp.find(ip) != m_rtmp.end()) {
            if (m_rtmp[ip].appPC == nullptr) {
@@ -1220,8 +1225,8 @@
        std::string publish_basepath = rtmpAddr + "cam" + str_uuid;
        DBG("publish_basepath:" << publish_basepath);
        appPref.setStringData("publish.basepath", publish_basepath);
        appPref.setIntData("pulish.width", 640);
        appPref.setIntData("pulish.height", 360);
//        appPref.setIntData("pulish.width", 1920);
//        appPref.setIntData("pulish.height", 1080);
        if (m_rtmp.find(ip) != m_rtmp.end()) {
            if (m_rtmp[ip].appPC == nullptr) {
@@ -1529,9 +1534,13 @@
    }
    if (ret) {
        killVideoAnalysFromHCApp();
        sleep(1);
        runAllApp();
        //todo
        {
            std::string topic = "cut_dura_edit";
            std::string msg = content;
            DBG("msg:" << msg);
            nsqMsgProducer->Publish(topic, (void *) (&msg));
        }
        return "{\"ret_status\": \"ok_ack\"}";
    } else {
        return "{\"ret_status\": \"内容有误,请检查!\"}";
@@ -2273,7 +2282,7 @@
                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 {
@@ -2671,6 +2680,7 @@
            std::string strSelectTemplate = R"#( -vf "select=eq(n\,%d)")#";
            sprintf(selectExpBuff, strSelectTemplate.c_str(), frameIdDiff - 1);
            if (videoSt.Valid() && imgSt.Valid()) {
                ClockTimer clockTimer1("ffmpeg getpic");
                std::string cmd("ffmpeg -i '" + videoPath + "'" + std::string(selectExpBuff) + " -vframes 1" + " -y '" +
                                str_imgName + "'");
                INFO("Video To Image Cmd: " << cmd);
@@ -2680,17 +2690,20 @@
                return "{\"error\":\"未查到视频路径\"}";
            }
            ClockTimer clockTimer2("cv::imread(str_imgName)");
            cv::Mat img = cv::imread(str_imgName);
            if (img.empty()) {
                ERR("{\"error\":\"Video File error\"}");
                return "{\"error\":\"视频文件错误\"}";
            }
            ClockTimer clockTimer3("CvUtil::cvMat2Buffer(img, buffer)");
            std::vector<unsigned char> buffer;
            CvUtil::cvMat2Buffer(img, buffer);
            std::string img_url = "http://";
            fdfsClient.rwLock.rdlock();
            if (fdfsClient.fastFds != nullptr) {
                ClockTimer clockTimer4("fdfsClient.fastFds->uploadFile");
                std::string t_strImg = "";
                if (!fdfsClient.fastFds->uploadFile(buffer, t_strImg, "jpg")) {
                    img_url = "upload image fail";
@@ -3410,8 +3423,7 @@
        result["imgUrl"] = strImgUrl;
        if (value.isMember("id")) {
            db_c.updateCamDevSnapshotbyID(value["id"].asString().c_str(), QString::fromStdString(strImgUrl));
        }
        else{
        } else {
            db_c.updateCamDevSnapshot(QString::fromStdString(rtsp_ip), QString::fromStdString(strImgUrl));
        }