git-svn-id: svn://192.168.0.12/source@190 8346c931-da38-4b9b-9d4c-e48b93cbd075
This commit is contained in:
@@ -1130,6 +1130,13 @@ bool QSortInfulrence(const SInfluenceCount &stInflunce1, const SInfluenceCount &
|
||||
return stInflunce1.m_dinfulrence > stInflunce2.m_dinfulrence;
|
||||
}
|
||||
|
||||
struct SInfluenceMap
|
||||
{
|
||||
int m_nBody;
|
||||
int m_nReply;
|
||||
int m_nId;
|
||||
};
|
||||
|
||||
void SFilterProcess::DataInfluenceCount(QString _strFilter,QString _strCompanyNum)
|
||||
{
|
||||
ReloadData();
|
||||
@@ -1145,6 +1152,7 @@ void SFilterProcess::DataInfluenceCount(QString _strFilter,QString _strCompanyNu
|
||||
|
||||
if (m_bDataFlag[E_ARTICLE_BODY] == false){InsertLog("Error : Influence Body Data don't have"); return;}
|
||||
|
||||
QVector <SInfluenceMap> vecInfluenceMap[E_ARTICLE_MAX];
|
||||
QMap <QString,SInfluenceCount> mapCount;
|
||||
{
|
||||
InsertLog("Influence Rank Count Make Start ");
|
||||
@@ -1156,6 +1164,12 @@ void SFilterProcess::DataInfluenceCount(QString _strFilter,QString _strCompanyNu
|
||||
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();
|
||||
{
|
||||
SInfluenceMap stInfluenceMap;
|
||||
stInfluenceMap.m_nBody = m_mapData[strUrl].m_nNum;
|
||||
stInfluenceMap.m_nId = m_mapID[strlist[m_anData[E_DATA_article_id]].trimmed()].m_nNum;
|
||||
vecInfluenceMap[E_ARTICLE_BODY].push_back(stInfluenceMap);
|
||||
}
|
||||
if (mapCount.contains(strKey)==false)
|
||||
{
|
||||
SInfluenceCount stInfluence;
|
||||
@@ -1186,6 +1200,20 @@ void SFilterProcess::DataInfluenceCount(QString _strFilter,QString _strCompanyNu
|
||||
{
|
||||
mapCount[stInfluence.m_strID].m_dinfulrence = ((double)stInfluence.m_ncBody * 0.4) + ((double)stInfluence.m_ncReply * 0.6);
|
||||
}
|
||||
|
||||
/*
|
||||
foreach(QStringList strlist,m_data[E_ARTICLE_REPLY])
|
||||
{
|
||||
SInfluenceMap stInfluenceMap;
|
||||
stInfluenceMap.m_nBody = m_mapData[strUrl].m_nNum;
|
||||
stInfluenceMap.m_nId = m_mapID[strlist[m_anData[E_DATA_article_id]].trimmed()].m_nNum;
|
||||
QString strInfluenceReplyKey = QString::number(stInfluenceMap.m_nBody) + "_" + strlist[m_anData[E_DATA_article_order]].trimmed();
|
||||
stInfluenceMap.m_nReply_num = m_mapReply[strInfluenceReplyKey];
|
||||
vecInfluenceMap[E_ARTICLE_REPLY].push_back(stInfluenceMap);
|
||||
}
|
||||
*/
|
||||
|
||||
|
||||
InsertLog("Influence Rank Count Make End");
|
||||
{
|
||||
m_db.setHostName(m_strWebDataBaseHost);
|
||||
@@ -1269,8 +1297,48 @@ void SFilterProcess::DataInfluenceCount(QString _strFilter,QString _strCompanyNu
|
||||
{
|
||||
if (nCount >= 10) break; nCount++;
|
||||
strQuery = MakeInfluencerrankQuery(stIn,nCount,"replycount",strCompanyNum);
|
||||
if(query.exec(strQuery.toUtf8()) == false) {InsertLog(query.lastError().text());return;}
|
||||
if(query.exec(strQuery.toUtf8()) == false) {InsertLog(query.lastError().text());return;}
|
||||
}
|
||||
|
||||
UpdateDBInfoState(m_db,_strCompanyNum,"Influence (Map body Insert)");
|
||||
nCount = 1;
|
||||
foreach(SInfluenceMap stMap,vecInfluenceMap[E_ARTICLE_BODY])
|
||||
{
|
||||
strQuery = "insert into body_influencer_map_";
|
||||
strQuery += _strCompanyNum + "_update";
|
||||
strQuery += " (num,body_num,id_num) VALUES (";
|
||||
strQuery += QString::number(nCount++) + ",";
|
||||
strQuery += QString::number(stMap.m_nBody) + ",";
|
||||
strQuery += QString::number(stMap.m_nId) + ")";
|
||||
if(query.exec(strQuery.toUtf8()) == false)
|
||||
{
|
||||
qDebug() << strQuery;InsertLog(query.lastError().text());
|
||||
InsertLog(strQuery);
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
nCount = 1;
|
||||
foreach(SInfluenceMap stMap,vecInfluenceMap[E_ARTICLE_REPLY])
|
||||
{
|
||||
strQuery = "insert into reply_influencer_map_";
|
||||
strQuery += _strCompanyNum + "_update";
|
||||
strQuery += " (num,body_num,id_num) VALUES (";
|
||||
strQuery += QString::number(nCount++) + ",";
|
||||
strQuery += QString::number(stMap.m_nBody) + ",";
|
||||
strQuery += QString::number(stMap.m_nReply) + ",";
|
||||
strQuery += QString::number(stMap.m_nId) + ")";
|
||||
if(query.exec(strQuery.toUtf8()) == false)
|
||||
{
|
||||
qDebug() << strQuery;InsertLog(query.lastError().text());
|
||||
InsertLog(strQuery);
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
RenameTable("body_influencer_map_" + _strCompanyNum,"body_influencer_map_" + _strCompanyNum + "_update","body_influencer_map_" + _strCompanyNum +"_temp");
|
||||
//RenameTable("reply_influencer_map_" + _strCompanyNum,"reply_influencer_map_" + _strCompanyNum + "_update","reply_influencer_map_" + _strCompanyNum +"_temp");
|
||||
|
||||
//
|
||||
strQuery = "update dbinfo set "
|
||||
"influencercount = " + QString::number(list.size()) + " "
|
||||
@@ -1322,7 +1390,7 @@ void SFilterProcess::DataSpammersCount(QString _strFilter,QString _strCompanyNum
|
||||
QVector <SSpammerMap> vecSpammerMap[E_ARTICLE_MAX];
|
||||
{
|
||||
InsertLog("Spamer Rank Count Make Start ");
|
||||
if (m_bDataFlag[E_ARTICLE_BODY] == true)
|
||||
if (m_bDataFlag[E_ARTICLE_BODY])
|
||||
{
|
||||
foreach(QStringList strlist,m_data[E_ARTICLE_BODY])
|
||||
{
|
||||
@@ -1339,6 +1407,10 @@ void SFilterProcess::DataSpammersCount(QString _strFilter,QString _strCompanyNum
|
||||
}
|
||||
mapSpamer[strKey].m_dBodycount+=1.0;
|
||||
|
||||
QString strReKey = strlist[m_anData[E_DATA_article_nickname]].trimmed();
|
||||
if (mapSpamer[strKey].m_setNick.contains(strReKey) == false)
|
||||
mapSpamer[strKey].m_setNick.insert(strReKey);
|
||||
|
||||
SSpammerMap stSpammerMap;
|
||||
QString strURL = strlist[m_nUrlColumn].trimmed();
|
||||
stSpammerMap.m_nBody_num = m_mapData[strURL].m_nNum;
|
||||
@@ -1347,7 +1419,7 @@ void SFilterProcess::DataSpammersCount(QString _strFilter,QString _strCompanyNum
|
||||
}
|
||||
}
|
||||
|
||||
if (m_bDataFlag[E_ARTICLE_REPLY] == true)
|
||||
if (m_bDataFlag[E_ARTICLE_REPLY])
|
||||
{
|
||||
foreach(QStringList strlist,m_data[E_ARTICLE_REPLY])
|
||||
{
|
||||
@@ -1364,11 +1436,15 @@ void SFilterProcess::DataSpammersCount(QString _strFilter,QString _strCompanyNum
|
||||
}
|
||||
mapSpamer[strKey].m_dReplycount+=1.0;
|
||||
|
||||
QString strReKey = strlist[m_anData[E_DATA_article_nickname]].trimmed();
|
||||
if (mapSpamer[strKey].m_setNick.contains(strReKey) == false)
|
||||
mapSpamer[strKey].m_setNick.insert(strReKey);
|
||||
|
||||
SSpammerMap stSpammerMap;
|
||||
QString strURL = strlist[m_nUrlColumn].trimmed();
|
||||
stSpammerMap.m_nBody_num = m_mapData[strURL].m_nNum;
|
||||
QString strSpammerReplyKey = QString::number(stSpammerMap.m_nBody_num) + "_" + strlist[m_anData[E_DATA_article_order]].trimmed();
|
||||
stSpammerMap.m_nReply_num = m_mapSpammerReply[strSpammerReplyKey];
|
||||
stSpammerMap.m_nReply_num = m_mapReply[strSpammerReplyKey];
|
||||
stSpammerMap.m_nId_num = m_mapID[strlist[m_anData[E_DATA_article_id]].trimmed()].m_nNum;
|
||||
vecSpammerMap[E_ARTICLE_REPLY].push_back(stSpammerMap);
|
||||
}
|
||||
@@ -1395,7 +1471,12 @@ void SFilterProcess::DataSpammersCount(QString _strFilter,QString _strCompanyNum
|
||||
stSpammerMap.m_nId_num = m_mapID[stBody.m_strlist[m_anData[E_DATA_article_id]].trimmed()].m_nNum;
|
||||
vecSpammerMap[E_ARTICLE_BODY].push_back(stSpammerMap);
|
||||
|
||||
mapSpamer[strKey].m_setNick.insert(stBody.m_strlist[m_anData[E_DATA_article_nickname]].trimmed());
|
||||
{
|
||||
//mapSpamer[strKey].m_setNick.insert(stBody.m_strlist[m_anData[E_DATA_article_nickname]].trimmed());
|
||||
QString strReKey = stBody.m_strlist[m_anData[E_DATA_article_nickname]].trimmed();
|
||||
if (mapSpamer[strKey].m_setNick.contains(strReKey) == false)
|
||||
mapSpamer[strKey].m_setNick.insert(strReKey);
|
||||
}
|
||||
foreach(SReply stReply , stBody.m_vecReply.values())
|
||||
{
|
||||
QString strKey = stReply.m_strlist[m_anData[E_DATA_platform_name]].trimmed() + QString(",");
|
||||
@@ -1413,7 +1494,7 @@ void SFilterProcess::DataSpammersCount(QString _strFilter,QString _strCompanyNum
|
||||
stSpammerMap.m_nBody_num = stBody.m_nNum;
|
||||
stSpammerMap.m_nId_num = m_mapID[stReply.m_strlist[m_anData[E_DATA_article_id]].trimmed()].m_nNum;
|
||||
QString strSpammerReplyKey = QString::number(stSpammerMap.m_nBody_num) + "_" + stReply.m_strlist[m_anData[E_DATA_article_order]].trimmed();
|
||||
stSpammerMap.m_nReply_num = m_mapSpammerReply[strSpammerReplyKey];
|
||||
stSpammerMap.m_nReply_num = m_mapReply[strSpammerReplyKey];
|
||||
vecSpammerMap[E_ARTICLE_REPLY].push_back(stSpammerMap);
|
||||
|
||||
QString strReKey = stReply.m_strlist[m_anData[E_DATA_article_nickname]].trimmed();
|
||||
@@ -1525,7 +1606,7 @@ void SFilterProcess::DataSpammersCount(QString _strFilter,QString _strCompanyNum
|
||||
nCount++;
|
||||
}
|
||||
{
|
||||
nCount=1;
|
||||
nCount=1;
|
||||
foreach(SSpammerMap stMap,vecSpammerMap[E_ARTICLE_BODY])
|
||||
{
|
||||
if(setId.contains(stMap.m_nId_num)==false) continue;
|
||||
@@ -2096,8 +2177,8 @@ void SFilterProcess::DataPut(QString _strCompanyNum)
|
||||
InsertLog(query.lastError().text());m_db.close();return;
|
||||
}
|
||||
{
|
||||
QString strSpammerReplyKey = QString::number(m_mapData[strUrl].m_nNum) + "_" + stReply.m_strlist[m_anData[E_DATA_article_order]].trimmed();
|
||||
m_mapSpammerReply.insert(strSpammerReplyKey,nReplyCount);
|
||||
QString strReplyKey = QString::number(m_mapData[strUrl].m_nNum) + "_" + stReply.m_strlist[m_anData[E_DATA_article_order]].trimmed();
|
||||
m_mapReply.insert(strReplyKey,nReplyCount);
|
||||
}
|
||||
nReplyCount++;
|
||||
}
|
||||
|
||||
@@ -259,7 +259,7 @@ private:
|
||||
int m_nCutDays;
|
||||
|
||||
QVector <SKeyword> m_vecKeyword;
|
||||
QMap <QString,int> m_mapSpammerReply;
|
||||
QMap <QString,int> m_mapReply;
|
||||
|
||||
private:
|
||||
bool LockTable(QString _strTable);
|
||||
|
||||
Reference in New Issue
Block a user