spamer 와 inflrunce 에 Filter 추가

git-svn-id: svn://192.168.0.12/source@102 8346c931-da38-4b9b-9d4c-e48b93cbd075
This commit is contained in:
admin
2015-05-11 05:50:20 +00:00
parent d461a129ee
commit 3f1ab6907a
2 changed files with 67 additions and 11 deletions

View File

@@ -824,13 +824,23 @@ bool QSortInfulrence(const SInfluenceCount &stInflunce1, const SInfluenceCount &
void SFilterProcess::DataInfluenceCount(QString _strFilter,QString _strCompanyNum)
{
ReloadData();
InsertLog("Influence Data Filter Run Start ");
DataFilter(_strFilter);
InsertLog("Influence Data Filter Run End ");
if (m_bDataFlag[E_ARTICLE_BODY] == false){InsertLog("Error : Influence Body Data don't have"); return;}
QMap <QString,SInfluenceCount> mapCount;
//foreach (QListWidgetItem *item,m_plw[E_LIST_COMPANY].selectedItems())
{
InsertLog("Influence Rank Count Make Start ");
QString strCompanyNum = _strCompanyNum;
foreach(SBody stBody, m_mapData.values())
{
//foreach(SBody stBody, m_mapData.values())
foreach(QStringList strlist,m_data[E_ARTICLE_BODY])
{
QString strUrl = strlist[m_nUrlColumn].trimmed();
if (m_mapData.contains(strUrl) == false) continue;
SBody stBody = m_mapData.value(strUrl);
if (stBody.m_strlist[m_anData[E_DATA_platform_form]].trimmed().compare(QString("blog")) != 0) continue;
QString strKey = stBody.m_strlist[m_anData[E_DATA_article_id]].trimmed();
if (mapCount.contains(strKey)==false)
@@ -973,15 +983,57 @@ void SFilterProcess::DataSpammersCount(QString _strFilter,QString _strCompanyNum
if (list.size() < 2) continue;
if (list[0].trimmed().compare("Body_Count_Cut") == 0) dRead[E_SPAMER_BODY_COUNT_CUT]=list[1].toDouble();
if (list[0].trimmed().compare("Body_Count_Ratio") == 0) dRead[E_SPAMER_BODY_COUNT_RATIO]=list[1].toDouble();
if (list[0].trimmed().compare("Reply_Count_Cut") == 0) dRead[E_SPAMER_REPLY_COUNT_CUT]=list[1].toDouble();
if (list[0].trimmed().compare("Reply_Count_Ratio") == 0) dRead[E_SPAMER_REPLY_COUNT_RATIO]=list[1].toDouble();
if (list[0].trimmed().compare("Nick_Count_Cut") == 0) dRead[E_SPAMER_NICK_COUNT_CUT]=list[1].toDouble();
if (list[0].trimmed().compare("Nick_Count_Ratio") == 0) dRead[E_SPAMER_NICK_COUNT_RATIO]=list[1].toDouble();
if (list[0].trimmed().compare("Nick_Count_Ratio") == 0) dRead[E_SPAMER_NICK_COUNT_RATIO]=list[1].toDouble();
}
inputFile.close();
}
QMap<QString,SSpamer> mapSpamer;
//foreach (QListWidgetItem *item,m_plw[E_LIST_COMPANY].selectedItems())
ReloadData();
InsertLog("Spamer Data Filter Run Start ");
DataFilter(_strFilter);
InsertLog("Spamer Data Filter Run End ");
{
InsertLog("Spamer Rank Count Make Start ");
if (m_bDataFlag[E_ARTICLE_BODY] == true)
{
foreach(QStringList strlist,m_data[E_ARTICLE_BODY])
{
if (strlist[m_anData[E_DATA_article_id]].trimmed().isEmpty()) continue;
QString strKey = strlist[m_anData[E_DATA_platform_name]].trimmed() + QString(",");
strKey += strlist[m_anData[E_DATA_platform_form]].trimmed() + QString(",");
strKey += strlist[m_anData[E_DATA_article_id]].trimmed();
if (mapSpamer.contains(strKey) == false)
{
SSpamer stSpamer;
stSpamer.m_strKey = strKey;
stSpamer.m_strNickname = strlist[m_anData[E_DATA_article_nickname]].trimmed();
mapSpamer.insert(strKey,stSpamer);
}
mapSpamer[strKey].m_dBodycount+=1.0;
}
}
if (m_bDataFlag[E_ARTICLE_REPLY] == true)
{
foreach(QStringList strlist,m_data[E_ARTICLE_REPLY])
{
if (strlist[m_anData[E_DATA_article_id]].trimmed().isEmpty()) continue;
QString strKey = strlist[m_anData[E_DATA_platform_name]].trimmed() + QString(",");
strKey += strlist[m_anData[E_DATA_platform_form]].trimmed() + QString(",");
strKey += strlist[m_anData[E_DATA_article_id]].trimmed();
if (mapSpamer.contains(strKey) == false)
{
SSpamer stSpamer;
stSpamer.m_strKey = strKey;
stSpamer.m_strNickname = strlist[m_anData[E_DATA_article_nickname]].trimmed();
mapSpamer.insert(strKey,stSpamer);
}
mapSpamer[strKey].m_dReplycount+=1.0;
}
}
foreach(SBody stBody, m_mapData.values())
{
if (stBody.m_strlist[m_anData[E_DATA_article_id]].trimmed().isEmpty()) continue;
@@ -995,7 +1047,7 @@ void SFilterProcess::DataSpammersCount(QString _strFilter,QString _strCompanyNum
stSpamer.m_strNickname = stBody.m_strlist[m_anData[E_DATA_article_nickname]].trimmed();
mapSpamer.insert(strKey,stSpamer);
}
mapSpamer[strKey].m_dBodycount+=1.0;
//mapSpamer[strKey].m_dBodycount+=1.0;
mapSpamer[strKey].m_setNick.insert(stBody.m_strlist[m_anData[E_DATA_article_nickname]].trimmed());
foreach(SReply stReply , stBody.m_vecReply.values())
{
@@ -1009,7 +1061,7 @@ void SFilterProcess::DataSpammersCount(QString _strFilter,QString _strCompanyNum
stSpamer.m_strNickname = stReply.m_strlist[m_anData[E_DATA_article_nickname]].trimmed();
mapSpamer.insert(strKey,stSpamer);
}
mapSpamer[strKey].m_dReplycount+=1.0;
//mapSpamer[strKey].m_dReplycount+=1.0;
QString strReKey = stReply.m_strlist[m_anData[E_DATA_article_nickname]].trimmed();
if (mapSpamer[strKey].m_setNick.contains(strReKey) == false)
mapSpamer[strKey].m_setNick.insert(strReKey);
@@ -1022,18 +1074,21 @@ void SFilterProcess::DataSpammersCount(QString _strFilter,QString _strCompanyNum
bool bFlag = false;
if (stSpamer.m_dBodycount > dRead[E_SPAMER_BODY_COUNT_CUT])
bFlag = true;
if (stSpamer.m_dReplycount > dRead[E_SPAMER_REPLY_COUNT_CUT])
bFlag = true;
if ((double)stSpamer.m_setNick.size() > dRead[E_SPAMER_BODY_COUNT_CUT])
bFlag = true;
if (bFlag)
{
stSpamer.m_dSpammerValue = (dRead[E_SPAMER_BODY_COUNT_RATIO]*stSpamer.m_dBodycount)+
(dRead[E_SPAMER_REPLY_COUNT_RATIO]*stSpamer.m_dReplycount)+
(dRead[E_SPAMER_NICK_COUNT_RATIO]*(double)stSpamer.m_setNick.size());
list.push_back(stSpamer);
}
}
qSort(list.begin(),list.end(),QSortSpamer);
InsertLog("Spamer Rank Count Make End ");
InsertLog("Spamer Rank Count Send Start ");
m_db.setHostName(D_DB_WEB_HOST);
m_db.setUserName(D_DB_WEB_USER);
@@ -1082,7 +1137,7 @@ void SFilterProcess::DataSpammersCount(QString _strFilter,QString _strCompanyNum
}
if (mapPlatformnameCount.contains(strPlatformname))
{
if (mapPlatformnameCount[strPlatformname] < 10)
if (mapPlatformnameCount[strPlatformname] <= 10)
{
strQuery = "insert into stats_spammerrank (rank,id_num,id_id,nicknamecount,bodycount,replycount,spammervalue,company_num,platformname_name,subject) VALUES (";
strQuery += strValue + ",'" + strPlatformname + "','spammervalue')";
@@ -1118,8 +1173,7 @@ void SFilterProcess::DataPowerCafeCount(QString _strFilter,QString _strCompanyNu
DataFilter(_strFilter);
InsertLog("Power Cafe Data Filter Run End ");
QMap <QString,SPowerCafeCount> mapRealCount;
QMap <QString,SPowerCafeCount> mapAllCount;
//foreach (QListWidgetItem *item,m_plw[E_LIST_COMPANY].selectedItems())
QMap <QString,SPowerCafeCount> mapAllCount;
{
InsertLog("Power Cafe Rank Count Make Start ");
// real make

View File

@@ -195,6 +195,8 @@ public:
{
E_SPAMER_BODY_COUNT_CUT = 0,
E_SPAMER_BODY_COUNT_RATIO,
E_SPAMER_REPLY_COUNT_CUT,
E_SPAMER_REPLY_COUNT_RATIO,
E_SPAMER_NICK_COUNT_CUT,
E_SPAMER_NICK_COUNT_RATIO,
E_SPAMER_MAX