filterprocess debug 모드 추가

git-svn-id: svn://192.168.0.12/source@321 8346c931-da38-4b9b-9d4c-e48b93cbd075
This commit is contained in:
admin
2016-11-28 10:20:10 +00:00
parent a2c55d909b
commit 60f692f641
11 changed files with 135 additions and 38 deletions

View File

@@ -24,7 +24,8 @@ SOURCES += main.cpp \
sinfluencer.cpp \ sinfluencer.cpp \
sspammer.cpp \ sspammer.cpp \
spowercafe.cpp \ spowercafe.cpp \
shttpsender.cpp shttpsender.cpp \
sservice.cpp
HEADERS += \ HEADERS += \
sdbmanager.h \ sdbmanager.h \

View File

@@ -48,6 +48,7 @@ bool SConsumer::makeCategory(SDatagroup &_datagroup, int _nCategory, const QList
for (int i = 0; i < SInitializer::E_ARTICLE_MAX; i++) for (int i = 0; i < SInitializer::E_ARTICLE_MAX; i++)
bFiltered[i] = false; bFiltered[i] = false;
_datagroup.copyData(vecData); _datagroup.copyData(vecData);
m_pSInitializer->insertCategoryLog(QString("Consumer Category: ") + m_pSInitializer->getCategoryName(_nCategory));
foreach (const SInitializer::stFilter& filter, _listFilter) foreach (const SInitializer::stFilter& filter, _listFilter)
{ {
switch(filter.m_nType) switch(filter.m_nType)
@@ -71,9 +72,14 @@ bool SConsumer::makeCategory(SDatagroup &_datagroup, int _nCategory, const QList
m_SFilterAlgorithm.FilterCounter(vecData, bFiltered, filter.m_vData.toString()); m_SFilterAlgorithm.FilterCounter(vecData, bFiltered, filter.m_vData.toString());
break; break;
} }
m_pSInitializer->insertCategoryLog("Body: " + QString::number(vecData[SInitializer::E_ARTICLE_BODY].size()) + ", " +
"Reply: " + QString::number(vecData[SInitializer::E_ARTICLE_REPLY].size()) + ", " +
SService::convertJsonToStr(filter.m_nType, filter.m_vData.toString()));
} }
stReal streal; stReal streal;
m_pSInitializer->insertLog(QString("CategoryNum:") + QString::number(_nCategory) + ",(" + m_pSInitializer->insertLog(QString("Category:") + m_pSInitializer->getCategoryName(_nCategory) + ",(" +
QString::number(vecData[SInitializer::E_ARTICLE_BODY].size()) + '/' + QString::number(vecData[SInitializer::E_ARTICLE_REPLY].size()) + ")" + "(Body/Reply)" ); QString::number(vecData[SInitializer::E_ARTICLE_BODY].size()) + '/' + QString::number(vecData[SInitializer::E_ARTICLE_REPLY].size()) + ")" + "(Body/Reply)" );
const int *anColumn = m_pSInitializer->getColumnIntArray(); const int *anColumn = m_pSInitializer->getColumnIntArray();
if (bFiltered[SInitializer::E_ARTICLE_BODY]) if (bFiltered[SInitializer::E_ARTICLE_BODY])

View File

