DPS/DataPlatform/SceneInfo.cpp

152 lines
3.4 KiB
C++
Raw Normal View History

2025-06-23 10:41:33 +08:00
#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<M_SceneInfoDAO*>(_pDBDAO);
2025-06-23 18:01:09 +08:00
/*备份DAO数据*/
2025-06-23 10:41:33 +08:00
// 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<M_SceneInfoDAO*>(_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;
}
2025-06-23 18:01:09 +08:00
//删除场景
2025-06-23 10:41:33 +08:00
bool SceneInfo::deleteSelf()
{
using namespace DBPlatformSpace;
ResultMsg rm;
M_SceneInfoDAO* pdao = dynamic_cast<M_SceneInfoDAO*>(_pDBDAO);
rm = pdao->delself();
if (rm.rCode == 0)
{
LOG(INFO) << CommonHelper::utf8ToStdString("M_SceneInfoDAO.delself success");
2025-06-23 18:01:09 +08:00
QString msg = "sceneNode" + QString::number(_id) + "删除成功";
2025-06-23 10:41:33 +08:00
LOG(INFO) << CommonHelper::qstringToString(msg);
return true;
}
else
{
LOG(INFO) << CommonHelper::utf8ToStdString("M_SceneInfoDAO.delself failed");
LOG(INFO) << rm.rMsg;
return false;
}
}
2025-06-23 18:01:09 +08:00
//加载
2025-06-23 10:41:33 +08:00
void SceneInfo::loadData(DBPlatformSpace::DAO* pDao)
{
_pDBDAO = pDao;
DBPlatformSpace::M_SceneInfoDAO* pSceneDAO = dynamic_cast<DBPlatformSpace::M_SceneInfoDAO*>(_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;
}
2025-06-23 18:01:09 +08:00
/*获取参数中设置的属性*/
2025-06-23 10:41:33 +08:00
void SceneInfo::getNewProperty(json& parameter, QVariantMap& valueMap)
{
auto data = parameter["data"];
//-----parentID
if (!data["parentid"].is_null())
{
valueMap.insert("parentId", (int)data["parentid"]);
}
2025-06-23 18:01:09 +08:00
//--parent类型
2025-06-23 10:41:33 +08:00
if (!data["parentClassType"].is_null())
{
valueMap.insert("parentType", (int)data["parentClassType"]);
}
2025-06-23 18:01:09 +08:00
//要添加的模块或者数据类id----加的场景
2025-06-23 10:41:33 +08:00
if (!data["modelid"].is_null())
{
valueMap.insert("dataObjId", (int)data["modelid"]);
}
2025-06-23 18:01:09 +08:00
//要加的模块类型
2025-06-23 10:41:33 +08:00
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"]);
}
2025-06-23 18:01:09 +08:00
/*设置新的数据对象信息*/
2025-06-23 10:41:33 +08:00
void SceneInfo::setNewData(json& parameter)
{
QVariantMap newValues;
getNewProperty(parameter, newValues);
setProperties(newValues);
}
2025-06-23 18:01:09 +08:00
//转json
2025-06-23 10:41:33 +08:00
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;
}