#ifndef VSSLOCALSETTINGTBL_CONTROLLER_H
|
#define VSSLOCALSETTINGTBL_CONTROLLER_H
|
|
#include <string>
|
#include <DataManagerServer/http_configserver.h>
|
#include "vss/dao/VssLocalSettingTblDao.h"
|
#include "vss/dao/VssLocalSettingTblSqliteDao.h"
|
#include "vss/model/VssLocalSettingTblBuilder.h"
|
#include "vss/model/VssLocalSettingTbl.h"
|
#include "VssBaseController.h"
|
#include <mysql++.h>
|
|
using namespace std;
|
|
/**
|
* 本地国标配置
|
*/
|
class VssLocalSettingTblController : public VssBaseController {
|
private:
|
/** 本地国标配置构造函数 */
|
VssLocalSettingTblController() {}
|
|
public:
|
/** 本地国标配置单例模式 */
|
static VssLocalSettingTblController *instance() {
|
static VssLocalSettingTblController instance;
|
return &instance;
|
}
|
|
public:
|
/** 注册{label}http服务 */
|
void registerHttpServices(HttpSrvRetRecieve &_HttpSrvRetRecieve) {
|
|
_HttpSrvRetRecieve.setInfo("^/addVssLocalSettingTbl$", "POST",
|
std::bind(&VssLocalSettingTblController::addVssLocalSettingTbl, this,
|
std::placeholders::_1, std::placeholders::_2,
|
std::placeholders::_3, std::placeholders::_4));
|
|
_HttpSrvRetRecieve.setInfo("^/delVssLocalSettingTbl$", "POST",
|
std::bind(&VssLocalSettingTblController::delVssLocalSettingTbl, this,
|
std::placeholders::_1, std::placeholders::_2,
|
std::placeholders::_3, std::placeholders::_4));
|
|
_HttpSrvRetRecieve.setInfo("^/updateVssLocalSettingTbl$", "POST",
|
std::bind(&VssLocalSettingTblController::updateVssLocalSettingTbl, this,
|
std::placeholders::_1, std::placeholders::_2,
|
std::placeholders::_3, std::placeholders::_4));
|
|
_HttpSrvRetRecieve.setInfo("^/findVssLocalSettingTbl$", "POST",
|
std::bind(&VssLocalSettingTblController::findVssLocalSettingTbl, this,
|
std::placeholders::_1, std::placeholders::_2,
|
std::placeholders::_3, std::placeholders::_4));
|
|
_HttpSrvRetRecieve.setInfo("^/findVssLocalSettingTblList$", "POST",
|
std::bind(&VssLocalSettingTblController::findVssLocalSettingTblList, this,
|
std::placeholders::_1, std::placeholders::_2,
|
std::placeholders::_3, std::placeholders::_4));
|
|
}
|
|
public:
|
/** 添加本地国标配置 */
|
std::string addVssLocalSettingTbl(std::string ip, unsigned int port, std::string content, PResponse &response) {
|
DBG("ip:" << ip << "; port:" << port);
|
DBG("content: " << content);
|
Json::Reader requestJsonReader;
|
Json::Value requestJsonValue;
|
Json::Value responseJsonValue;
|
responseJsonValue["message"] = "添加失败!";
|
responseJsonValue["success"] = "false";
|
if (requestJsonReader.parse(content, requestJsonValue)) {
|
VssLocalSettingTblBuilder vssLocalSettingTblBuilder;
|
|
Json::Value iDJsonValue = requestJsonValue[VssLocalSettingTbl_ID];
|
if (iDJsonValue.type() != Json::ValueType::nullValue) {
|
vssLocalSettingTblBuilder.addID(std::stoi(iDJsonValue.asString()));
|
}
|
|
Json::Value serverIpJsonValue = requestJsonValue[VssLocalSettingTbl_ServerIp];
|
if (serverIpJsonValue.type() != Json::ValueType::nullValue) {
|
vssLocalSettingTblBuilder.addServerIp(serverIpJsonValue.asString());
|
}
|
|
Json::Value serverPortJsonValue = requestJsonValue[VssLocalSettingTbl_ServerPort];
|
if (serverPortJsonValue.type() != Json::ValueType::nullValue) {
|
vssLocalSettingTblBuilder.addServerPort(serverPortJsonValue.asString());
|
}
|
|
Json::Value serverIdJsonValue = requestJsonValue[VssLocalSettingTbl_ServerId];
|
if (serverIdJsonValue.type() != Json::ValueType::nullValue) {
|
vssLocalSettingTblBuilder.addServerId(serverIdJsonValue.asString());
|
}
|
|
Json::Value userAuthIdJsonValue = requestJsonValue[VssLocalSettingTbl_UserAuthId];
|
if (userAuthIdJsonValue.type() != Json::ValueType::nullValue) {
|
vssLocalSettingTblBuilder.addUserAuthId(userAuthIdJsonValue.asString());
|
}
|
|
Json::Value passwordJsonValue = requestJsonValue[VssLocalSettingTbl_Password];
|
if (passwordJsonValue.type() != Json::ValueType::nullValue) {
|
vssLocalSettingTblBuilder.addPassword(passwordJsonValue.asString());
|
}
|
|
Json::Value updateTimeJsonValue = requestJsonValue[VssLocalSettingTbl_UpdateTime];
|
if (updateTimeJsonValue.type() != Json::ValueType::nullValue) {
|
vssLocalSettingTblBuilder.addUpdateTime(updateTimeJsonValue.asString());
|
}
|
auto keyValuesToAdd = vssLocalSettingTblBuilder.buildVssLocalSettingTblMap();
|
if (keyValuesToAdd.size() > 0) {
|
responseJsonValue = VssLocalSettingTblSqliteDao::instance()->addVssLocalSettingTbl(keyValuesToAdd);
|
}
|
}
|
return responseJsonValue.toStyledString();
|
}
|
|
/** 删除本地国标配置 */
|
std::string delVssLocalSettingTbl(std::string ip, unsigned int port, std::string content, PResponse &response) {
|
DBG("ip:" << ip << "; port:" << port);
|
DBG("content: " << content);
|
Json::Reader requestJsonReader;
|
Json::Value requestJsonValue;
|
Json::Value responseJsonValue;
|
responseJsonValue["message"] = "删除失败!";
|
responseJsonValue["success"] = "false";
|
if (requestJsonReader.parse(content, requestJsonValue)) {
|
Json::Value iDJsonValue = requestJsonValue[VssLocalSettingTbl_ID];
|
if (iDJsonValue.type() != Json::ValueType::nullValue) {
|
string iDValue = iDJsonValue.asString();
|
responseJsonValue = VssLocalSettingTblSqliteDao::instance()->deleteByColumn("ID", iDValue);
|
}
|
|
}
|
return responseJsonValue.toStyledString();
|
}
|
|
/** 更新本地国标配置 */
|
std::string updateVssLocalSettingTbl(std::string ip, unsigned int port, std::string content, PResponse &response) {
|
DBG("ip:" << ip << "; port:" << port);
|
DBG("content: " << content);
|
Json::Reader requestJsonReader;
|
Json::Value requestJsonValue;
|
Json::Value responseJsonValue;
|
responseJsonValue["message"] = "更新失败!";
|
responseJsonValue["success"] = "false";
|
if (requestJsonReader.parse(content, requestJsonValue)) {
|
VssLocalSettingTblBuilder vssLocalSettingTblBuilder;
|
|
Json::Value iDJsonValue = requestJsonValue[VssLocalSettingTbl_ID];
|
if (iDJsonValue.type() != Json::ValueType::nullValue) {
|
vssLocalSettingTblBuilder.addID(std::stoi(iDJsonValue.asString()));
|
}
|
|
Json::Value serverIpJsonValue = requestJsonValue[VssLocalSettingTbl_ServerIp];
|
if (serverIpJsonValue.type() != Json::ValueType::nullValue) {
|
vssLocalSettingTblBuilder.addServerIp(serverIpJsonValue.asString());
|
}
|
|
Json::Value serverPortJsonValue = requestJsonValue[VssLocalSettingTbl_ServerPort];
|
if (serverPortJsonValue.type() != Json::ValueType::nullValue) {
|
vssLocalSettingTblBuilder.addServerPort(serverPortJsonValue.asString());
|
}
|
|
Json::Value serverIdJsonValue = requestJsonValue[VssLocalSettingTbl_ServerId];
|
if (serverIdJsonValue.type() != Json::ValueType::nullValue) {
|
vssLocalSettingTblBuilder.addServerId(serverIdJsonValue.asString());
|
}
|
|
Json::Value userAuthIdJsonValue = requestJsonValue[VssLocalSettingTbl_UserAuthId];
|
if (userAuthIdJsonValue.type() != Json::ValueType::nullValue) {
|
vssLocalSettingTblBuilder.addUserAuthId(userAuthIdJsonValue.asString());
|
}
|
|
Json::Value passwordJsonValue = requestJsonValue[VssLocalSettingTbl_Password];
|
if (passwordJsonValue.type() != Json::ValueType::nullValue) {
|
vssLocalSettingTblBuilder.addPassword(passwordJsonValue.asString());
|
}
|
|
Json::Value updateTimeJsonValue = requestJsonValue[VssLocalSettingTbl_UpdateTime];
|
if (updateTimeJsonValue.type() != Json::ValueType::nullValue) {
|
vssLocalSettingTblBuilder.addUpdateTime(updateTimeJsonValue.asString());
|
}
|
if (iDJsonValue.type() != Json::ValueType::nullValue) {
|
string iDValue = iDJsonValue.asString();
|
responseJsonValue = VssLocalSettingTblSqliteDao::instance()->updateVssLocalSettingTbl(
|
vssLocalSettingTblBuilder.buildVssLocalSettingTblMap(), "ID", iDValue);
|
}
|
}
|
return responseJsonValue.toStyledString();
|
}
|
|
/** 查找单个本地国标配置 */
|
std::string findVssLocalSettingTbl(std::string ip, unsigned int port, std::string content, PResponse &response) {
|
DBG("ip:" << ip << "; port:" << port);
|
DBG("content: " << content);
|
Json::Reader requestJsonReader;
|
Json::Value requestJsonValue;
|
Json::Value responseJsonValue;
|
responseJsonValue["message"] = "查询失败!";
|
responseJsonValue["success"] = "false";
|
if (requestJsonReader.parse(content, requestJsonValue)) {
|
VssLocalSettingTblBuilder vssLocalSettingTblBuilder;
|
|
Json::Value iDJsonValue = requestJsonValue[VssLocalSettingTbl_ID];
|
if (iDJsonValue.type() != Json::ValueType::nullValue) {
|
vssLocalSettingTblBuilder.addID(std::stoi(iDJsonValue.asString()));
|
}
|
|
Json::Value serverIpJsonValue = requestJsonValue[VssLocalSettingTbl_ServerIp];
|
if (serverIpJsonValue.type() != Json::ValueType::nullValue) {
|
vssLocalSettingTblBuilder.addServerIp(serverIpJsonValue.asString());
|
}
|
|
Json::Value serverPortJsonValue = requestJsonValue[VssLocalSettingTbl_ServerPort];
|
if (serverPortJsonValue.type() != Json::ValueType::nullValue) {
|
vssLocalSettingTblBuilder.addServerPort(serverPortJsonValue.asString());
|
}
|
|
Json::Value serverIdJsonValue = requestJsonValue[VssLocalSettingTbl_ServerId];
|
if (serverIdJsonValue.type() != Json::ValueType::nullValue) {
|
vssLocalSettingTblBuilder.addServerId(serverIdJsonValue.asString());
|
}
|
|
Json::Value userAuthIdJsonValue = requestJsonValue[VssLocalSettingTbl_UserAuthId];
|
if (userAuthIdJsonValue.type() != Json::ValueType::nullValue) {
|
vssLocalSettingTblBuilder.addUserAuthId(userAuthIdJsonValue.asString());
|
}
|
|
Json::Value passwordJsonValue = requestJsonValue[VssLocalSettingTbl_Password];
|
if (passwordJsonValue.type() != Json::ValueType::nullValue) {
|
vssLocalSettingTblBuilder.addPassword(passwordJsonValue.asString());
|
}
|
|
Json::Value updateTimeJsonValue = requestJsonValue[VssLocalSettingTbl_UpdateTime];
|
if (updateTimeJsonValue.type() != Json::ValueType::nullValue) {
|
vssLocalSettingTblBuilder.addUpdateTime(updateTimeJsonValue.asString());
|
}
|
responseJsonValue["message"] = "查询成功!";
|
responseJsonValue["success"] = "true";
|
responseJsonValue = VssLocalSettingTblSqliteDao::instance()->findVssLocalSettingTblList(
|
vssLocalSettingTblBuilder.buildVssLocalSettingTblMap());
|
}
|
return responseJsonValue.toStyledString();
|
}
|
|
/** 查找本地国标配置列表 */
|
std::string
|
findVssLocalSettingTblList(std::string ip, unsigned int port, std::string content, PResponse &response) {
|
DBG("ip:" << ip << "; port:" << port);
|
DBG("content: " << content);
|
Json::Reader requestJsonReader;
|
Json::Value requestJsonValue;
|
Json::Value responseJsonValue;
|
responseJsonValue["message"] = "查询失败!";
|
responseJsonValue["success"] = "false";
|
if (content == "" || requestJsonReader.parse(content, requestJsonValue)) {
|
VssLocalSettingTblBuilder vssLocalSettingTblBuilder;
|
|
Json::Value iDJsonValue = requestJsonValue[VssLocalSettingTbl_ID];
|
if (iDJsonValue.type() != Json::ValueType::nullValue) {
|
vssLocalSettingTblBuilder.addID(std::stoi(iDJsonValue.asString()));
|
}
|
|
Json::Value serverIpJsonValue = requestJsonValue[VssLocalSettingTbl_ServerIp];
|
if (serverIpJsonValue.type() != Json::ValueType::nullValue) {
|
vssLocalSettingTblBuilder.addServerIp(serverIpJsonValue.asString());
|
}
|
|
Json::Value serverPortJsonValue = requestJsonValue[VssLocalSettingTbl_ServerPort];
|
if (serverPortJsonValue.type() != Json::ValueType::nullValue) {
|
vssLocalSettingTblBuilder.addServerPort(serverPortJsonValue.asString());
|
}
|
|
Json::Value serverIdJsonValue = requestJsonValue[VssLocalSettingTbl_ServerId];
|
if (serverIdJsonValue.type() != Json::ValueType::nullValue) {
|
vssLocalSettingTblBuilder.addServerId(serverIdJsonValue.asString());
|
}
|
|
Json::Value userAuthIdJsonValue = requestJsonValue[VssLocalSettingTbl_UserAuthId];
|
if (userAuthIdJsonValue.type() != Json::ValueType::nullValue) {
|
vssLocalSettingTblBuilder.addUserAuthId(userAuthIdJsonValue.asString());
|
}
|
|
Json::Value passwordJsonValue = requestJsonValue[VssLocalSettingTbl_Password];
|
if (passwordJsonValue.type() != Json::ValueType::nullValue) {
|
vssLocalSettingTblBuilder.addPassword(passwordJsonValue.asString());
|
}
|
|
Json::Value updateTimeJsonValue = requestJsonValue[VssLocalSettingTbl_UpdateTime];
|
if (updateTimeJsonValue.type() != Json::ValueType::nullValue) {
|
vssLocalSettingTblBuilder.addUpdateTime(updateTimeJsonValue.asString());
|
}
|
responseJsonValue["message"] = "查询成功!";
|
responseJsonValue["success"] = "true";
|
responseJsonValue = VssLocalSettingTblSqliteDao::instance()->findVssLocalSettingTblList(
|
vssLocalSettingTblBuilder.buildVssLocalSettingTblMap());
|
|
}
|
return responseJsonValue.toStyledString();
|
}
|
};
|
|
|
#endif //VSSLOCALSETTINGTBL_CONTROLLER_H
|
|
|
|
|
|