@@ -4,12 +4,15 @@
#include "sfilteralgorithm.h" #include "sfilteralgorithm.h"
#include "../Json/sjson.h" #include "../Json/sjson.h"
#include <QDebug> #include <QDebug>
#include <iostream>
using namespace std;
/*
void FilterSearch(QVector<QStringList> *m_data, bool *m_bDataFlag, QString _strJson); void FilterSearch(QVector<QStringList> *m_data, bool *m_bDataFlag, QString _strJson);
void FilterCounter(QVector<QStringList> *m_data, bool *m_bDataFlag, QString _strJson); void FilterCounter(QVector<QStringList> *m_data, bool *m_bDataFlag, QString _strJson);
void FilterReplace(QVector<QStringList> *m_data, bool *m_bDataFlag, QString _strJson); void FilterReplace(QVector<QStringList> *m_data, bool *m_bDataFlag, QString _strJson);
void FilterDate(QVector<QStringList> *m_data, bool *m_bDataFlag, QString _strJson, int _nDateColumn); void FilterDate(QVector<QStringList> *m_data, bool *m_bDataFlag, QString _strJson, int _nDateColumn);
void FilterLength(QVector<QStringList> *m_data, bool *m_bDataFlag, QString _strJson); void FilterLength(QVector<QStringList> *m_data, bool *m_bDataFlag, QString _strJson);
*/
void SFilterAlgorithm::FilterDate(QVector<QStringList> *m_data, bool *m_bDataFlag, QString _strJson, int _nDateColumn) void SFilterAlgorithm::FilterDate(QVector<QStringList> *m_data, bool *m_bDataFlag, QString _strJson, int _nDateColumn)
{ {
@@ -37,6 +40,7 @@ void SFilterAlgorithm::FilterDate(QVector<QStringList> *m_data, bool *m_bDataFla
} }
m_data[nSelect].clear(); m_data[nSelect].clear();
m_data[nSelect] = copyData; m_data[nSelect] = copyData;
//cout << ((nSelect == 0) ? "body" : "reply") << ":" << m_data[nSelect].size() << endl;
} }
void SFilterAlgorithm::FilterLength(QVector<QStringList> *m_data, bool *m_bDataFlag, QString _strJson) void SFilterAlgorithm::FilterLength(QVector<QStringList> *m_data, bool *m_bDataFlag, QString _strJson)
@@ -77,6 +81,8 @@ void SFilterAlgorithm::FilterLength(QVector<QStringList> *m_data, bool *m_bDataF
} }
m_data[nSelect].clear(); m_data[nSelect].clear();
m_data[nSelect] = copyData; m_data[nSelect] = copyData;
//cout << ((nSelect == 0) ? "body" : "reply") << ":" << m_data[nSelect].size() << endl;
} }
void SFilterAlgorithm::FilterCounter(QVector<QStringList> *m_data, bool *m_bDataFlag, QString _strJson) void SFilterAlgorithm::FilterCounter(QVector<QStringList> *m_data, bool *m_bDataFlag, QString _strJson)
@@ -135,6 +141,8 @@ void SFilterAlgorithm::FilterCounter(QVector<QStringList> *m_data, bool *m_bData
} }
m_data[nSelect].clear(); m_data[nSelect].clear();
m_data[nSelect] = copyData; m_data[nSelect] = copyData;
//cout << ((nSelect == 0) ? "body" : "reply") << ":" << m_data[nSelect].size() << endl;
} }
void SFilterAlgorithm::FilterReplace(QVector<QStringList> *m_data, bool *m_bDataFlag, QString _strJson) void SFilterAlgorithm::FilterReplace(QVector<QStringList> *m_data, bool *m_bDataFlag, QString _strJson)
@@ -238,6 +246,7 @@ void SFilterAlgorithm::FilterSearch(QVector<QStringList> *m_data, bool *m_bDataF
} }
m_data[nSelect].clear(); m_data[nSelect].clear();
m_data[nSelect] = copyData; m_data[nSelect] = copyData;
//cout << ((nSelect == 0) ? "body" : "reply") << ":" << m_data[nSelect].size() << endl;
m_vecKeyword.clear(); m_vecKeyword.clear();
} }
} }

View File

