spamer 와 inflrunce 에 Filter 추가
git-svn-id: svn://192.168.0.12/source@102 8346c931-da38-4b9b-9d4c-e48b93cbd075
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user