100 lines
2.2 KiB
C
100 lines
2.2 KiB
C
|
#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
|