diff --git a/FilterProcess/sfilterprocess.cpp b/FilterProcess/sfilterprocess.cpp index 5df7763..c8df3bf 100644 --- a/FilterProcess/sfilterprocess.cpp +++ b/FilterProcess/sfilterprocess.cpp @@ -36,7 +36,6 @@ bool SFilterProcess::ReloadSetup() m_nCutDays = settings.value("days").toInt(); settings.endGroup(); - m_adSpammer[E_SPAMER_MAX]; settings.beginGroup(QString("spammers")); if (settings.childKeys().size() == 0) return false; m_adSpammer[E_SPAMER_BODY_COUNT_CUT] = settings.value("body_cut").toDouble(); @@ -510,6 +509,7 @@ void SFilterProcess::FilterSerach(QString _strJson) if (json.GetBool(_strJson,"Last")) // { QVector copyData; + foreach(QStringList strList , m_data[nSelect]) { bool bFlag = false; @@ -1670,6 +1670,14 @@ bool QSortPowerCafeReal(const SPowerCafeCount &st1, const SPowerCafeCount &st2) return st1.m_ncAllReal > st2.m_ncAllReal; } +struct SPowerCafeMap +{ + int m_nBody; + int m_nCommunity; +// int m_nReply; +}; + + void SFilterProcess::DataPowerCafeCount(QString _strFilter,QString _strCompanyNum) { ReloadData(); @@ -1678,6 +1686,7 @@ void SFilterProcess::DataPowerCafeCount(QString _strFilter,QString _strCompanyNu InsertLog("Power Cafe Data Filter Run End "); QMap mapRealCount; QMap mapAllCount; + QVector vecPowerCafeMap[E_ARTICLE_MAX]; { InsertLog("Power Cafe Rank Count Make Start "); // real make @@ -1687,6 +1696,7 @@ void SFilterProcess::DataPowerCafeCount(QString _strFilter,QString _strCompanyNu { if (strlist[m_anData[E_DATA_platform_form]].trimmed().compare(QString("cafe")) != 0) continue; QString strKey = strlist[m_anData[E_DATA_platform_id]].trimmed(); + if (mapRealCount.contains(strKey)==false) { SPowerCafeCount stPowerCafe; @@ -1698,6 +1708,21 @@ void SFilterProcess::DataPowerCafeCount(QString _strFilter,QString _strCompanyNu stPowerCafe.m_strlistData = strlist; mapRealCount.insert(strKey,stPowerCafe); } + + + { + QString strUrl = strlist[m_nUrlColumn].trimmed(); + QString strCommunityKey = GetCommunityKey(strlist); + + if(m_mapData.contains(strUrl)) + { + SPowerCafeMap stPowerCafeMap; + stPowerCafeMap.m_nBody = m_mapData[strUrl].m_nNum; + stPowerCafeMap.m_nCommunity = m_mapCommunity[strCommunityKey.trimmed()].m_nNum; + vecPowerCafeMap[E_ARTICLE_BODY].push_back(stPowerCafeMap); + } + } + mapRealCount[strKey].m_ncBodyReal++; mapRealCount[strKey].m_ncAllReal++; if (mapRealCount[strKey].m_mapUser.contains(strlist[m_anData[E_DATA_article_id]].trimmed())==false) @@ -1855,6 +1880,25 @@ void SFilterProcess::DataPowerCafeCount(QString _strFilter,QString _strCompanyNu InsertLog(query.lastError().text()); return;} } + + nCount = 1; + foreach(SPowerCafeMap stMap,vecPowerCafeMap[E_ARTICLE_BODY]) + { + strQuery = "insert into body_powercafe_map_"; + strQuery += _strCompanyNum + "_update"; + strQuery += " (num,body_num,community_num) VALUES ("; + strQuery += QString::number(nCount++) + ","; + strQuery += QString::number(stMap.m_nBody) + ","; + strQuery += QString::number(stMap.m_nCommunity) + ")"; + if(query.exec(strQuery.toUtf8()) == false) + { + qDebug() << strQuery;InsertLog(query.lastError().text()); + InsertLog(strQuery); + } + } + + RenameTable("body_powercafe_map_" + _strCompanyNum,"body_powercafe_map_" + _strCompanyNum + "_update","body_powercafe_map_" + _strCompanyNum +"_temp"); + //influencercount,spammercount strQuery = "update dbinfo set " "powercafecount = " + QString::number(listAll.size()) + " "