컨슈머 마케터/즐겨찾기 업데이트 git-svn-id: svn://192.168.0.12/source@282 8346c931-da38-4b9b-9d4c-e48b93cbd075
218 lines
6.6 KiB
C++
218 lines
6.6 KiB
C++
#ifndef SSPAMMER
|
|
#define SSPAMMER
|
|
#include "sservice.h"
|
|
#include "sfilteralgorithm.h"
|
|
#include "sinitializer.h"
|
|
class QString;
|
|
class QStringList;
|
|
class SSpammer:public SService
|
|
{
|
|
public:
|
|
struct stReal
|
|
{
|
|
QSet<QString> m_setRealAllUrl;
|
|
QSet<QString> m_setRealBodyUrl;
|
|
QMap<QString, int> m_mapRealReplyUniqueUrl; //multiple
|
|
};
|
|
|
|
struct stSpammer
|
|
{
|
|
int id_num;
|
|
int category_num;
|
|
QString id_id;
|
|
int nicknamecount;
|
|
int bodycount;
|
|
int replycount;
|
|
double spammervalue;
|
|
int rank;
|
|
QString platformname_name;
|
|
int platformname_num;
|
|
stSpammer():id_num(0), category_num(0), nicknamecount(0), bodycount(0), replycount(0), rank(0), spammervalue(0.0), platformname_num(0){}
|
|
|
|
};
|
|
|
|
struct stStatsSpaSpammerRank
|
|
{
|
|
int id_num;
|
|
QString id_id;
|
|
QString platformname_name;
|
|
int nicknamecount;
|
|
int bodycount;
|
|
int replycount;
|
|
double spammervalue;
|
|
int rank;
|
|
QString subject;
|
|
int company_num;
|
|
stStatsSpaSpammerRank():id_num(0),nicknamecount(0),bodycount(0),replycount(0),rank(0), spammervalue(0.0){}
|
|
|
|
};
|
|
|
|
struct stBodySpammerMap
|
|
{
|
|
int num;
|
|
int body_num;
|
|
int id_num;
|
|
int category_num;
|
|
int realin;
|
|
QString date;
|
|
int platformname_num;
|
|
stBodySpammerMap():num(0), body_num(0), id_num(0), category_num(0), realin(0), platformname_num(0){}
|
|
|
|
};
|
|
|
|
struct stReplySpammerMap
|
|
{
|
|
int num;
|
|
int reply_num;
|
|
int body_num;
|
|
int id_num;
|
|
int category_num;
|
|
QString body_date;
|
|
stReplySpammerMap():num(0), body_num(0), reply_num(0), id_num(0), category_num(0){}
|
|
};
|
|
|
|
struct stSpammerScore
|
|
{
|
|
int body;
|
|
int reply;
|
|
int id_num;
|
|
QSet<QString> nickname;
|
|
stSpammerScore():body(0),reply(0), id_num(0){}
|
|
};
|
|
|
|
struct stSpammerRank
|
|
{
|
|
double value;
|
|
int platformform_num;
|
|
QString id;
|
|
int id_num;
|
|
stSpammerRank():value(0.0), platformform_num(1), id_num(0){}
|
|
};
|
|
|
|
struct stBuzzy
|
|
{
|
|
int m_nCategory;
|
|
QMap<QDate, int> m_mapBodyBuzz;
|
|
QMap<QDate, int> m_mapReplyBuzz;
|
|
};
|
|
|
|
struct stStatsJson
|
|
{
|
|
int company_num;
|
|
int servicenum;
|
|
QString title;
|
|
QString subtitle;
|
|
int platformname_num;
|
|
QString jdata;
|
|
int category_num;
|
|
stStatsJson():company_num(0), servicenum(3), platformname_num(1), category_num(0){}
|
|
};
|
|
|
|
class STSpammer
|
|
{
|
|
private:
|
|
SInitializer *m_pSInitializer;
|
|
QList<stSpammer> m_listMap;
|
|
public:
|
|
void setInitiaizer(SInitializer &_initializer){ m_pSInitializer = &_initializer; }
|
|
void clear(){ m_listMap.clear(); }
|
|
void makeTable(SDatagroup &_datagroup, const QMap<int, stReal>& _mapCategory, QSet<int>& setSpammer);
|
|
bool uploadData(QSqlDatabase &_db, const int &_nCompany);
|
|
bool changeTable(QSqlDatabase &_db, const int &_nCompany);
|
|
|
|
};
|
|
|
|
class SStatsSpaSpammerRank
|
|
{
|
|
private:
|
|
SInitializer *m_pSInitializer;
|
|
QList<stStatsSpaSpammerRank> 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 SBodySpammerMap
|
|
{
|
|
private:
|
|
SInitializer *m_pSInitializer;
|
|
QList<stBodySpammerMap> m_listMap;
|
|
public:
|
|
void setInitiaizer(SInitializer &_initializer){ m_pSInitializer = &_initializer; }
|
|
void clear(){ m_listMap.clear(); }
|
|
void makeTable(SDatagroup &_datagroup, const QMap<int, stReal>& _mapCategory ,QSet<int>& setSpammer);
|
|
bool uploadData(QSqlDatabase &_db, const int &_nCompany);
|
|
bool changeTable(QSqlDatabase &_db, const int &_nCompany);
|
|
};
|
|
|
|
class SReplySpammerMap
|
|
{
|
|
private:
|
|
SInitializer *m_pSInitializer;
|
|
QList<stReplySpammerMap> m_listMap;
|
|
public:
|
|
void setInitiaizer(SInitializer &_initializer){ m_pSInitializer = &_initializer; }
|
|
void clear(){ m_listMap.clear(); }
|
|
void makeTable(SDatagroup &_datagroup, const QMap<int, stReal>& _mapCategory, QSet<int>& setSpammer);
|
|
bool uploadData(QSqlDatabase &_db, const int &_nCompany);
|
|
bool changeTable(QSqlDatabase &_db, const int &_nCompany);
|
|
};
|
|
|
|
struct isGreaterSpammerValue
|
|
{
|
|
bool operator()(const stSpammer& first, const stSpammer& second) const
|
|
{
|
|
return first.spammervalue > second.spammervalue;
|
|
}
|
|
|
|
bool operator()(const stStatsSpaSpammerRank& first, const stStatsSpaSpammerRank& second) const
|
|
{
|
|
return first.spammervalue > second.spammervalue;
|
|
}
|
|
bool operator()(const stSpammerRank& first, const stSpammerRank& second) const
|
|
{
|
|
return first.value > second.value;
|
|
}
|
|
};
|
|
|
|
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);
|
|
void makeTableBuzz(SDatagroup &_datagroup, const QMap<int, stReal>& _mapCategory);
|
|
void makeTableRank(SDatagroup &_datagroup, const QMap<int, stReal>& _mapCategory);
|
|
bool uploadData(QSqlDatabase& _db, const int &_nCompany);
|
|
void clear(){ m_listMap.clear(); }
|
|
};
|
|
|
|
|
|
private:
|
|
SFilterAlgorithm m_SFilterAlgorithm;
|
|
QMap<int, stReal> m_mapCategory;
|
|
STSpammer m_STSpammer;
|
|
//SStatsSpaSpammerRank m_SStatsSpaSpammerRank;
|
|
SBodySpammerMap m_SBodySpammerMap;
|
|
SReplySpammerMap m_SReplySpammerMap;
|
|
QSet<int> m_setSpammer;
|
|
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 // SSPAMMER
|
|
|