컨슈머 마케터/즐겨찾기 업데이트 git-svn-id: svn://192.168.0.12/source@282 8346c931-da38-4b9b-9d4c-e48b93cbd075
214 lines
6.4 KiB
C++
214 lines
6.4 KiB
C++
#ifndef SPOWERCAFE
|
|
#define SPOWERCAFE
|
|
#include "sservice.h"
|
|
#include "sfilteralgorithm.h"
|
|
#include "sinitializer.h"
|
|
class QString;
|
|
class QStringList;
|
|
class SPowercafe:public SService
|
|
{
|
|
public:
|
|
struct stReal
|
|
{
|
|
QSet<QString> m_setRealAllUrl;
|
|
QSet<QString> m_setRealBodyUrl;
|
|
QMap<QString, int> m_mapRealReplyUniqueUrl; //multiple
|
|
};
|
|
|
|
struct stPowercafe
|
|
{
|
|
int category_num;
|
|
int community_num;
|
|
QString community_id;
|
|
int bodycountall;
|
|
int replycountall;
|
|
int allcountall;
|
|
int usercountall;
|
|
int bodycountreal;
|
|
int replycountreal;
|
|
int allcountreal;
|
|
int usercountreal;
|
|
int rank;
|
|
|
|
QString community_title;
|
|
QString community_url;
|
|
int platformname_num;
|
|
QString platformname_name;
|
|
|
|
stPowercafe():category_num(0), community_num(0), bodycountall(0), replycountall(0), allcountall(0), usercountall(0), bodycountreal(0),
|
|
replycountreal(0), allcountreal(0), usercountreal(0), rank(0), platformname_num(0){}
|
|
};
|
|
|
|
struct stStatsPowCafeRank
|
|
{
|
|
QString community_id;
|
|
QString community_title;
|
|
int articlecountall;
|
|
int articlecountreal;
|
|
int usercountreal;
|
|
QString subject;
|
|
int rank;
|
|
int company_num;
|
|
stStatsPowCafeRank(): articlecountall(0), articlecountreal(0), usercountreal(0), rank(0), company_num(0){}
|
|
};
|
|
|
|
struct stBodyPowercafeMap
|
|
{
|
|
int num;
|
|
int body_num;
|
|
int community_num;
|
|
int category_num;
|
|
int realin;
|
|
QString date;
|
|
int platformname_num;
|
|
stBodyPowercafeMap():num(0), body_num(0), community_num(0), category_num(0), realin(0), platformname_num(0){}
|
|
};
|
|
|
|
struct stReplyPowercafeMap
|
|
{
|
|
int num;
|
|
int reply_num;
|
|
int body_num;
|
|
int community_num;
|
|
int category_num;
|
|
int realin;
|
|
QString body_date;
|
|
stReplyPowercafeMap():num(0), reply_num(0), body_num(0), community_num(0), category_num(0), realin(0) {}
|
|
};
|
|
|
|
class STPowercafe
|
|
{
|
|
private:
|
|
SInitializer *m_pSInitializer;
|
|
QList<stPowercafe> m_listMap;
|
|
|
|
public:
|
|
void setInitiaizer(SInitializer &_initializer){ m_pSInitializer = &_initializer; }
|
|
void clear(){ m_listMap.clear(); }
|
|
void makeTable(SDatagroup &_datagroup, const QMap<int, stReal>& _mapCategory);
|
|
bool uploadData(QSqlDatabase &_db, const int &_nCompany);
|
|
bool changeTable(QSqlDatabase &_db, const int &_nCompany);
|
|
|
|
};
|
|
|
|
class SStatsPowCafeRank
|
|
{
|
|
private:
|
|
SInitializer *m_pSInitializer;
|
|
QList<stStatsPowCafeRank> m_listMap;
|
|
|
|
public:
|
|
void setInitiaizer(SInitializer &_initializer){ m_pSInitializer = &_initializer; }
|
|
void clear(){ m_listMap.clear(); }
|
|
void makeTable(SDatagroup &_datagroup, const QMap<int, stReal>& _mapCategory);
|
|
bool uploadData(QSqlDatabase &_db, const int &_nCompany);
|
|
};
|
|
|
|
class SBodyPowercafeMap
|
|
{
|
|
private:
|
|
SInitializer *m_pSInitializer;
|
|
QList<stBodyPowercafeMap> m_listMap;
|
|
|
|
public:
|
|
void setInitiaizer(SInitializer &_initializer){ m_pSInitializer = &_initializer; }
|
|
void clear(){ m_listMap.clear(); }
|
|
void makeTable(SDatagroup &_datagroup, const QMap<int, stReal>& _mapCategory);
|
|
bool uploadData(QSqlDatabase &_db, const int &_nCompany);
|
|
bool changeTable(QSqlDatabase &_db, const int &_nCompany);
|
|
};
|
|
|
|
class SReplyPowercafeMap
|
|
{
|
|
private:
|
|
SInitializer *m_pSInitializer;
|
|
QList<stReplyPowercafeMap> m_listMap;
|
|
|
|
public:
|
|
void setInitiaizer(SInitializer &_initializer){ m_pSInitializer = &_initializer; }
|
|
void clear(){ m_listMap.clear(); }
|
|
void makeTable(SDatagroup &_datagroup, const QMap<int, stReal>& _mapCategory);
|
|
bool uploadData(QSqlDatabase &_db, const int &_nCompany);
|
|
bool changeTable(QSqlDatabase &_db, const int &_nCompany);
|
|
};
|
|
|
|
struct stStatsJson
|
|
{
|
|
int company_num;
|
|
int servicenum;
|
|
QString title;
|
|
QString subtitle;
|
|
int platformname_num;
|
|
QString jdata;
|
|
int category_num;
|
|
stStatsJson():company_num(0), servicenum(2), platformname_num(1), category_num(0){}
|
|
};
|
|
|
|
|
|
class SStatsJson
|
|
{
|
|
private:
|
|
SInitializer *m_pSInitializer;
|
|
QList<stStatsJson> m_listMap;
|
|
public:
|
|
void setInitiaizer(SInitializer &_SInitializer) { m_pSInitializer = &_SInitializer; }
|
|
void makeTable(SDatagroup &_datagroup, const QMap<int, stReal>& _mapCategory);
|
|
bool uploadData(QSqlDatabase& _db, const int &_nCompany);
|
|
void clear(){ m_listMap.clear(); }
|
|
};
|
|
|
|
struct stPowercafeRank
|
|
{
|
|
int count;
|
|
QString url;
|
|
QString community;
|
|
stPowercafeRank(): count(0){}
|
|
};
|
|
|
|
struct isGreaterCountReal
|
|
{
|
|
bool operator()(const stPowercafe& first, const stPowercafe& second)
|
|
{
|
|
return first.allcountreal > second.allcountreal;
|
|
}
|
|
bool operator()(const stStatsPowCafeRank& first, const stStatsPowCafeRank& second)
|
|
{
|
|
return first.articlecountreal > second.articlecountreal;
|
|
}
|
|
bool operator()(const stPowercafeRank& first, const stPowercafeRank& second)
|
|
{
|
|
return first.count > second.count;
|
|
}
|
|
};
|
|
|
|
struct isGreaterCountAll
|
|
{
|
|
bool operator()(const stStatsPowCafeRank& first, const stStatsPowCafeRank& second)
|
|
{
|
|
return first.articlecountall > second.articlecountall;
|
|
}
|
|
};
|
|
|
|
|
|
|
|
private:
|
|
SFilterAlgorithm m_SFilterAlgorithm;
|
|
QMap<int, stReal> m_mapCategory;
|
|
SBodyPowercafeMap m_SBodyPowercafeMap;
|
|
SReplyPowercafeMap m_SReplyPowercafeMap;
|
|
STPowercafe m_STPowercafe;
|
|
//SStatsPowCafeRank m_SStatsPowCafeRank;
|
|
SStatsJson m_SStatsJson;
|
|
|
|
public:
|
|
virtual void setInitiaizer(SInitializer &_initializer);
|
|
virtual bool uploadData(int _companyNum);
|
|
virtual bool changeTable(int _companyNum);
|
|
virtual bool makeCategory(SDatagroup &_datagroup, int _nCategory, const QList<SInitializer::stFilter> &_listFilter);
|
|
virtual bool makeOverallCategory(int _categoryNum);
|
|
virtual bool makeTable(SDatagroup &_datagroup);
|
|
};
|
|
|
|
#endif // SPOWERCAFE
|
|
|