#ifndef SCONSUMER #define SCONSUMER #include "sservice.h" #include "sfilteralgorithm.h" #include class SConsumer:public SService { public: struct stReal { QSet m_setRealAllUrl; QSet m_setRealBodyUrl; QMap m_mapRealReplyUniqueUrl; //multiple }; struct stBodyConsumerMap { stBodyConsumerMap():num(0), body_num(0), category_num(0), realin(0), platformname_num(0), platformform_num(0), replycount(0), view(0), likecount(0), sharecount(0), id_num(0), community_num(0), nickname_num(0){} int num; int body_num; int category_num; int realin; int platformname_num; int platformform_num; QString date; int replycount; int view; int likecount; int sharecount; int id_num; int community_num; int nickname_num; }; struct stReplyConsumerMap { stReplyConsumerMap():num(0), reply_num(0), body_num(0), id_num(0), category_num(0), realin(0) {} int num; int reply_num; int body_num; int id_num; int category_num; int realin; }; struct stStatsJson { stStatsJson():company_num(0), servicenum(2), platformname_num(1), category_num(0){} int company_num; int servicenum; QString title; QString subtitle; int platformname_num; QString jdata; int category_num; }; struct stBuzzy { int m_nCategory; QMap m_mapBodyBuzz; QMap m_mapReplyBuzz; }; class SBodyConsumerMap { public: void setInitiaizer(SInitializer &_SInitializer) { m_pSInitializer = &_SInitializer; } void makeTable(SDatagroup &_datagroup, const QMap& _mapCategory); bool changeTable(QSqlDatabase& _db, const int &_nCompany); bool uploadData(QSqlDatabase& _db, const int &_nCompany); void clear() { m_listMap.clear(); } private: SInitializer *m_pSInitializer; QList m_listMap; }; class SStatsJson { public: void setInitiaizer(SInitializer &_SInitializer) { m_pSInitializer = &_SInitializer; } void makeTable(SDatagroup &_datagroup, const QMap& _mapCategory); bool uploadData(QSqlDatabase& _db, const int &_nCompany); bool SaveDataFile(const int &_nCompany); void clear(){ m_listMap.clear(); } private: SInitializer *m_pSInitializer; QList m_listMap; QString getStatsJsonBySubtitle(QString _subtitle); }; public: virtual void setInitiaizer(SInitializer &_initializer); virtual bool uploadData(int _companyNum); virtual bool SaveDataFile(int _companyNum); virtual bool changeTable(int _companyNum); virtual bool makeCategory(SDatagroup &_datagroup, int _nCategory, const QList &_listFilter); virtual bool makeOverallCategory(int _nCategory); virtual bool makeTable(SDatagroup &_datagroup); private: SFilterAlgorithm m_SFilterAlgorithm; QMap m_mapCategory; SBodyConsumerMap m_SBodyConsumerMap; SStatsJson m_SStatsJson; }; class SConsumerAssist:public SService { public: virtual void setInitiaizer(SInitializer& _initializer) { m_pSInitializer = &_initializer; } virtual bool uploadData(int /*_companyNum*/){ return true; } virtual bool changeTable(int /*_companyNum*/){ return true; } virtual bool makeCategory(SDatagroup& /*_datagroup*/, int /*_nCategory*/, const QList &/*_listFilter*/){ return true; } virtual bool makeOverallCategory(int /*_nCategory*/){ return true; } virtual bool makeTable(SDatagroup &/*_datagroup*/){return true;} }; class SConsumerMarketer:public SConsumerAssist { public: virtual bool makeTable(SDatagroup &_datagroup); }; class SConsumerCheckList:public SConsumerAssist { public: virtual bool makeTable(SDatagroup &_datagroup); }; #endif // SCONSUMER