@@ -4,7 +4,8 @@
#include "../common.h" #include "../common.h"
class QString; class QString;
class QStringList; class QStringList;
class SFilterAlgorithm class SInitializer;
class SFilterAlgorithm
{ {
private: private:
QVector <SKeyword> m_vecKeyword; QVector <SKeyword> m_vecKeyword;

View File

@@ -41,6 +41,7 @@ bool SFilterProcess::run()
} }
case E_PROCSS_TYPE_CATEGORY_MAKE: case E_PROCSS_TYPE_CATEGORY_MAKE:
{ {
m_SInitializer.insertCategoryLog("FilterGroupName: " + process.m_strFilterGroupName);
switch(process.m_nServiceNum) switch(process.m_nServiceNum)
{ {
case E_SERVICE_INFLUENCER: case E_SERVICE_INFLUENCER:
@@ -73,38 +74,47 @@ bool SFilterProcess::run()
} }
case E_PROCSS_TYPE_SEND: case E_PROCSS_TYPE_SEND:
{ {
m_SConsumerMarketer.makeTable(m_SDatagroup); if (m_SInitializer.isUpload())
m_SConsumerCheckList.makeTable(m_SDatagroup); {
m_SDatagroup.makeTable(); m_SConsumerMarketer.makeTable(m_SDatagroup);
m_SConsumerCheckList.makeTable(m_SDatagroup);
m_SDatagroup.makeTable();
//m_SConsumer.makeOverallCategory(m_SInitializer.getAllCategoryNum(E_SERVICE_CONSUMER)); //m_SConsumer.makeOverallCategory(m_SInitializer.getAllCategoryNum(E_SERVICE_CONSUMER));
//m_SInfluencer.makeOverallCategory(m_SInitializer.getAllCategoryNum(E_SERVICE_INFLUENCER)); //m_SInfluencer.makeOverallCategory(m_SInitializer.getAllCategoryNum(E_SERVICE_INFLUENCER));
//m_SSpammer.makeOverallCategory(m_SInitializer.getAllCategoryNum(E_SERVICE_SPAMMER)); //m_SSpammer.makeOverallCategory(m_SInitializer.getAllCategoryNum(E_SERVICE_SPAMMER));
//m_SPowercafe.makeOverallCategory(m_SInitializer.getAllCategoryNum(E_SERVICE_POWERCAFE)); //m_SPowercafe.makeOverallCategory(m_SInitializer.getAllCategoryNum(E_SERVICE_POWERCAFE));
m_SConsumer.makeTable(m_SDatagroup); m_SConsumer.makeTable(m_SDatagroup);
m_SInfluencer.makeTable(m_SDatagroup); m_SInfluencer.makeTable(m_SDatagroup);
m_SSpammer.makeTable(m_SDatagroup); m_SSpammer.makeTable(m_SDatagroup);
m_SPowercafe.makeTable(m_SDatagroup); m_SPowercafe.makeTable(m_SDatagroup);
m_SInitializer.openConnection(SDBManager::E_DATABASE_WEB); m_SInitializer.openConnection(SDBManager::E_DATABASE_WEB);
m_SDatagroup.uploadData(process.m_nCompanyNum); m_SDatagroup.uploadData(process.m_nCompanyNum);
m_SConsumer.uploadData(process.m_nCompanyNum); m_SConsumer.uploadData(process.m_nCompanyNum);
m_SInfluencer.uploadData(process.m_nCompanyNum); m_SInfluencer.uploadData(process.m_nCompanyNum);
m_SSpammer.uploadData(process.m_nCompanyNum); m_SSpammer.uploadData(process.m_nCompanyNum);
m_SPowercafe.uploadData(process.m_nCompanyNum); m_SPowercafe.uploadData(process.m_nCompanyNum);
m_SDatagroup.changeTable(process.m_nCompanyNum); m_SDatagroup.changeTable(process.m_nCompanyNum);
m_SConsumer.changeTable(process.m_nCompanyNum); m_SConsumer.changeTable(process.m_nCompanyNum);
m_SInfluencer.changeTable(process.m_nCompanyNum); m_SInfluencer.changeTable(process.m_nCompanyNum);
m_SSpammer.changeTable(process.m_nCompanyNum); m_SSpammer.changeTable(process.m_nCompanyNum);
m_SPowercafe.changeTable(process.m_nCompanyNum); m_SPowercafe.changeTable(process.m_nCompanyNum);
m_SInitializer.updateWebDBInfoComplete(m_SInitializer.getDatabase(SDBManager::E_DATABASE_WEB), m_SDatagroup.getstDate()->m_strMindate, m_SInitializer.updateWebDBInfoComplete(m_SInitializer.getDatabase(SDBManager::E_DATABASE_WEB), m_SDatagroup.getstDate()->m_strMindate,
m_SDatagroup.getstDate()->m_strMaxdate, m_SDatagroup.getstDate()->m_strLastupdate, m_SDatagroup.getstDate()->m_strMaxdate, m_SDatagroup.getstDate()->m_strLastupdate,
m_SDatagroup.getCounts()->m_nFilterBodyCount, m_SDatagroup.getCounts()->m_nFilterReplyCount, m_SDatagroup.getCounts()->m_nFilterBodyCount, m_SDatagroup.getCounts()->m_nFilterReplyCount,
process.m_nCompanyNum); process.m_nCompanyNum);
m_nCompany = process.m_nCompanyNum; m_SInitializer.insertLog("Upload Done");
m_nCompany = process.m_nCompanyNum;
}
else
{
m_nCompany = -100;
m_SInitializer.insertLog("No Upload");
}
break; break;
} }
} }

View File

