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;
|
|
|
|
}
|