diff --git a/sfilterprocess/sconsumer.cpp b/sfilterprocess/sconsumer.cpp index 7e460d4..baa0f47 100644 --- a/sfilterprocess/sconsumer.cpp +++ b/sfilterprocess/sconsumer.cpp @@ -5,6 +5,10 @@ #include #include #include +#include +#include +#include +#include bool SConsumer::uploadData(int _companyNum) { @@ -17,11 +21,20 @@ bool SConsumer::uploadData(int _companyNum) m_pSInitializer->insertLog("Fail to upload body_consumer_map"); return false; } + /* if (!m_SStatsConUserBuzzybyday.uploadData(dbWeb, _companyNum)) { m_pSInitializer->insertLog("Fail to upload stats_con_user_buzzbyday"); return false; } + */ + if (!m_SStatsJson.uploadData(dbWeb, _companyNum)) + { + m_pSInitializer->insertLog("Fail to upload stats_json"); + return false; + } + + m_pSInitializer->insertLog("End Consumer upload"); m_pSInitializer->updateWebDBInfoState(dbWeb, _companyNum, "Consumer (Finish)"); return true; @@ -105,7 +118,8 @@ void SConsumer::setInitiaizer(SInitializer &_initializer) { m_pSInitializer = &_initializer; m_SBodyConsumerMap.setInitiaizer(_initializer); - m_SStatsConUserBuzzybyday.setInitiaizer(_initializer); + //m_SStatsConUserBuzzybyday.setInitiaizer(_initializer); + m_SStatsJson.setInitiaizer(_initializer); } bool SConsumer::makeOverallCategory(int _nCategory) @@ -140,8 +154,9 @@ bool SConsumer::makeTable(SDatagroup &_datagroup) m_pSInitializer->insertLog("Make Consumer Tables"); m_SBodyConsumerMap.makeTable(_datagroup, m_mapCategory); m_pSInitializer->insertLog("Make Body Tables"); - m_SStatsConUserBuzzybyday.makeTable(_datagroup, m_mapCategory); - m_pSInitializer->insertLog("Make Reply Tables"); + //m_SStatsConUserBuzzybyday.makeTable(_datagroup, m_mapCategory); + m_SStatsJson.makeTable(_datagroup, m_mapCategory); + m_pSInitializer->insertLog("Make stats_json Tables"); } return true; } @@ -325,9 +340,229 @@ void SConsumer::SReplyConsumerMap::makeTable(SDatagroup &_datagroup, const QMap< } } +void SConsumer::SStatsJson::makeTable(SDatagroup &_datagroup, const QMap &_mapCategory) +{ + const QMap* mapBody = _datagroup.getmapBody(); + const QMap >* mapReply = _datagroup.getmapReply(); + const int* anColumn = m_pSInitializer->getColumnIntArray(); + + QDate dateStart(2100,1,1),dateEnd(2000,1,1); + QList listBuzzy; + // filtered + { + for (QMap::const_iterator iterPos = _mapCategory.constBegin(); iterPos != _mapCategory.constEnd(); iterPos++) + { + stBuzzy stbuzzy; + stbuzzy.m_nCategory = iterPos.key(); + const stReal &streal = iterPos.value(); + foreach (const QString& strUrl, streal.m_setRealBodyUrl) + { + QDate date = QDateTime::fromString((*mapBody)[strUrl.trimmed()][anColumn[SInitializer::E_DATA_article_date]].trimmed().replace("T", " "), "yyyy-MM-dd HH:mm:ss").date(); + //if (date.isNull()) + // date = QDateTime::fromString((*mapBody)[strUrl.trimmed()][anColumn[SInitializer::E_DATA_article_date]].trimmed(), "yyyy-MM-dd HH:mm:ss").date(); + if (date.year() == 1990) + continue; + dateStart = (date < dateStart ) ? date : dateStart; + dateEnd = (date > dateEnd ) ? date : dateEnd; + + if (stbuzzy.m_mapBodyBuzz.contains(date)) + stbuzzy.m_mapBodyBuzz[date]++; + else + stbuzzy.m_mapBodyBuzz.insert(date, 1); + } + + for (QMap::const_iterator iterPos1 = streal.m_mapRealReplyUniqueUrl.constBegin(); iterPos1 != streal.m_mapRealReplyUniqueUrl.constEnd(); iterPos1++) + { + const QStringList &slReply = (*mapReply)[iterPos1.key()][iterPos1.value()]; + QDate date = QDateTime::fromString(slReply[anColumn[SInitializer::E_DATA_article_date]].trimmed().replace("T", " "), "yyyy-MM-dd HH:mm:ss").date(); + if (date.year() == 1990) + continue; + dateStart = (date < dateStart ) ? date : dateStart; + dateEnd = (date > dateEnd ) ? date : dateEnd; + if (stbuzzy.m_mapReplyBuzz.contains(date)) + stbuzzy.m_mapReplyBuzz[date]++; + else + stbuzzy.m_mapReplyBuzz.insert(date, 1); + } + + listBuzzy.append(stbuzzy); + } + } + //all buzzy + { + stBuzzy stbuzzy; + stbuzzy.m_nCategory = 0; + for (QMap::const_iterator iterPos = mapBody->constBegin(); iterPos != mapBody->constEnd(); iterPos++) + { + QDate date = QDateTime::fromString(iterPos.value()[anColumn[SInitializer::E_DATA_article_date]].trimmed().replace("T", " "), "yyyy-MM-dd HH:mm:ss").date(); + if (date.year() == 1990) + continue; + + if (stbuzzy.m_mapBodyBuzz.contains(date)) + stbuzzy.m_mapBodyBuzz[date]++; + else + stbuzzy.m_mapBodyBuzz.insert(date, 1); + } + + for (QMap >::const_iterator iterPos = mapReply->constBegin(); iterPos != mapReply->constEnd(); iterPos++) + { + for (QMap::const_iterator iterPos1 = iterPos.value().constBegin(); iterPos1 != iterPos.value().constEnd(); iterPos1++) + { + QDate date = QDateTime::fromString(iterPos1.value()[anColumn[SInitializer::E_DATA_article_date]].trimmed().replace("T", " "), "yyyy-MM-dd HH:mm:ss").date(); + if (date.year() == 1990) + continue; + + if (stbuzzy.m_mapReplyBuzz.contains(date)) + stbuzzy.m_mapReplyBuzz[date]++; + else + stbuzzy.m_mapReplyBuzz.insert(date, 1); + } + } + listBuzzy.append(stbuzzy); + } + + { + QJsonArray jsArrayAll; + QJsonArray jsArrayReply; + QJsonArray jsArrayBody; + + foreach (const stBuzzy &stbuzzy, listBuzzy) + { + QJsonArray jsValueAll; + QJsonArray jsValueBody; + QJsonArray jsValueReply; + + for (QDate i = dateStart; i <= dateEnd; i = i.addDays(1)) + { + QJsonObject jsoBody; + QJsonObject jsoAll; + QJsonObject jsoReply; + + jsoAll["date"] = jsoReply["date"] = jsoBody["date"] = i.toString("yyyyMMdd"); + jsoBody["count"] = stbuzzy.m_mapBodyBuzz[i]; + jsoReply["count"] = stbuzzy.m_mapReplyBuzz[i]; + jsoAll["count"] = stbuzzy.m_mapBodyBuzz[i] + stbuzzy.m_mapReplyBuzz[i]; + + jsValueAll.append(jsoAll); + jsValueBody.append(jsoBody); + jsValueReply.append(jsoReply); + } + + QJsonObject jsNameReply; + QJsonObject jsNameAll; + QJsonObject jsNameBody; + + if (stbuzzy.m_nCategory != 0) + jsNameReply["name"] = jsNameBody["name"] = jsNameAll["name"] = m_pSInitializer->getCategoryName(stbuzzy.m_nCategory); + else + jsNameReply["name"] = jsNameBody["name"] = jsNameAll["name"] = "ALL"; + + jsNameAll["value"] = jsValueAll; + jsNameBody["value"] = jsValueBody; + jsNameReply["value"] = jsValueReply; + + jsArrayAll.append(jsNameAll); + jsArrayBody.append(jsNameBody); + jsArrayReply.append(jsNameReply); + } + stStatsJson stbodybuzz; + stStatsJson streplybuzz; + stStatsJson stallbuzz; + + stallbuzz.title = streplybuzz.title = stbodybuzz.title = "buzz"; + stbodybuzz.subtitle = "body"; + streplybuzz.subtitle = "reply"; + stallbuzz.subtitle = "all"; + + QJsonDocument jdAll(jsArrayAll); + QJsonDocument jdReply(jsArrayReply); + QJsonDocument jdBody(jsArrayBody); + + stbodybuzz.jdata = jdBody.toJson(); + streplybuzz.jdata = jdReply.toJson(); + stallbuzz.jdata = jdAll.toJson(); + streplybuzz.subpagenum = stallbuzz.subpagenum = stbodybuzz.subpagenum = 1; + + stallbuzz.platformname_num = stbodybuzz.platformname_num = streplybuzz.platformname_num = 1; + m_listMap.append(stbodybuzz); + m_listMap.append(streplybuzz); + m_listMap.append(stallbuzz); + } + + /* + + { + for (QDate i = dateStart; i <= dateEnd; i = i.addDays(1)) + { + //body + stStatsJson stbodybuzz; + stStatsJson streplybuzz; + stStatsJson stallbuzz; + foreach (const stBuzzy& stbuzzy, listBuzzy) + { + if (stbuzzy.m_mapBodyBuzz.contains(i)) + { + stbodybuzz.category[stbuzzy.m_nCategory] = stbuzzy.m_mapBodyBuzz[i]; + stallbuzz.category[stbuzzy.m_nCategory] += stbuzzy.m_mapBodyBuzz[i]; + } + + if (stbuzzy.m_mapReplyBuzz.contains(i)) + { + streplybuzz.category[stbuzzy.m_nCategory] = stbuzzy.m_mapReplyBuzz[i]; + stallbuzz.category[stbuzzy.m_nCategory] += stbuzzy.m_mapReplyBuzz[i]; + } + } + stallbuzz.date = streplybuzz.date = stbodybuzz.date = i; + stbodybuzz.subtitle = "body"; + streplybuzz.subtitle = "reply"; + stallbuzz.subtitle = "all"; + m_listMap.append(stallbuzz); + m_listMap.append(stbodybuzz); + m_listMap.append(streplybuzz); + } + } + */ +} + +bool SConsumer::SStatsJson::uploadData(QSqlDatabase &_db, const int &_nCompany) +{ + QSqlQuery query(_db); + { + QString strQuery = "delete from stats_json where company_num = " + QString::number(_nCompany) + " and servicenum = 2 and title = 'buzz'"; + if (!query.exec(strQuery.toUtf8())) + { + m_pSInitializer->insertLog(query.lastQuery()); + m_pSInitializer->insertLog(query.lastError().text()); + return false; + } + } + + foreach (const stStatsJson& ststats, m_listMap) + { + QString strQuery = "insert into stats_json (company_num, servicenum, subpagenum, title, subtitle, category_num, platformname_num, jdata) values ("; + strQuery += QString::number(_nCompany) + ","; + strQuery += QString::number(ststats.servicenum) + ","; + strQuery += QString::number(ststats.subpagenum) + ","; + strQuery += "'" + ststats.title + "',"; + strQuery += "'" + ststats.subtitle + "',"; + strQuery += QString::number(ststats.category_num) + ","; + strQuery += QString::number(ststats.platformname_num) + ","; + strQuery += "'" + ststats.jdata +"')"; + + if (!query.exec(strQuery.toUtf8())) + { + m_pSInitializer->insertLog(query.lastQuery()); + m_pSInitializer->insertLog(query.lastError().text()); + return false; + } + } + return true; +} + +/* void SConsumer::SStatsConUserBuzzybyday::makeTable(SDatagroup &_datagroup, const QMap &_mapCategory) { - /* + const QMap* mapBody = _datagroup.getmapBody(); const QMap >* mapReply = _datagroup.getmapReply(); const int* anColumn = m_pSInitializer->getColumnIntArray(); @@ -440,9 +675,9 @@ void SConsumer::SStatsConUserBuzzybyday::makeTable(SDatagroup &_datagroup, const m_listMap.append(streplybuzz); } } - */ -} +} +*/ /* bool SConsumer::SStatsConUserBuzzybyday::changeTable(QSqlDatabase &_db, const int &_nCompany) { @@ -503,7 +738,7 @@ bool SConsumer::SStatsConUserBuzzybyday::uploadData(QSqlDatabase &_db, const int } */ - +/* bool SConsumer::SStatsConUserBuzzybyday::uploadData(QSqlDatabase &_db, const int &_nCompany) { //_db.transaction(); @@ -547,3 +782,4 @@ bool SConsumer::SStatsConUserBuzzybyday::uploadData(QSqlDatabase &_db, const int //_db.commit(); return true; } +*/ diff --git a/sfilterprocess/sconsumer.h b/sfilterprocess/sconsumer.h index 4ebf14f..57085b4 100644 --- a/sfilterprocess/sconsumer.h +++ b/sfilterprocess/sconsumer.h @@ -3,6 +3,7 @@ #include "sservice.h" #include "sfilteralgorithm.h" #include + class SConsumer:public SService { public: @@ -36,6 +37,7 @@ public: int realin; stReplyConsumerMap():num(0), reply_num(0), body_num(0), id_num(0), category_num(0), realin(0) {} }; + /* struct stStatsConUserBuzzybyday { int category[11]; @@ -48,6 +50,20 @@ public: category[i] = 0; } }; + */ + struct stStatsJson + { + int company_num; + int servicenum; + int subpagenum; + QString title; + QString subtitle; + int platformname_num; + QString jdata; + int category_num; + stStatsJson():company_num(0), servicenum(2), subpagenum(0), platformname_num(1), category_num(0){} + }; + struct stBuzzy { int m_nCategory; @@ -80,6 +96,7 @@ public: void clear(){ m_listMap.clear(); } }; + /* class SStatsConUserBuzzybyday { private: @@ -92,12 +109,26 @@ public: bool uploadData(QSqlDatabase& _db, const int &_nCompany); void clear(){ m_listMap.clear(); } }; + */ + + class SStatsJson + { + private: + SInitializer *m_pSInitializer; + QList m_listMap; + public: + void setInitiaizer(SInitializer &_SInitializer) { m_pSInitializer = &_SInitializer; } + void makeTable(SDatagroup &_datagroup, const QMap& _mapCategory); + bool uploadData(QSqlDatabase& _db, const int &_nCompany); + void clear(){ m_listMap.clear(); } + }; private: SFilterAlgorithm m_SFilterAlgorithm; QMap m_mapCategory; SBodyConsumerMap m_SBodyConsumerMap; - SStatsConUserBuzzybyday m_SStatsConUserBuzzybyday; + //SStatsConUserBuzzybyday m_SStatsConUserBuzzybyday; + SStatsJson m_SStatsJson; public: virtual void setInitiaizer(SInitializer &_initializer); diff --git a/sfilterprocess/sdatagroup.cpp b/sfilterprocess/sdatagroup.cpp index 227fa2d..09faaef 100644 --- a/sfilterprocess/sdatagroup.cpp +++ b/sfilterprocess/sdatagroup.cpp @@ -305,7 +305,6 @@ bool SDatagroup::makeTable() { stId stid; stid.num = nId++; - stid.community_num = 0;//m_SCommunity.get(m_SCommunity.getCommunityKey(strListBody).trimmed())->num; stid.platformname_num = m_pSInitializer->getPlatformName(strListBody[anColumn[SInitializer::E_DATA_platform_name]].trimmed()); stid.id = strListBody[anColumn[SInitializer::E_DATA_article_id]].trimmed(); m_SId.put(strListBody[anColumn[SInitializer::E_DATA_article_id]].trimmed(), stid); @@ -316,6 +315,7 @@ bool SDatagroup::makeTable() stNickname stnickname; stnickname.nickname = strListBody[anColumn[SInitializer::E_DATA_article_nickname]]; stnickname.num = nNickname++; + stnickname.platformname_num = m_pSInitializer->getPlatformName(strListBody[anColumn[SInitializer::E_DATA_platform_name]].trimmed()); m_SNickname.put(strListBody[anColumn[SInitializer::E_DATA_article_nickname]].trimmed(), stnickname); } @@ -335,7 +335,7 @@ bool SDatagroup::makeTable() { stId stid; stid.num = nId++; - stid.community_num = 0;//m_SCommunity.get(m_SCommunity.getCommunityKey(strListBody).trimmed())->num; + //stid.community_num = 0;//m_SCommunity.get(m_SCommunity.getCommunityKey(strListBody).trimmed())->num; stid.platformname_num = m_pSInitializer->getPlatformName(strListReply[anColumn[SInitializer::E_DATA_platform_name]].trimmed()); stid.id = strListReply[anColumn[SInitializer::E_DATA_article_id]].trimmed(); m_SId.put(strListReply[anColumn[SInitializer::E_DATA_article_id]].trimmed(), stid); @@ -1027,15 +1027,14 @@ bool SDatagroup::SId::uploadData(QSqlDatabase &_db, const int &_nCompany) m_pSInitializer->insertLog(query.lastError().text()); return false; } - strQuery = QString("insert into id_" + QString::number(_nCompany) + "_update (num,id,platformname_num,community_num) values ("); + strQuery = QString("insert into id_" + QString::number(_nCompany) + "_update (num,id,platformname_num) values ("); foreach (const stId& _ids, m_mapId.values()) { QString str = strQuery; str += QString::number(_ids.num) + ","; str += "'" + _ids.id + "',"; - str += QString::number(_ids.platformname_num) + ","; - str += QString::number(_ids.community_num) + ")"; + str += QString::number(_ids.platformname_num) + ")"; if (!query.exec(str.toUtf8())) { @@ -1142,7 +1141,7 @@ bool SDatagroup::SNickname::uploadData(QSqlDatabase &_db, const int &_nCompany) return false; } - strQuery = QString("insert into nickname_" + QString::number(_nCompany) + "_update (num,nickname,id_num,exnickname) values ("); + strQuery = QString("insert into nickname_" + QString::number(_nCompany) + "_update (num,nickname,id_num,platformname_num,exnickname) values ("); foreach (const stNickname& stnickname, m_mapNickname.values()) { @@ -1150,6 +1149,7 @@ bool SDatagroup::SNickname::uploadData(QSqlDatabase &_db, const int &_nCompany) str += QString::number(stnickname.num) + ","; str += "'" + sqlString(stnickname.nickname).replace(QChar(160),"") + "',"; str += QString::number(stnickname.id_num) + ","; + str += QString::number(stnickname.platformname_num) + ","; str += "'" + sqlString(UniCodeToEucKr(stnickname.nickname)) + "')"; if (!query.exec(str.toUtf8())) { @@ -1198,28 +1198,28 @@ QString UniCodeToEucKr(const QString& _strData) QString SDatagroup::SCommunity::getCommunityKey(const QStringList &_strList) { QString str; - if (_strList[m_pSInitializer->getColumnIntArray()[SInitializer::E_DATA_platform_name]].trimmed() == "naver" || _strList[m_pSInitializer->getColumnIntArray()[SInitializer::E_DATA_platform_name]].trimmed() == "daum") + if ((_strList[((m_pSInitializer->getColumnIntArray())[SInitializer::E_DATA_platform_name])].trimmed() == "naver") || (_strList[((m_pSInitializer->getColumnIntArray())[SInitializer::E_DATA_platform_name])].trimmed() == "daum")) { - str.append(_strList[m_pSInitializer->getColumnIntArray()[SInitializer::E_DATA_platform_form]].trimmed()); + str.append(_strList[((m_pSInitializer->getColumnIntArray())[SInitializer::E_DATA_platform_form])].trimmed()); str.append("."); - str.append(_strList[m_pSInitializer->getColumnIntArray()[SInitializer::E_DATA_platform_name]].trimmed()); + str.append(_strList[((m_pSInitializer->getColumnIntArray())[SInitializer::E_DATA_platform_name])].trimmed()); str.append(".com/"); - str.append(_strList[m_pSInitializer->getColumnIntArray()[SInitializer::E_DATA_platform_id]].trimmed()); + str.append(_strList[((m_pSInitializer->getColumnIntArray())[SInitializer::E_DATA_platform_id])].trimmed()); } - else if (_strList[m_pSInitializer->getColumnIntArray()[SInitializer::E_DATA_platform_name]].trimmed() == "instagram") + else if (_strList[((m_pSInitializer->getColumnIntArray())[SInitializer::E_DATA_platform_name])].trimmed() == "instagram") { str.append("instagram.com/"); - str.append(_strList[m_pSInitializer->getColumnIntArray()[SInitializer::E_DATA_platform_id]].trimmed()); + str.append(_strList[((m_pSInitializer->getColumnIntArray())[SInitializer::E_DATA_platform_id])].trimmed()); } - else if (_strList[m_pSInitializer->getColumnIntArray()[SInitializer::E_DATA_platform_name]].trimmed() == "kakaostory") + else if (_strList[((m_pSInitializer->getColumnIntArray())[SInitializer::E_DATA_platform_name])].trimmed() == "kakaostory") { str.append("story.kakao.com/"); - str.append(_strList[m_pSInitializer->getColumnIntArray()[SInitializer::E_DATA_platform_id]].trimmed()); + str.append(_strList[((m_pSInitializer->getColumnIntArray())[SInitializer::E_DATA_platform_id])].trimmed()); } - else if (_strList[m_pSInitializer->getColumnIntArray()[SInitializer::E_DATA_platform_name]].trimmed() == "facebook") + else if (_strList[((m_pSInitializer->getColumnIntArray())[SInitializer::E_DATA_platform_name])].trimmed() == "facebook") { str.append("facebook.com/"); - str.append(_strList[m_pSInitializer->getColumnIntArray()[SInitializer::E_DATA_platform_id]].trimmed()); + str.append(_strList[((m_pSInitializer->getColumnIntArray())[SInitializer::E_DATA_platform_id])].trimmed()); } return str.trimmed(); } diff --git a/sfilterprocess/sdatagroup.h b/sfilterprocess/sdatagroup.h index abe510c..2eef05e 100644 --- a/sfilterprocess/sdatagroup.h +++ b/sfilterprocess/sdatagroup.h @@ -95,16 +95,16 @@ public: { int num; QString id; - int community_num; int platformname_num; - stId():num(0), id("(none)"), community_num(0), platformname_num(1) {} + stId():num(0), id("(none)"), platformname_num(1) {} }; struct stNickname { int num; QString nickname; int id_num; - stNickname():num(0) {} + int platformname_num; + stNickname():num(0), platformname_num(0) {} }; struct stProfileurlKey { diff --git a/sfilterprocess/sfilterprocess.pro.user b/sfilterprocess/sfilterprocess.pro.user index b4f35ed..35c231a 100644 --- a/sfilterprocess/sfilterprocess.pro.user +++ b/sfilterprocess/sfilterprocess.pro.user @@ -1,6 +1,6 @@ - + EnvironmentId @@ -787,7 +787,7 @@ sfilterprocess Qt4ProjectManager.Qt4RunConfiguration:C:/source/sfilterprocess/sfilterprocess.pro - "427" "test" + "465" "test2y" sfilterprocess.pro false true diff --git a/sfilterprocess/sinfluencer.cpp b/sfilterprocess/sinfluencer.cpp index af78153..e0eb11a 100644 --- a/sfilterprocess/sinfluencer.cpp +++ b/sfilterprocess/sinfluencer.cpp @@ -775,13 +775,32 @@ bool SInfluencer::SBodyInfluencerMap::uploadData(QSqlDatabase &_db, const int &_ } - - void SInfluencer::SReplyInfluencerMap::makeTable(SDatagroup &_datagroup, const QMap &_mapCategory) { + enum E_SERVICE + { + E_SERVICE_INFLUENCER = 1, + E_SERVICE_CONSUMER, + E_SERVICE_SPAMMER, + E_SERVICE_POWERCAFE + }; + int num = 0; const QMap >* mapReply = _datagroup.getmapReply(); +/* + int nAll = 0; + for (QMap::const_iterator iterPos = _mapCategory.constBegin(); iterPos != _mapCategory.constEnd(); iterPos++) + { + if (iterPos.value().m_mapRealReplyUniqueUrl.size() > 0) + ++nAll; + } + + bool bAll = true; + if (_mapCategory.size() == nAll) + bAll = false; +*/ + for (QMap::const_iterator iterPos = _mapCategory.constBegin(); iterPos != _mapCategory.constEnd(); iterPos++) { const stReal& streal = iterPos.value(); @@ -819,7 +838,7 @@ void SInfluencer::SReplyInfluencerMap::makeTable(SDatagroup &_datagroup, const Q streply.reply_num = _datagroup.getstReply(_url, iterPos1.key())->num; streply.community_num = _datagroup.getstReply(_url, iterPos1.key())->community_num; streply.body_date = _datagroup.getstBody(_url)->date; - _datagroup.addRealReplyCategory(iterPos1.value()[SInitializer::E_DATA_article_url].trimmed(), iterPos1.key(), iterPos.key()); + _datagroup.addRealReplyCategory((iterPos1.value()[SInitializer::E_DATA_article_url]).trimmed(), iterPos1.key(), iterPos.key()); m_listMap.append(streply); } } diff --git a/sfilterprocess/sinitializer.cpp b/sfilterprocess/sinitializer.cpp index 81691c4..2c989c0 100644 --- a/sfilterprocess/sinitializer.cpp +++ b/sfilterprocess/sinitializer.cpp @@ -309,7 +309,7 @@ bool SInitializer::initCategory() QSqlQuery query(m_sDBManager[SDBManager::E_DATABASE_WEB]); - QString strQuery = "select num, servicenum from category where company_num = "; + QString strQuery = "select num, servicenum, name from category where company_num = "; strQuery += QString::number(company_num) + " order by servicenum asc, num asc"; if (query.exec(strQuery.toUtf8()) == false) @@ -323,6 +323,8 @@ bool SInitializer::initCategory() while(query.next()) { + m_mapCategory.insert(query.value(0).toInt(), query.value(2).toString()); + switch(query.value(1).toInt()) { case E_SERVICE_INFLUENCER: @@ -361,6 +363,10 @@ bool SInitializer::initCategory() } return true; } +QString SInitializer::getCategoryName(int _nCategory) const +{ + return m_mapCategory.value(_nCategory); +} /* bool SInitializer::initConsumerCategory() @@ -405,12 +411,12 @@ bool SInitializer::initConsumerCategory() return true; } */ - +/* int SInitializer::getConsumerAllCategory() { return m_nConsumerAllCategory; } - +*/ const double* SInitializer::getSpammerParam() const { @@ -571,11 +577,12 @@ int SInitializer::getPlatformName(const QString &_name) { return m_stPlatform.m_mapPlatformName.value(_name.trimmed(), 1); } - +/* QMap* SInitializer::getConsumerCategory() { return &m_mapConsumerCategory; } +*/ double SInitializer::getInfluencerParam(int _BodyorReply) { return m_stInfluencerParam[_BodyorReply]; diff --git a/sfilterprocess/sinitializer.h b/sfilterprocess/sinitializer.h index 9350019..ad803ac 100644 --- a/sfilterprocess/sinitializer.h +++ b/sfilterprocess/sinitializer.h @@ -173,9 +173,10 @@ private: QMap > m_mapFilterGroup; // key : filtergroupid int m_nDataGroupNumber; stPlatform m_stPlatform; - QMap m_mapConsumerCategory; + //QMap m_mapConsumerCategory; int m_nConsumerAllCategory; int m_anAllCategory[E_SERVICE_MAX]; + QMap m_mapCategory; public: bool init(const QString& _strFilterProcessGroupID, const QString& _strFilterProcessGroupName); @@ -194,7 +195,7 @@ public: int getPlatformForm(const QString &_form); int getPlatformName(const QString &_name); QMap* getConsumerCategory(); - int getConsumerAllCategory(); + //int getConsumerAllCategory(); void closeConnection(const SDBManager::E_DATABASE _eDatabase); void closeConnection(const QString& _str); bool openConnection(const SDBManager::E_DATABASE _eDatabase); @@ -203,6 +204,7 @@ public: void updateWebDBInfoState(QSqlDatabase &_db, int _nCompany, QString _strStatus); void updateWebDBInfoComplete(QSqlDatabase _db, QString _mindate, QString _maxdate, QString _lastupdate, int _bodycount, int _replycount, int _nCompany); int getAllCategoryNum(int _nService); + QString getCategoryName(int _nCategory) const; //bool disableIndex(QSqlDatabase& db, QString _tableName, QStringList _strIndexNames, int _nMode = MODE); //bool enableIndex(QSqlDatabase& db, QString _tableName, QStringList _strIndexNames, int _nMode = MODE); //bool disableSettings(QSqlDatabase& db, int _nMode = MODE); diff --git a/sfilterprocess/spowercafe.cpp b/sfilterprocess/spowercafe.cpp index 2c38035..b8a2a52 100644 --- a/sfilterprocess/spowercafe.cpp +++ b/sfilterprocess/spowercafe.cpp @@ -110,8 +110,10 @@ bool SPowercafe::makeCategory(SDatagroup &_datagroup, int _nCategory, const QLis { foreach (const QStringList& strlist, vecData[SInitializer::E_ARTICLE_BODY]) { + /* if (strlist[anColumn[SInitializer::E_DATA_platform_form]].trimmed() != "cafe") continue; + */ streal.m_setRealAllUrl.insert(strlist[anColumn[SInitializer::E_DATA_article_url]].trimmed()); streal.m_setRealBodyUrl.insert(strlist[anColumn[SInitializer::E_DATA_article_url]].trimmed()); _datagroup.addRealUrl(strlist[anColumn[SInitializer::E_DATA_article_url]].trimmed()); @@ -122,8 +124,10 @@ bool SPowercafe::makeCategory(SDatagroup &_datagroup, int _nCategory, const QLis { foreach (const QStringList& strlist, vecData[SInitializer::E_ARTICLE_REPLY]) { + /* if (strlist[anColumn[SInitializer::E_DATA_platform_form]].trimmed() != "cafe") continue; + */ streal.m_setRealAllUrl.insert(strlist[anColumn[SInitializer::E_DATA_article_url]].trimmed()); streal.m_mapRealReplyUniqueUrl.insertMulti(strlist[anColumn[SInitializer::E_DATA_article_url]].trimmed(), strlist[anColumn[SInitializer::E_DATA_article_order]].trimmed().toInt()); @@ -191,9 +195,10 @@ void SPowercafe::STPowercafe::makeTable(SDatagroup &_datagroup, const QMap::const_iterator iterPos = mapBody->constBegin(); iterPos != mapBody->constEnd(); iterPos++) { + /* if (iterPos.value()[anColumn[SInitializer::E_DATA_platform_form]].trimmed() != "cafe") continue; - + */ QString strKey = iterPos.value()[anColumn[SInitializer::E_DATA_platform_id]].trimmed(); if (!mapPowercafeAll.contains(strKey)) { @@ -208,9 +213,10 @@ void SPowercafe::STPowercafe::makeTable(SDatagroup &_datagroup, const QMap::const_iterator iterPos1 = iterPos.value().constBegin(); iterPos1 != iterPos.value().constEnd(); iterPos1++) { + /* if (iterPos1.value()[anColumn[SInitializer::E_DATA_platform_form]].trimmed() != "cafe") continue; - + */ QString strKey = iterPos1.value().at(anColumn[SInitializer::E_DATA_platform_id]).trimmed(); if (!mapPowercafeAll.contains(strKey)) { @@ -395,9 +401,10 @@ void SPowercafe::SStatsPowCafeRank::makeTable(SDatagroup &_datagroup, const QMap QMap mapPowercafeAll; for (QMap::const_iterator iterPos = mapBody->constBegin(); iterPos != mapBody->constEnd(); iterPos++) { + /* if (iterPos.value()[anColumn[SInitializer::E_DATA_platform_form]].trimmed() != "cafe") continue; - + */ QString strKey = iterPos.value()[anColumn[SInitializer::E_DATA_platform_id]].trimmed(); if (!mapPowercafeAll.contains(strKey)) { @@ -413,9 +420,10 @@ void SPowercafe::SStatsPowCafeRank::makeTable(SDatagroup &_datagroup, const QMap { for (QMap::const_iterator iterPos1 = iterPos.value().constBegin(); iterPos1 != iterPos.value().constEnd(); iterPos1++) { + /* if (iterPos1.value()[anColumn[SInitializer::E_DATA_platform_form]].trimmed() != "cafe") continue; - + */ QString strKey = iterPos1.value()[anColumn[SInitializer::E_DATA_platform_id]].trimmed(); if (!mapPowercafeAll.contains(strKey)) {