@@ -99,6 +99,7 @@ bool SInfluencer::makeCategory(SDatagroup &_datagroup, int _nCategory, const QLi
for (int i = 0; i < SInitializer::E_ARTICLE_MAX; i++) for (int i = 0; i < SInitializer::E_ARTICLE_MAX; i++)
bFiltered[i] = false; bFiltered[i] = false;
_datagroup.copyData(vecData); _datagroup.copyData(vecData);
m_pSInitializer->insertCategoryLog(QString("Influencer Category: ") + m_pSInitializer->getCategoryName(_nCategory));
foreach (SInitializer::stFilter filter, _listFilter) foreach (SInitializer::stFilter filter, _listFilter)
{ {
switch(filter.m_nType) switch(filter.m_nType)
@@ -122,9 +123,12 @@ bool SInfluencer::makeCategory(SDatagroup &_datagroup, int _nCategory, const QLi
m_SFilterAlgorithm.FilterCounter(vecData, bFiltered, filter.m_vData.toString()); m_SFilterAlgorithm.FilterCounter(vecData, bFiltered, filter.m_vData.toString());
break; break;
} }
m_pSInitializer->insertCategoryLog("Body: " + QString::number(vecData[SInitializer::E_ARTICLE_BODY].size()) + ", " +
"Reply: " + QString::number(vecData[SInitializer::E_ARTICLE_REPLY].size()) + ", " +
SService::convertJsonToStr(filter.m_nType, filter.m_vData.toString()));
} }
stReal streal; stReal streal;
m_pSInitializer->insertLog(QString("CategoryNum:") + QString::number(_nCategory) + ",(" + m_pSInitializer->insertLog(QString("Category:") + m_pSInitializer->getCategoryName(_nCategory) + ",(" +
QString::number(vecData[SInitializer::E_ARTICLE_BODY].size()) + '/' + QString::number(vecData[SInitializer::E_ARTICLE_REPLY].size()) + ")" + "(Body/Reply)" ); QString::number(vecData[SInitializer::E_ARTICLE_BODY].size()) + '/' + QString::number(vecData[SInitializer::E_ARTICLE_REPLY].size()) + ")" + "(Body/Reply)" );
const int *anColumn = m_pSInitializer->getColumnIntArray(); const int *anColumn = m_pSInitializer->getColumnIntArray();
if (bFiltered[SInitializer::E_ARTICLE_BODY]) if (bFiltered[SInitializer::E_ARTICLE_BODY])

View File

