#pragma execution_character_set("utf-8") #include "SceneInfo.h" #include "M_SceneInfoDAO.h" SceneInfo::SceneInfo() { } SceneInfo::~SceneInfo() { } bool SceneInfo::saveSelf() { using namespace DBPlatformSpace; ResultMsg rm; M_SceneInfoDAO* pDao = dynamic_cast(_pDBDAO); /*备份DAO数据*/ // M_DelByInterfaceDAO oldDaoData; // backupDAOData(*pDao, oldDaoData); if (pDao == nullptr) { pDao = new M_SceneInfoDAO(); } saveToDao(); rm = pDao->save(); if (rm.rCode == 0) { LOG(INFO) << CommonHelper::utf8ToStdString("M_SceneInfoDAO.save success"); return true; } else { LOG(INFO) << CommonHelper::utf8ToStdString("M_SceneInfoDAO.save failed"); LOG(INFO) << rm.rMsg; return false; } } void SceneInfo::saveToDao() { using namespace DBPlatformSpace; M_SceneInfoDAO* pDao = dynamic_cast(_pDBDAO); if (pDao == nullptr) { pDao = new M_SceneInfoDAO(); _pDBDAO = pDao; } pDao->_dataObjectId = _dataObjID; pDao->_sceneType = _sceneType; // pDao->_parentID = _parentId; pDao->_parentType = _parentType; pDao->_x = _x; pDao->_y = _y; pDao->_height = _height; pDao->_width = _width; } //删除场景 bool SceneInfo::deleteSelf() { using namespace DBPlatformSpace; ResultMsg rm; M_SceneInfoDAO* pdao = dynamic_cast(_pDBDAO); rm = pdao->delself(); if (rm.rCode == 0) { LOG(INFO) << CommonHelper::utf8ToStdString("M_SceneInfoDAO.delself success"); QString msg = "sceneNode" + QString::number(_id) + "删除成功"; LOG(INFO) << CommonHelper::qstringToString(msg); return true; } else { LOG(INFO) << CommonHelper::utf8ToStdString("M_SceneInfoDAO.delself failed"); LOG(INFO) << rm.rMsg; return false; } } //加载 void SceneInfo::loadData(DBPlatformSpace::DAO* pDao) { _pDBDAO = pDao; DBPlatformSpace::M_SceneInfoDAO* pSceneDAO = dynamic_cast(_pDBDAO); setID(pSceneDAO->_ID); _x = pSceneDAO->_x; _y = pSceneDAO->_y; _height = pSceneDAO->_height; _width = pSceneDAO->_width; _dataObjID = pSceneDAO->_dataObjectId; _parentId = pSceneDAO->_parentID; _parentType = pSceneDAO->_parentType; _sceneType = pSceneDAO->_sceneType; } /*获取参数中设置的属性*/ void SceneInfo::getNewProperty(json& parameter, QVariantMap& valueMap) { auto data = parameter["data"]; //-----parentID if (!data["parentid"].is_null()) { valueMap.insert("parentId", (int)data["parentid"]); } //--parent类型 if (!data["parentClassType"].is_null()) { valueMap.insert("parentType", (int)data["parentClassType"]); } //要添加的模块或者数据类id----加的场景 if (!data["modelid"].is_null()) { valueMap.insert("dataObjId", (int)data["modelid"]); } //要加的模块类型 if (!data["modelClassType"].is_null()) { valueMap.insert("sceneType", (int)data["modelClassType"]); } //x valueMap.insert("posX", (int)data["x"]); //Y valueMap.insert("posY", (int)data["y"]); //height valueMap.insert("height",(int)data["height"]); //width valueMap.insert("width", (int)data["width"]); } /*设置新的数据对象信息*/ void SceneInfo::setNewData(json& parameter) { QVariantMap newValues; getNewProperty(parameter, newValues); setProperties(newValues); } //转json void SceneInfo::toJson(json& jsonObj, bool) { jsonObj["id"] = _id; jsonObj["modelid"] = _dataObjID; jsonObj["modelClassType"] = _sceneType; jsonObj["x"] = _x; jsonObj["y"] = _y; jsonObj["height"] = _height; jsonObj["width"] = _width; }