#ifndef VSSDEVTBL_CONTROLLER_H
|
#define VSSDEVTBL_CONTROLLER_H
|
|
#include <string>
|
#include <DataManagerServer/http_configserver.h>
|
#include "vss/dao/VssDevTblDao.h"
|
#include "vss/model/VssDevTblBuilder.h"
|
#include "vss/model/VssDevTbl.h"
|
#include "VssBaseController.h"
|
#include <mysql++.h>
|
|
using namespace std;
|
|
/**
|
* 创建一级设备表
|
*/
|
class VssDevTblController : public VssBaseController {
|
private:
|
/** 创建一级设备表构造函数 */
|
VssDevTblController() {}
|
public:
|
/** 创建一级设备表单例模式 */
|
static VssDevTblController* instance() {
|
static VssDevTblController instance;
|
return &instance;
|
}
|
public:
|
/** 注册{label}http服务 */
|
void registerHttpServices(HttpSrvRetRecieve& _HttpSrvRetRecieve) {
|
|
_HttpSrvRetRecieve.setInfo("^/addVssDevTbl$", "POST",
|
std::bind(&VssDevTblController::addVssDevTbl, this,
|
std::placeholders::_1, std::placeholders::_2,
|
std::placeholders::_3, std::placeholders::_4));
|
|
_HttpSrvRetRecieve.setInfo("^/delVssDevTbl$", "POST",
|
std::bind(&VssDevTblController::delVssDevTbl, this,
|
std::placeholders::_1, std::placeholders::_2,
|
std::placeholders::_3, std::placeholders::_4));
|
|
_HttpSrvRetRecieve.setInfo("^/updateVssDevTbl$", "POST",
|
std::bind(&VssDevTblController::updateVssDevTbl, this,
|
std::placeholders::_1, std::placeholders::_2,
|
std::placeholders::_3, std::placeholders::_4));
|
|
_HttpSrvRetRecieve.setInfo("^/findVssDevTbl$", "POST",
|
std::bind(&VssDevTblController::findVssDevTbl, this,
|
std::placeholders::_1, std::placeholders::_2,
|
std::placeholders::_3, std::placeholders::_4));
|
|
_HttpSrvRetRecieve.setInfo("^/findVssDevTblList$", "POST",
|
std::bind(&VssDevTblController::findVssDevTblList, this,
|
std::placeholders::_1, std::placeholders::_2,
|
std::placeholders::_3, std::placeholders::_4));
|
|
}
|
public:
|
/** 添加创建一级设备表 */
|
std::string addVssDevTbl(std::string ip, unsigned int port, std::string content, PResponse &response) {
|
Json::Reader requestJsonReader;
|
Json::Value requestJsonValue;
|
Json::Value responseJsonValue;
|
responseJsonValue["message"] = "添加失败!";
|
responseJsonValue["success"] = "false";
|
if (requestJsonReader.parse(content, requestJsonValue)) {
|
VssDevTblBuilder vssDevTblBuilder;
|
|
Json::Value iDJsonValue = requestJsonValue[VssDevTbl_ID];
|
if (iDJsonValue.type() != Json::ValueType::nullValue) {
|
vssDevTblBuilder.addID(std::stoi((iDJsonValue.asString())));
|
}
|
|
Json::Value devPubIDJsonValue = requestJsonValue[VssDevTbl_DevPubID];
|
if (devPubIDJsonValue.type() != Json::ValueType::nullValue) {
|
vssDevTblBuilder.addDevPubID((devPubIDJsonValue.asString()));
|
}
|
|
Json::Value devNicknameJsonValue = requestJsonValue[VssDevTbl_DevNickname];
|
if (devNicknameJsonValue.type() != Json::ValueType::nullValue) {
|
vssDevTblBuilder.addDevNickname((devNicknameJsonValue.asString()));
|
}
|
|
Json::Value userNameJsonValue = requestJsonValue[VssDevTbl_UserName];
|
if (userNameJsonValue.type() != Json::ValueType::nullValue) {
|
vssDevTblBuilder.addUserName((userNameJsonValue.asString()));
|
}
|
|
Json::Value passwdJsonValue = requestJsonValue[VssDevTbl_Passwd];
|
if (passwdJsonValue.type() != Json::ValueType::nullValue) {
|
vssDevTblBuilder.addPasswd((passwdJsonValue.asString()));
|
}
|
|
Json::Value corpIDJsonValue = requestJsonValue[VssDevTbl_CorpID];
|
if (corpIDJsonValue.type() != Json::ValueType::nullValue) {
|
vssDevTblBuilder.addCorpID((corpIDJsonValue.asString()));
|
}
|
|
Json::Value iPJsonValue = requestJsonValue[VssDevTbl_IP];
|
if (iPJsonValue.type() != Json::ValueType::nullValue) {
|
vssDevTblBuilder.addIP((iPJsonValue.asString()));
|
}
|
|
Json::Value portJsonValue = requestJsonValue[VssDevTbl_Port];
|
if (portJsonValue.type() != Json::ValueType::nullValue) {
|
vssDevTblBuilder.addPort(std::stoi((portJsonValue.asString())));
|
}
|
|
Json::Value aliveJsonValue = requestJsonValue[VssDevTbl_Alive];
|
if (aliveJsonValue.type() != Json::ValueType::nullValue) {
|
vssDevTblBuilder.addAlive(std::stoi((aliveJsonValue.asString())));
|
}
|
|
Json::Value dMarkerJsonValue = requestJsonValue[VssDevTbl_DMarker];
|
if (dMarkerJsonValue.type() != Json::ValueType::nullValue) {
|
vssDevTblBuilder.addDMarker(std::stoi((dMarkerJsonValue.asString())));
|
}
|
|
Json::Value updateTimeJsonValue = requestJsonValue[VssDevTbl_UpdateTime];
|
if (updateTimeJsonValue.type() != Json::ValueType::nullValue) {
|
vssDevTblBuilder.addUpdateTime((updateTimeJsonValue.asString()));
|
}
|
auto keyValuesToAdd = vssDevTblBuilder.buildVssDevTblMap();
|
if (keyValuesToAdd.size() > 0) {
|
mysqlpp::SimpleResult addVssDevTblResult = VssDevTblDao::instance()->addVssDevTbl(keyValuesToAdd);
|
if (addVssDevTblResult.rows() > 0) {
|
responseJsonValue["success"] = "true";
|
responseJsonValue["message"] = "添加成功!";
|
}
|
}
|
}
|
return responseJsonValue.toStyledString();
|
}
|
|
/** 删除创建一级设备表 */
|
std::string delVssDevTbl(std::string ip, unsigned int port, std::string content, PResponse &response) {
|
Json::Reader requestJsonReader;
|
Json::Value requestJsonValue;
|
Json::Value responseJsonValue;
|
responseJsonValue["message"] = "删除失败!";
|
responseJsonValue["success"] = "false";
|
if (requestJsonReader.parse(content, requestJsonValue)) {
|
Json::Value iDJsonValue = requestJsonValue[VssDevTbl_ID];
|
if (iDJsonValue.type() != Json::ValueType::nullValue) {
|
string iDValue = iDJsonValue.asString();
|
if (iDValue.size() > 0 && VssDevTblDao::instance()->deleteByColumn("ID", iDValue)) {
|
responseJsonValue["success"] = "true";
|
responseJsonValue["message"] = "删除成功!";
|
}
|
}
|
|
}
|
return responseJsonValue.toStyledString();
|
}
|
|
/** 更新创建一级设备表 */
|
std::string updateVssDevTbl(std::string ip, unsigned int port, std::string content, PResponse &response) {
|
Json::Reader requestJsonReader;
|
Json::Value requestJsonValue;
|
Json::Value responseJsonValue;
|
responseJsonValue["message"] = "更新失败!";
|
responseJsonValue["success"] = "false";
|
if (requestJsonReader.parse(content, requestJsonValue)) {
|
VssDevTblBuilder vssDevTblBuilder;
|
|
Json::Value iDJsonValue = requestJsonValue[VssDevTbl_ID];
|
if (iDJsonValue.type() != Json::ValueType::nullValue) {
|
vssDevTblBuilder.addID(std::stoi((iDJsonValue.asString())));
|
}
|
|
Json::Value devPubIDJsonValue = requestJsonValue[VssDevTbl_DevPubID];
|
if (devPubIDJsonValue.type() != Json::ValueType::nullValue) {
|
vssDevTblBuilder.addDevPubID((devPubIDJsonValue.asString()));
|
}
|
|
Json::Value devNicknameJsonValue = requestJsonValue[VssDevTbl_DevNickname];
|
if (devNicknameJsonValue.type() != Json::ValueType::nullValue) {
|
vssDevTblBuilder.addDevNickname((devNicknameJsonValue.asString()));
|
}
|
|
Json::Value userNameJsonValue = requestJsonValue[VssDevTbl_UserName];
|
if (userNameJsonValue.type() != Json::ValueType::nullValue) {
|
vssDevTblBuilder.addUserName((userNameJsonValue.asString()));
|
}
|
|
Json::Value passwdJsonValue = requestJsonValue[VssDevTbl_Passwd];
|
if (passwdJsonValue.type() != Json::ValueType::nullValue) {
|
vssDevTblBuilder.addPasswd((passwdJsonValue.asString()));
|
}
|
|
Json::Value corpIDJsonValue = requestJsonValue[VssDevTbl_CorpID];
|
if (corpIDJsonValue.type() != Json::ValueType::nullValue) {
|
vssDevTblBuilder.addCorpID((corpIDJsonValue.asString()));
|
}
|
|
Json::Value iPJsonValue = requestJsonValue[VssDevTbl_IP];
|
if (iPJsonValue.type() != Json::ValueType::nullValue) {
|
vssDevTblBuilder.addIP((iPJsonValue.asString()));
|
}
|
|
Json::Value portJsonValue = requestJsonValue[VssDevTbl_Port];
|
if (portJsonValue.type() != Json::ValueType::nullValue) {
|
vssDevTblBuilder.addPort(std::stoi((portJsonValue.asString())));
|
}
|
|
Json::Value aliveJsonValue = requestJsonValue[VssDevTbl_Alive];
|
if (aliveJsonValue.type() != Json::ValueType::nullValue) {
|
vssDevTblBuilder.addAlive(std::stoi((aliveJsonValue.asString())));
|
}
|
|
Json::Value dMarkerJsonValue = requestJsonValue[VssDevTbl_DMarker];
|
if (dMarkerJsonValue.type() != Json::ValueType::nullValue) {
|
vssDevTblBuilder.addDMarker(std::stoi((dMarkerJsonValue.asString())));
|
}
|
|
Json::Value updateTimeJsonValue = requestJsonValue[VssDevTbl_UpdateTime];
|
if (updateTimeJsonValue.type() != Json::ValueType::nullValue) {
|
vssDevTblBuilder.addUpdateTime((updateTimeJsonValue.asString()));
|
}
|
if (iDJsonValue.type() != Json::ValueType::nullValue) {
|
string iDValue = iDJsonValue.asString();
|
if (iDValue.size() > 0 && VssDevTblDao::instance()->updateVssDevTbl(vssDevTblBuilder.buildVssDevTblMap(), "ID", iDValue)) {
|
responseJsonValue["success"] = "true";
|
responseJsonValue["message"] = "更新成功!";
|
}
|
}
|
}
|
return responseJsonValue.toStyledString();
|
}
|
|
/** 查找单个创建一级设备表 */
|
std::string findVssDevTbl(std::string ip, unsigned int port, std::string content, PResponse &response) {
|
Json::Reader requestJsonReader;
|
Json::Value requestJsonValue;
|
Json::Value responseJsonValue;
|
responseJsonValue["message"] = "查询失败!";
|
responseJsonValue["success"] = "false";
|
if (requestJsonReader.parse(content, requestJsonValue)) {
|
VssDevTblBuilder vssDevTblBuilder;
|
|
Json::Value iDJsonValue = requestJsonValue[VssDevTbl_ID];
|
if (iDJsonValue.type() != Json::ValueType::nullValue) {
|
vssDevTblBuilder.addID(std::stoi((iDJsonValue.asString())));
|
}
|
|
Json::Value devPubIDJsonValue = requestJsonValue[VssDevTbl_DevPubID];
|
if (devPubIDJsonValue.type() != Json::ValueType::nullValue) {
|
vssDevTblBuilder.addDevPubID((devPubIDJsonValue.asString()));
|
}
|
|
Json::Value devNicknameJsonValue = requestJsonValue[VssDevTbl_DevNickname];
|
if (devNicknameJsonValue.type() != Json::ValueType::nullValue) {
|
vssDevTblBuilder.addDevNickname((devNicknameJsonValue.asString()));
|
}
|
|
Json::Value userNameJsonValue = requestJsonValue[VssDevTbl_UserName];
|
if (userNameJsonValue.type() != Json::ValueType::nullValue) {
|
vssDevTblBuilder.addUserName((userNameJsonValue.asString()));
|
}
|
|
Json::Value passwdJsonValue = requestJsonValue[VssDevTbl_Passwd];
|
if (passwdJsonValue.type() != Json::ValueType::nullValue) {
|
vssDevTblBuilder.addPasswd((passwdJsonValue.asString()));
|
}
|
|
Json::Value corpIDJsonValue = requestJsonValue[VssDevTbl_CorpID];
|
if (corpIDJsonValue.type() != Json::ValueType::nullValue) {
|
vssDevTblBuilder.addCorpID((corpIDJsonValue.asString()));
|
}
|
|
Json::Value iPJsonValue = requestJsonValue[VssDevTbl_IP];
|
if (iPJsonValue.type() != Json::ValueType::nullValue) {
|
vssDevTblBuilder.addIP((iPJsonValue.asString()));
|
}
|
|
Json::Value portJsonValue = requestJsonValue[VssDevTbl_Port];
|
if (portJsonValue.type() != Json::ValueType::nullValue) {
|
vssDevTblBuilder.addPort(std::stoi((portJsonValue.asString())));
|
}
|
|
Json::Value aliveJsonValue = requestJsonValue[VssDevTbl_Alive];
|
if (aliveJsonValue.type() != Json::ValueType::nullValue) {
|
vssDevTblBuilder.addAlive(std::stoi((aliveJsonValue.asString())));
|
}
|
|
Json::Value dMarkerJsonValue = requestJsonValue[VssDevTbl_DMarker];
|
if (dMarkerJsonValue.type() != Json::ValueType::nullValue) {
|
vssDevTblBuilder.addDMarker(std::stoi((dMarkerJsonValue.asString())));
|
}
|
|
Json::Value updateTimeJsonValue = requestJsonValue[VssDevTbl_UpdateTime];
|
if (updateTimeJsonValue.type() != Json::ValueType::nullValue) {
|
vssDevTblBuilder.addUpdateTime((updateTimeJsonValue.asString()));
|
}
|
responseJsonValue["message"] = "查询成功!";
|
responseJsonValue["success"] = "true";
|
responseJsonValue["data"] = VssDevTblDao::instance()->findJsonArray(string("select * from ") + VSSDevTbl_TABLE_NAME + " where 1 = 1 limit 1", vssDevTblBuilder.buildVssDevTblMap());
|
}
|
return responseJsonValue.toStyledString();
|
}
|
|
/** 查找创建一级设备表列表 */
|
std::string findVssDevTblList(std::string ip, unsigned int port, std::string content, PResponse &response) {
|
Json::Reader requestJsonReader;
|
Json::Value requestJsonValue;
|
Json::Value responseJsonValue;
|
responseJsonValue["message"] = "查询失败!";
|
responseJsonValue["success"] = "false";
|
if (content == "" || requestJsonReader.parse(content, requestJsonValue)) {
|
VssDevTblBuilder vssDevTblBuilder;
|
|
Json::Value iDJsonValue = requestJsonValue[VssDevTbl_ID];
|
if (iDJsonValue.type() != Json::ValueType::nullValue) {
|
vssDevTblBuilder.addID(std::stoi((iDJsonValue.asString())));
|
}
|
|
Json::Value devPubIDJsonValue = requestJsonValue[VssDevTbl_DevPubID];
|
if (devPubIDJsonValue.type() != Json::ValueType::nullValue) {
|
vssDevTblBuilder.addDevPubID((devPubIDJsonValue.asString()));
|
}
|
|
Json::Value devNicknameJsonValue = requestJsonValue[VssDevTbl_DevNickname];
|
if (devNicknameJsonValue.type() != Json::ValueType::nullValue) {
|
vssDevTblBuilder.addDevNickname((devNicknameJsonValue.asString()));
|
}
|
|
Json::Value userNameJsonValue = requestJsonValue[VssDevTbl_UserName];
|
if (userNameJsonValue.type() != Json::ValueType::nullValue) {
|
vssDevTblBuilder.addUserName((userNameJsonValue.asString()));
|
}
|
|
Json::Value passwdJsonValue = requestJsonValue[VssDevTbl_Passwd];
|
if (passwdJsonValue.type() != Json::ValueType::nullValue) {
|
vssDevTblBuilder.addPasswd((passwdJsonValue.asString()));
|
}
|
|
Json::Value corpIDJsonValue = requestJsonValue[VssDevTbl_CorpID];
|
if (corpIDJsonValue.type() != Json::ValueType::nullValue) {
|
vssDevTblBuilder.addCorpID((corpIDJsonValue.asString()));
|
}
|
|
Json::Value iPJsonValue = requestJsonValue[VssDevTbl_IP];
|
if (iPJsonValue.type() != Json::ValueType::nullValue) {
|
vssDevTblBuilder.addIP((iPJsonValue.asString()));
|
}
|
|
Json::Value portJsonValue = requestJsonValue[VssDevTbl_Port];
|
if (portJsonValue.type() != Json::ValueType::nullValue) {
|
vssDevTblBuilder.addPort(std::stoi((portJsonValue.asString())));
|
}
|
|
Json::Value aliveJsonValue = requestJsonValue[VssDevTbl_Alive];
|
if (aliveJsonValue.type() != Json::ValueType::nullValue) {
|
vssDevTblBuilder.addAlive(std::stoi((aliveJsonValue.asString())));
|
}
|
|
Json::Value dMarkerJsonValue = requestJsonValue[VssDevTbl_DMarker];
|
if (dMarkerJsonValue.type() != Json::ValueType::nullValue) {
|
vssDevTblBuilder.addDMarker(std::stoi((dMarkerJsonValue.asString())));
|
}
|
|
Json::Value updateTimeJsonValue = requestJsonValue[VssDevTbl_UpdateTime];
|
if (updateTimeJsonValue.type() != Json::ValueType::nullValue) {
|
vssDevTblBuilder.addUpdateTime((updateTimeJsonValue.asString()));
|
}
|
responseJsonValue["message"] = "查询成功!";
|
responseJsonValue["success"] = "true";
|
responseJsonValue["data"] = VssDevTblDao::instance()->findJsonArray(string("select * from ") + VSSDevTbl_TABLE_NAME + " where 1 = 1", vssDevTblBuilder.buildVssDevTblMap());
|
|
}
|
return responseJsonValue.toStyledString();
|
}
|
};
|
|
|
|
|
|
|
#endif //VSSDEVTBL_CONTROLLER_H
|
|
|
|
|
|