@@ -98,9 +98,10 @@ bool SInitializer::enableSettings(QSqlDatabase& db, int _nMode)
void SInitializer::updateWebDBInfoState(QSqlDatabase &_db, int _nCompany, QString _strStatus) void SInitializer::updateWebDBInfoState(QSqlDatabase &_db, int _nCompany, QString _strStatus)
{ {
QString strQuery = "update dbinfo set " QString strQuery = "update dbinfo set "
"status = '" + _strStatus + "' " "info = '" + _strStatus + "' "
"where company_num = " + QString::number(_nCompany); "where company_num = " + QString::number(_nCompany);
_db.exec(strQuery.toUtf8()); QSqlQuery query(_db);
query.exec(strQuery);
} }
void SInitializer::updateWebDBInfoComplete(QSqlDatabase _db, QString _mindate, QString _maxdate, QString _lastupdate, int _bodycount, int _replycount, int _nCompany) void SInitializer::updateWebDBInfoComplete(QSqlDatabase _db, QString _mindate, QString _maxdate, QString _lastupdate, int _bodycount, int _replycount, int _nCompany)
@@ -148,6 +149,32 @@ bool SInitializer::initDays()
return true; return true;
} }
bool SInitializer::initUpload()
{
QSettings settings(QString("setup.ini"), QSettings::IniFormat);
settings.setIniCodec("UTF-8");
settings.beginGroup(QString("settings"));
if (settings.childKeys().size() == 0)
{
m_bUpload = true;
return true;
}
QString strOk = settings.value("upload", "o").toString().trimmed();
if (strOk.startsWith('o', Qt::CaseInsensitive))
m_bUpload = true;
else
m_bUpload = false;
settings.endGroup();
return true;
}
bool SInitializer::isUpload()
{
return m_bUpload;
}
bool SInitializer::initSpammer() bool SInitializer::initSpammer()
{ {
QSettings settings(QString("setup.ini"), QSettings::IniFormat); QSettings settings(QString("setup.ini"), QSettings::IniFormat);
@@ -239,6 +266,7 @@ bool SInitializer::init(const QString& _strFilterProcessGroupID, const QString&
b_ok &= initCategory(); b_ok &= initCategory();
b_ok &= initConsumerMarketer(); b_ok &= initConsumerMarketer();
b_ok &= initConsumerCheckList(); b_ok &= initConsumerCheckList();
b_ok &= initUpload();
/* /*
if (!b_ok) if (!b_ok)
@@ -259,7 +287,7 @@ bool SInitializer::initInfluencer()
bool SInitializer::initFilterProcess() bool SInitializer::initFilterProcess()
{ {
QString strQuery = QString("select filterprocess_type,datagroup_id,filtergroup_id,company_num,category_num,filterprocess_order,service_num " QString strQuery = QString("select filterprocess_type,datagroup_id,filtergroup_id,company_num,category_num,filterprocess_order,service_num,filtergroup_name "
"from filterprocess where filterprocessgroup_id = ") + QString::number(m_stFilterProcessGroup.m_nFilterProcessGroupID); "from filterprocess where filterprocessgroup_id = ") + QString::number(m_stFilterProcessGroup.m_nFilterProcessGroupID);
QSqlQuery query(m_sDBManager[SDBManager::E_DATABASE_DATA]); QSqlQuery query(m_sDBManager[SDBManager::E_DATABASE_DATA]);
@@ -281,6 +309,7 @@ bool SInitializer::initFilterProcess()
stfilterprocess.m_nCategoryNum = query.value(4).toInt(); stfilterprocess.m_nCategoryNum = query.value(4).toInt();
stfilterprocess.m_nFilterProcessOrder = query.value(5).toInt(); stfilterprocess.m_nFilterProcessOrder = query.value(5).toInt();
stfilterprocess.m_nServiceNum = query.value(6).toInt(); stfilterprocess.m_nServiceNum = query.value(6).toInt();
stfilterprocess.m_strFilterGroupName = query.value(7).toString();
m_listFilterProcess.append(stfilterprocess); m_listFilterProcess.append(stfilterprocess);
} }
@@ -585,6 +614,24 @@ void SInitializer::insertLog(const QString& _strMsg) const
file.close(); file.close();
} }
void SInitializer::insertCategoryLog(const QString& _strMsg) const
{
/*
cout << "[";
cout << m_stFilterProcessGroup.m_strFilterProcessGroupName.toStdString();
cout << "] ";
cout << _strMsg.toStdString() << endl;
*/
QFile file(m_stFilterProcessGroup.m_strFilterProcessGroupName + "_category." + QDate::currentDate().toString(Qt::ISODate)+".log");
if (!file.open(QIODevice::WriteOnly | QIODevice::Text | QIODevice::Append))
return;
QTextStream out(&file);
out << QTime::currentTime().toString("[hh:mm:ss] ") << _strMsg << "\n";
file.close();
}
QSqlDatabase SInitializer::getDatabase(const QString& _dbName) const QSqlDatabase SInitializer::getDatabase(const QString& _dbName) const
{ {
return m_sDBManager[_dbName]; return m_sDBManager[_dbName];

View File

@@ -31,6 +31,7 @@ private:
bool initBlogPageNum(); bool initBlogPageNum();
bool initConsumerMarketer(); bool initConsumerMarketer();
bool initConsumerCheckList(); bool initConsumerCheckList();
bool initUpload();
public: public:
@@ -99,11 +100,13 @@ public:
QString m_strPassword; QString m_strPassword;
QString m_strDBName; QString m_strDBName;
}; };
struct stFilterProcessGroup struct stFilterProcessGroup
{ {
int m_nFilterProcessGroupID; int m_nFilterProcessGroupID;
QString m_strFilterProcessGroupName; QString m_strFilterProcessGroupName;
}; };
struct stInfluencerParam struct stInfluencerParam
{ {
double m_dBody; double m_dBody;
@@ -122,6 +125,7 @@ public:
} }
} }
}; };
struct stColumn struct stColumn
{ {
QStringList m_slColumn; QStringList m_slColumn;
@@ -132,6 +136,7 @@ public:
m_anColumn[i] = -1; m_anColumn[i] = -1;
} }
}; };
struct stFilterProcess struct stFilterProcess
{ {
int m_nDatagroupID; int m_nDatagroupID;
@@ -141,6 +146,7 @@ public:
int m_nFilterProcessType; int m_nFilterProcessType;
int m_nCompanyNum; int m_nCompanyNum;
int m_nServiceNum; int m_nServiceNum;
QString m_strFilterGroupName;
}; };
struct stFilter struct stFilter
@@ -154,6 +160,7 @@ public:
m_nFilterGroupID = -1; m_nFilterGroupID = -1;
} }
}; };
struct stPlatform struct stPlatform
{ {
QMap<QString, int> m_mapPlatformName; QMap<QString, int> m_mapPlatformName;
@@ -184,10 +191,12 @@ private:
QMap<int, QString> m_mapConsumerMaketers; QMap<int, QString> m_mapConsumerMaketers;
QMap<int, QString> m_mapConsumerCheckListUser; QMap<int, QString> m_mapConsumerCheckListUser;
QStringList m_slConsumerCheckList; QStringList m_slConsumerCheckList;
bool m_bUpload;
public: public:
bool init(const QString& _strFilterProcessGroupID, const QString& _strFilterProcessGroupName); bool init(const QString& _strFilterProcessGroupID, const QString& _strFilterProcessGroupName);
void insertLog(const QString& _strMsg) const; void insertLog(const QString& _strMsg) const;
void insertCategoryLog(const QString& _strMsg) const;
QSqlDatabase getDatabase(const QString& _dbName) const; QSqlDatabase getDatabase(const QString& _dbName) const;
QSqlDatabase getDatabase(const SDBManager::E_DATABASE& _eDatabase) const; QSqlDatabase getDatabase(const SDBManager::E_DATABASE& _eDatabase) const;
int getDataGroupNumber() const; int getDataGroupNumber() const;
@@ -216,6 +225,7 @@ public:
QMap<int, QString> getConsumerMaketer(); QMap<int, QString> getConsumerMaketer();
QStringList getConsumerCheckList(); QStringList getConsumerCheckList();
QMap<int, QString> getConsumerCheckListUser(); QMap<int, QString> getConsumerCheckListUser();
bool isUpload();
//bool disableIndex(QSqlDatabase& db, QString _tableName, QStringList _strIndexNames, int _nMode = MODE); //bool disableIndex(QSqlDatabase& db, QString _tableName, QStringList _strIndexNames, int _nMode = MODE);
//bool enableIndex(QSqlDatabase& db, QString _tableName, QStringList _strIndexNames, int _nMode = MODE); //bool enableIndex(QSqlDatabase& db, QString _tableName, QStringList _strIndexNames, int _nMode = MODE);
//bool disableSettings(QSqlDatabase& db, int _nMode = MODE); //bool disableSettings(QSqlDatabase& db, int _nMode = MODE);

View File

@@ -100,6 +100,7 @@ bool SPowercafe::makeCategory(SDatagroup &_datagroup, int _nCategory, const QLis
for (int i = 0; i < SInitializer::E_ARTICLE_MAX; i++) for (int i = 0; i < SInitializer::E_ARTICLE_MAX; i++)
bFiltered[i] = false; bFiltered[i] = false;
_datagroup.copyData(vecData); _datagroup.copyData(vecData);
m_pSInitializer->insertCategoryLog(QString("PowerCafe Category: ") + m_pSInitializer->getCategoryName(_nCategory));
foreach (const SInitializer::stFilter& filter, _listFilter) foreach (const SInitializer::stFilter& filter, _listFilter)
{ {
switch(filter.m_nType) switch(filter.m_nType)
@@ -123,9 +124,12 @@ bool SPowercafe::makeCategory(SDatagroup &_datagroup, int _nCategory, const QLis
m_SFilterAlgorithm.FilterCounter(vecData, bFiltered, filter.m_vData.toString()); m_SFilterAlgorithm.FilterCounter(vecData, bFiltered, filter.m_vData.toString());
break; break;
} }
m_pSInitializer->insertCategoryLog("Body: " + QString::number(vecData[SInitializer::E_ARTICLE_BODY].size()) + ", " +
"Reply: " + QString::number(vecData[SInitializer::E_ARTICLE_REPLY].size()) + ", " +
SService::convertJsonToStr(filter.m_nType, filter.m_vData.toString()));
} }
stReal streal; stReal streal;
m_pSInitializer->insertLog(QString("CategoryNum:") + QString::number(_nCategory) + ",(" + m_pSInitializer->insertLog(QString("Category:") + m_pSInitializer->getCategoryName(_nCategory) + ",(" +
QString::number(vecData[SInitializer::E_ARTICLE_BODY].size()) + '/' + QString::number(vecData[SInitializer::E_ARTICLE_REPLY].size()) + ")" + "(Body/Reply)" ); QString::number(vecData[SInitializer::E_ARTICLE_BODY].size()) + '/' + QString::number(vecData[SInitializer::E_ARTICLE_REPLY].size()) + ")" + "(Body/Reply)" );
const int *anColumn = m_pSInitializer->getColumnIntArray(); const int *anColumn = m_pSInitializer->getColumnIntArray();
if (bFiltered[SInitializer::E_ARTICLE_BODY]) if (bFiltered[SInitializer::E_ARTICLE_BODY])

View File

@@ -2,7 +2,7 @@
#define SSERVICE #define SSERVICE
#include "sinitializer.h" #include "sinitializer.h"
#include "sdatagroup.h" #include "sdatagroup.h"
#include <QString>
class SService class SService
{ {
protected: protected:
@@ -14,6 +14,7 @@ public:
virtual bool makeCategory(SDatagroup &_datagroup, int _nCategory, const QList<SInitializer::stFilter> &_listFilter) = 0; virtual bool makeCategory(SDatagroup &_datagroup, int _nCategory, const QList<SInitializer::stFilter> &_listFilter) = 0;
virtual bool makeOverallCategory(int _categoryNum) = 0; virtual bool makeOverallCategory(int _categoryNum) = 0;
virtual bool makeTable(SDatagroup &_datagroup) = 0; virtual bool makeTable(SDatagroup &_datagroup) = 0;
QString convertJsonToStr(int _nSelect, const QString& _strJson);
}; };
#endif // SSERVICE #endif // SSERVICE

View File

@@ -93,6 +93,7 @@ bool SSpammer::makeCategory(SDatagroup &_datagroup, int _nCategory, const QList<
for (int i = 0; i < SInitializer::E_ARTICLE_MAX; i++) for (int i = 0; i < SInitializer::E_ARTICLE_MAX; i++)
bFiltered[i] = false; bFiltered[i] = false;
_datagroup.copyData(vecData); _datagroup.copyData(vecData);
m_pSInitializer->insertCategoryLog(QString("Spammer Category: ") + m_pSInitializer->getCategoryName(_nCategory));
foreach (const SInitializer::stFilter& filter, _listFilter) foreach (const SInitializer::stFilter& filter, _listFilter)
{ {
switch(filter.m_nType) switch(filter.m_nType)
@@ -116,9 +117,12 @@ bool SSpammer::makeCategory(SDatagroup &_datagroup, int _nCategory, const QList<
m_SFilterAlgorithm.FilterCounter(vecData, bFiltered, filter.m_vData.toString()); m_SFilterAlgorithm.FilterCounter(vecData, bFiltered, filter.m_vData.toString());
break; break;
} }
m_pSInitializer->insertCategoryLog("Body: " + QString::number(vecData[SInitializer::E_ARTICLE_BODY].size()) + ", " +
"Reply: " + QString::number(vecData[SInitializer::E_ARTICLE_REPLY].size()) + ", " +
SService::convertJsonToStr(filter.m_nType, filter.m_vData.toString()));
} }
stReal streal; stReal streal;
m_pSInitializer->insertLog(QString("CategoryNum:") + QString::number(_nCategory) + ",(" + m_pSInitializer->insertLog(QString("Category:") + m_pSInitializer->getCategoryName(_nCategory) + ",(" +
QString::number(vecData[SInitializer::E_ARTICLE_BODY].size()) + '/' + QString::number(vecData[SInitializer::E_ARTICLE_REPLY].size()) + ")" + "(Body/Reply)" ); QString::number(vecData[SInitializer::E_ARTICLE_BODY].size()) + '/' + QString::number(vecData[SInitializer::E_ARTICLE_REPLY].size()) + ")" + "(Body/Reply)" );
const int *anColumn = m_pSInitializer->getColumnIntArray(); const int *anColumn = m_pSInitializer->getColumnIntArray();
if (bFiltered[SInitializer::E_ARTICLE_BODY]) if (bFiltered[SInitializer::E_ARTICLE_BODY])