123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326 |
- /*
- * @Description:
- * @Version: 1.0
- * @Autor: lishengyin
- * @Date: 2021-11-08 16:45:31
- * @LastEditors: lishengyin
- * @LastEditTime: 2021-11-09 11:06:30
- */
- #pragma once
- #include <iostream>
- #include <rapidjson/document.h>
- #include <rapidjson/rapidjson.h>
- #include <rapidjson/stringbuffer.h>
- #include <rapidjson/writer.h>
- #include <vector>
- #include "NettyHttpTrainInfo.h"
- using namespace std;
- class CarDevData
- {
- public:
- std::string addTime;
- std::string updateTime;
- int createBy;
- int updateBy;
- int enableFlag;
- std::string attr1;
- std::string attr2;
- std::string attr3;
- int appId;
- int dvId;
- std::string parentDvId;
- std::string linkDvId;
- int carId;
- int carriageId;
- int deviceType;
- int deviceSubType;
- int deviceControlType;
- int deviceSource;
- std::string deviceUuid;
- std::string deviceNum;
- std::string birdDeviceCode;
- std::string deviceName;
- std::string deviceUserName;
- std::string devicePassWord;
- std::string localIp;
- int port;
- std::string deviceMac;
- std::string stream;
- std::string place;
- std::string longitude;
- std::string latitude;
- std::string coX;
- std::string coY;
- std::string coZ;
- std::string uploadId
- std::string imgUrl
- std::string remark
- std::string orderNo;
- public:
- CarDevData() {}
- ~CarDevData() {}
- bool jsonToObject(const rapidjson::Value& object){
- const auto end = object.MemberEnd();
- if(end == object.FindMember("addTime") || !object["addTime"].IsString()){
- return false;
- }else{
- addTime = object["addTime"].GetString();
- }
- if(end == object.FindMember("updateTime") || !object["updateTime"].IsString()){
- return false;
- }else{
- updateTime = object["updateTime"].GetString();
- }
- if(end == object.FindMember("updateTime") || !object["updateTime"].IsInt()){
- return false;
- }else{
- createBy = object["updateTime"].GetInt();
- }
- if(end == object.FindMember("updateBy") || !object["updateBy"].IsInt()){
- return false;
- }else{
- updateBy = object["updateBy"].GetInt();
- }
- if(end == object.FindMember("enableFlag") || !object["enableFlag"].IsInt()){
- return false;
- }else{
- enableFlag = object["enableFlag"].GetInt();
- }
- if(end == object.FindMember("appId") || !object["appId"].IsInt()){
- return false;
- }else{
- appId = object["appId"].GetInt();
- }
- if(end == object.FindMember("dvId") || !object["dvId"].IsInt()){
- return false;
- }else{
- dvId = object["dvId"].GetInt();
- }
- if(end == object.FindMember("carId") || !object["carId"].IsInt()){
- return false;
- }else{
- carId = object["carId"].GetInt();
- }
-
- if(end == object.FindMember("carriageId") || !object["carriageId"].IsInt()){
- return false;
- }else{
- carriageId = object["carriageId"].GetInt();
- }
- if(end == object.FindMember("deviceType") || !object["deviceType"].IsInt()){
- return false;
- }else{
- deviceType = object["deviceType"].GetInt();
- }
- if(end == object.FindMember("deviceSubType") || !object["deviceSubType"].IsInt()){
- return false;
- }else{
- deviceSubType = object["deviceSubType"].GetInt();
- }
- if(end == object.FindMember("deviceControlType") || !object["deviceControlType"].IsInt()){
- return false;
- }else{
- deviceControlType = object["deviceControlType"].GetInt();
- }
- if(end == object.FindMember("deviceSource") || !object["deviceSource"].IsInt()){
- return false;
- }else{
- deviceSource = object["deviceSource"].GetInt();
- }
- if(end == object.FindMember("deviceUuid") || !object["deviceUuid"].IsString()){
- return false;
- }else{
- deviceUuid = object["deviceUuid"].GetString();
- }
-
- if(end == object.FindMember("deviceNum") || !object["deviceNum"].IsString()){
- return false;
- }else{
- deviceNum = object["deviceNum"].GetString();
- }
- if(end == object.FindMember("birdDeviceCode") || !object["birdDeviceCode"].IsString()){
- return false;
- }else{
- birdDeviceCode = object["birdDeviceCode"].GetString();
- }
- if(end == object.FindMember("deviceName") || !object["deviceName"].IsString()){
- return false;
- }else{
- deviceName = object["deviceName"].GetString();
- }
- if(end == object.FindMember("deviceUserName") || !object["deviceUserName"].IsString()){
- return false;
- }else{
- deviceUserName = object["deviceUserName"].GetString();
- }
- if(end == object.FindMember("devicePassWord") || !object["devicePassWord"].IsString()){
- return false;
- }else{
- devicePassWord = object["devicePassWord"].GetString();
- }
- if(end == object.FindMember("localIp") || !object["localIp"].IsString()){
- return false;
- }else{
- localIp = object["localIp"].GetString();
- }
- if(end == object.FindMember("port") || !object["port"].IsInt()){
- return false;
- }else{
- port = object["port"].GetInt();
- }
- if(end == object.FindMember("stream") || !object["stream"].IsString()){
- return false;
- }else{
- stream = object["stream"].GetString();
- }
- if(end == object.FindMember("coX") || !object["coX"].IsString()){
- return false;
- }else{
- coX = object["coX"].GetString();
- }
-
- if(end == object.FindMember("coY") || !object["coY"].IsString()){
- return false;
- }else{
- coY = object["coY"].GetString();
- }
- if(end == object.FindMember("coZ") || !object["coZ"].IsString()){
- return false;
- }else{
- coZ = object["coZ"].GetString();
- }
- return true;
- }
- };
- class CarBasicData
- {
- private:
- std::string id;
- std::string pid;
- std::string label;
- CarDevData attr;
- int attr1;
- std::string child;
- std::string children;
-
- public:
- CarBasicData() {}
- ~CarBasicData() {}
- bool jsonToObject(const rapidjson::Value& object){
- const auto end = object.MemberEnd();
- if(end == object.FindMember("id") || !object["id"].IsString()){
- return false;
- }else{
- id = object["id"].GetString();
- }
- if(end == object.FindMember("pid") || !object["pid"].IsString()){
- return false;
- }else{
- pid = object["pid"].GetString();
- }
- if(end == object.FindMember("label") || !object["label"].IsString()){
- return false;
- }else{
- label = object["label"].GetString();
- }
- if(end == object.FindMember("attr") || !object["attr"].IsObject()){
- return false;
- }else{
- const rapidjson::Value& object = doc["data"];
- if(!attr.jsonToObject(object)){
- return false;
- }
- }
- if(end == object.FindMember("attr1") || !object["attr1"].IsInt()){
- return false;
- }else{
- attr1 = object["attr1"].GetString();
- }
- return true;
- }
- };
- class NettyHttpCarDevData
- {
- public:
- std::string id;
- std::string pid;
- std::string label;
- NettyHttpTrainInfo attr;
- std::string attr1;
- std::string child;
- vector<CarBasicData> children;
- public:
- NettyHttpCarDevData() {}
- ~NettyHttpCarDevData() {}
- bool jsonToObject(const rapidjson::Value& object){
- const auto end = object.MemberEnd();
- if(end == object.FindMember("id") || !object["id"].IsString()){
- return false;
- }else{
- id = object["id"].GetString();
- }
- if(end == object.FindMember("pid") || !object["pid"].IsString()){
- return false;
- }else{
- pid = object["pid"].GetString();
- }
- if(end == object.FindMember("label") || !object["label"].IsString()){
- return false;
- }else{
- label = object["label"].GetString();
- }
- if(end == object.FindMember("attr") || !object["attr"].IsObject()){
- return false;
- }else{
- const rapidjson::Value& object = doc["data"];
- if(!attr.jsonToObject(object)){
- return false;
- }
- }
-
- if(end == object.FindMember("children") || !object["children"].IsArray()){
- return false;
- }else{
- const rapidjson::Value& objs = doc["children"];
- for (size_t i = 0; i < objs.Size(); ++i) {
- const rapidjson::Value& obj = objs[i];
- CarBasicData carBasicData;
- if(!carBasicData.jsonToObject(obj)) return false;
- children.push_back(carBasicData);
- }
- }
- return true;
- }
- };
|