DPS/DataPlatform/DPData.h

100 lines
2.2 KiB
C
Raw Normal View History

2025-06-23 10:41:33 +08:00
#ifndef _DATABASE_H
#define _DATABASE_H
#include "easylogging++.h"
//#include "logger.h"
#include <QObject>
#include <QString>
#include <QMap>
#include <QVariantMap>
#include "common.h"
#include "json.hpp"
using json = nlohmann::json;
#include "DAO.h"
#include "FileGenerate.h"
class DPData :public QObject
{
Q_OBJECT
Q_PROPERTY(unsigned int id READ getID WRITE setID)
Q_PROPERTY(QString name READ getName WRITE setName) //<2F><><EFBFBD>Ʊ<EFBFBD>ʶ
public:
DPData();
virtual ~DPData();
int getID() const{ return _id; }
void setID(unsigned int newId) { _id = newId; }
QString getName() const{ return _name; }
void setName(QString strName) { _name = strName; }
QVariantMap getProperties() const;
void setProperties(const QVariantMap& properties);
/*<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݵ<EFBFBD>DAO*/
virtual void saveToDao();
/*<2A><><EFBFBD><EFBFBD><E6B1BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
virtual bool saveSelf();
/*<2A><><EFBFBD><EFBFBD>child<6C><64><EFBFBD><EFBFBD>*/
virtual bool addChild(DPData* newData);
/*ɾ<><C9BE>һ<EFBFBD><D2BB>child<6C><64><EFBFBD><EFBFBD>*/
virtual bool deleteChild(unsigned int id);
/*ɾ<><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
virtual bool deleteSelf();
// /*<2A><><EFBFBD>±<EFBFBD><C2B1><EFBFBD><EFBFBD><EFBFBD>*/
// virtual bool updateSelf(DPData& newData);
/*<2A><><EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD><DDBF><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD>ݵ<EFBFBD><DDB5><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>*/
virtual void loadData(DBPlatformSpace::DAO* pDao);
/*<2A><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD>²<EFBFBD><C2B2><EFBFBD><EFBFBD><EFBFBD>*/
virtual void getAllChildren(DPData* pManager=nullptr, bool reload = false);
/*<2A><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD><C3B5><EFBFBD><EFBFBD><EFBFBD>*/
virtual void getNewProperty(json& jsonObj, QVariantMap& valueMap);
/*<2A><><EFBFBD><EFBFBD><EFBFBD>µ<EFBFBD><C2B5><EFBFBD><EFBFBD>ݶ<EFBFBD><DDB6><EFBFBD><EFBFBD><EFBFBD>Ϣ*/
virtual void setNewData(json& jsonObj);
/*<2A><><EFBFBD>ñ༭<C3B1>Ķ<EFBFBD><C4B6><EFBFBD><EFBFBD><EFBFBD>Ϣ*/
virtual void setEditData(json& jsonObj);
/*<2A><><EFBFBD>ӳ<EFBFBD><D3B3><EFBFBD>*/
virtual bool addScene(DPData* pNew);
/*ɾ<><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
virtual bool deleteScene(int id);
/*<2A><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3>*/
DPData* getDataModelOwner();
DPData* getDataManager();
DPData* hasSameNameChild(QString propertyName, QString name);
virtual void toJson(json& jsonObj, bool recursive = false);
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD><C4B5><EFBFBD><EFBFBD><EFBFBD>
virtual void setFileData(FileGenerate* generator, QStringList flag);
int _id = 0; /*<2A><><EFBFBD><EFBFBD>*/
QString _name; /*<2A><><EFBFBD><EFBFBD>*/
unsigned int _baseType = 0; /*<2A><><EFBFBD><EFBFBD>*/
/*<2A>²<EFBFBD><C2B2><EFBFBD><EFBFBD>ݶ<EFBFBD><DDB6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
QMap<unsigned int, DPData*> _childrenMap;
/*ָ<><D6B8><EFBFBD>ϲ<EFBFBD><CFB2><EFBFBD><EFBFBD>ݶ<EFBFBD><DDB6><EFBFBD>*/
DPData* _parent = nullptr;
//DAO <20><><EFBFBD>ݿ<EFBFBD><DDBF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
DBPlatformSpace::DAO* _pDBDAO = nullptr;
};
struct RMsg
{
int rCode; ///<״̬<D7B4><CCAC>
string rMsg; ///<״̬<D7B4>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD>Ϣ
RMsg()
{
rCode = 0;
rMsg = "";
}
};
#endif