git-svn-id: svn://192.168.0.12/source@190 8346c931-da38-4b9b-9d4c-e48b93cbd075

This commit is contained in:
admin
2015-09-21 09:43:03 +00:00
parent d6697cbd5b
commit 9ea5c0c8bc
2 changed files with 91 additions and 10 deletions

View File

@@ -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++;
}

View File

@@ -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);