派生自 development/c++

xuxiuxi
2019-03-08 118d5304c8744a3cb533164af6fbdc91229d6f3d
QiaoJiaSystem/DataManagerServer/http_configserver.cpp
@@ -28,6 +28,7 @@
#include "vss/controller/VssDomainUnitTblController.h"
#include "vss/controller/VssLocalSettingTblController.h"
#include "vss/controller/VssUpperSvrTblController.h"
#include "vss/controller/CamDevController.h"
using namespace std;
@@ -250,12 +251,14 @@
    BaseDao::initConnection();
    VssLocalSettingTblSqliteDao::instance()->setLDBTool(&db_c);
    BaseSqliteDao::setLDBTool(&db_c);
    VssDevTblController::instance()->registerHttpServices(_HttpSrvRetRecieve);
    VssChannelTblController::instance()->registerHttpServices(_HttpSrvRetRecieve);
    VssDomainUnitTblController::instance()->registerHttpServices(_HttpSrvRetRecieve);
    VssLocalSettingTblController::instance()->registerHttpServices(_HttpSrvRetRecieve);
    CamDevController::instance()->registerHttpServices(_HttpSrvRetRecieve);
    VssUpperSvrTblController::instance()->registerHttpServices(_HttpSrvRetRecieve);
    _HttpSrvRetRecieve.start();
    _HttpSrvRetRecieve.waitForShutDown();
@@ -1049,7 +1052,7 @@
        if ((!ret) || (serialnumber[0] == 0)) {
            return "{\"ret_status\": \"内容有误,请检查!\"}";
        }
        rec.type = 0;
        rec.str_cam_dev_id = QString::fromLatin1((const char *) serialnumber);//摄像机id cam_mac
        rec.str_name = QString::fromStdString(value["str_name"].asString());
        rec.str_addr = QString::fromStdString(value["str_addr"].asString());
@@ -1060,6 +1063,7 @@
        rec.str_username = QString::fromStdString(value["str_username"].asString());
        rec.str_password = QString::fromStdString(value["str_password"].asString());
        rec.str_brand = QString::fromStdString(value["str_brand"].asString());
        rec.str_reserved = QString::fromStdString(value["str_reserved"].asString());
        type = value["n_type"].asInt();
//        rec_sdk_old = db_c.searchCamSdkTableByCamId(rec.str_cam_dev_id);
@@ -1443,12 +1447,12 @@
                fdfsClient.rwLock.unlock();
            }
            //# http client 127.0.0.1:9999/resetFdfs
            std::string http_cmd = "http://127.0.0.1:9999/resetFdfs";
            HttpRequestWithCrul httpRequestWithCrul;
            std::string response_bak = "";
            std::string postParams_bak = "";
            httpRequestWithCrul.curl_post_req("http://127.0.0.1:9999/resetFdfs", postParams_bak, response_bak);
//            //# http client 127.0.0.1:9999/resetFdfs
//            std::string http_cmd = "http://127.0.0.1:9999/resetFdfs";
//            HttpRequestWithCrul httpRequestWithCrul;
//            std::string response_bak = "";
//            std::string postParams_bak = "";
//            httpRequestWithCrul.curl_post_req("http://127.0.0.1:9999/resetFdfs", postParams_bak, response_bak);
        }
    } else {
        return "{\"ret_status\": \"传输错误,请检查!\"}";
@@ -1873,31 +1877,87 @@
//    bool ret = false;
    if (reader.parse(content, value)) {
        std::string Uuid = value["uuid"].asString();
        std::string TableType = value["TableType"].asString();
        std::string TableName = value["TableName"].asString();
        int SyncType = atoi(value["SyncType"].asCString());
        std::string BwType = value["BwType"].asString();
        std::string StartTime = value["StartTime"].asString();
        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;
        std::string createBy = value["createBy"].asString();
        string str_uuid;
        uuid_t t_uuid;
        char str[36];
        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") {
//            if (Uuid.empty()) {
//                response->write(SimpleWeb::StatusCode::client_error_bad_request, "{\"error\":\"参数错误! \"}");
//                return "";
//            }
//        }
        bool ret = false;
        if (SyncType == 1) {
            //同步库
            ret = erlangDbTool->createDatabase(TableType, TableName, SyncType, BwType, StartTime, EndTime);
        } else if (SyncType == 0) {
            TableName.insert(0, "lt_");
            //本地库
            FieldValues fieldValues;
            fieldValues.insert(std::make_pair("uuid", GetUUId::getUUID()));
            fieldValues.insert(std::make_pair("tableName", TableName));
            fieldValues.insert(std::make_pair("tableDesc", "ceshi"));
            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.createTable(TableName, fieldValues);
        FieldValues fieldValues;
        fieldValues.insert(std::make_pair("uuid", Uuid));
        fieldValues.insert(std::make_pair("tableName", TableName));
        fieldValues.insert(std::make_pair("tableDesc", "ceshi"));
        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));
//        #todo
        fieldValues.insert(std::make_pair("create_by", createBy));
        fieldValues.insert(std::make_pair("uploadFlag", UploadFlag));
        fieldValues.insert(std::make_pair("cmpThreshold", CmpThreshold));
        fieldValues.insert(std::make_pair("enabled", Enabled));
        if (TableType == "person") {
            if (SyncType == 1) {
                //同步库
                ret = erlangDbTool->createDatabase(Uuid, fieldValues);
            } else if (SyncType == 0) {
                TableName.insert(0, "lt_");
                //本地库
                ret = m_SqliteFaceEncap.createTable(TableName, fieldValues);
            }
        } else if (TableType == "car") {
            ERR(" not not_implemented");
            response->write(SimpleWeb::StatusCode::server_error_not_implemented, "{\"error\":\"类型错误,未实现! \"}");
            return "";
        } else {
            response->write(SimpleWeb::StatusCode::server_error_not_implemented, "{\"error\":\"类型错误,未识别! \"}");
            return "";
        }
////            #todo 上传。仅黑名单。
////            #TODO 根据createBy判断是否需要上传
//        if (createBy == "analyDev" && BwType == "1") {
////            string &Uuid, string &TableName, string &SyncType, string &StartTime,string &EndTime,
////            string &UploadFlag, string &CmpThreshold, string &Enabled
//            string str_SyncType(to_string(SyncType));
//            UploadTaskToMonitorCenter(Uuid, TableName, str_SyncType, StartTime, EndTime, UploadFlag, CmpThreshold,
//                                      Enabled);
//        }
        erlangDbTool->sendMessage();
        std::string str_result = std::string("{\"result\":").append("\"" + std::to_string(ret) + "\"}");
        return str_result;