From bcf8d8c62fdf61c4c3091bbf0db32383cbd5ea9e Mon Sep 17 00:00:00 2001 From: pansen <pansen626@sina.com> Date: 星期四, 28 二月 2019 14:24:09 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/yw.1.2.fixbug' into yw.1.2 --- QiaoJiaSystem/DataManagerServer/vss/controller/VssDevTblController.h | 384 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 384 insertions(+), 0 deletions(-) diff --git a/QiaoJiaSystem/DataManagerServer/vss/controller/VssDevTblController.h b/QiaoJiaSystem/DataManagerServer/vss/controller/VssDevTblController.h new file mode 100755 index 0000000..c8d7c94 --- /dev/null +++ b/QiaoJiaSystem/DataManagerServer/vss/controller/VssDevTblController.h @@ -0,0 +1,384 @@ +#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"); + } + 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"); + + } + return responseJsonValue.toStyledString(); + } +}; + + + + + + +#endif //VSSDEVTBL_CONTROLLER_H + + + + + -- Gitblit v1.8.0