카테고리 업데이트 된 필터 프로세스 (아직 미완성)

git-svn-id: svn://192.168.0.12/source@274 8346c931-da38-4b9b-9d4c-e48b93cbd075
This commit is contained in:
admin
2016-06-03 09:51:17 +00:00
parent 994b1bec76
commit 9026343ba2
9 changed files with 345 additions and 42 deletions

View File

@@ -5,6 +5,10 @@
#include <QDebug>
#include <QDateTime>
#include <QDate>
#include <QJsonArray>
#include <QJsonObject>
#include <QJsonDocument>
#include <QJsonValue>
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<int, stReal> &_mapCategory)
{
const QMap<QString, QStringList>* mapBody = _datagroup.getmapBody();
const QMap<QString, QMap<int, QStringList> >* mapReply = _datagroup.getmapReply();
const int* anColumn = m_pSInitializer->getColumnIntArray();
QDate dateStart(2100,1,1),dateEnd(2000,1,1);
QList<stBuzzy> listBuzzy;
// filtered
{
for (QMap<int, stReal>::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<QString, int>::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<QString, QStringList>::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<QString, QMap<int, QStringList> >::const_iterator iterPos = mapReply->constBegin(); iterPos != mapReply->constEnd(); iterPos++)
{
for (QMap<int, QStringList>::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<int, stReal> &_mapCategory)
{
/*
const QMap<QString, QStringList>* mapBody = _datagroup.getmapBody();
const QMap<QString, QMap<int, QStringList> >* 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;
}
*/

View File

@@ -3,6 +3,7 @@
#include "sservice.h"
#include "sfilteralgorithm.h"
#include <QDate>
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<stStatsJson> m_listMap;
public:
void setInitiaizer(SInitializer &_SInitializer) { m_pSInitializer = &_SInitializer; }
void makeTable(SDatagroup &_datagroup, const QMap<int, stReal>& _mapCategory);
bool uploadData(QSqlDatabase& _db, const int &_nCompany);
void clear(){ m_listMap.clear(); }
};
private:
SFilterAlgorithm m_SFilterAlgorithm;
QMap<int, stReal> m_mapCategory;
SBodyConsumerMap m_SBodyConsumerMap;
SStatsConUserBuzzybyday m_SStatsConUserBuzzybyday;
//SStatsConUserBuzzybyday m_SStatsConUserBuzzybyday;
SStatsJson m_SStatsJson;
public:
virtual void setInitiaizer(SInitializer &_initializer);

View File

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

View File

@@ -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
{

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE QtCreatorProject>
<!-- Written by QtCreator 3.3.0, 2016-05-03T18:01:56. -->
<!-- Written by QtCreator 3.3.0, 2016-06-03T16:06:41. -->
<qtcreator>
<data>
<variable>EnvironmentId</variable>
@@ -787,7 +787,7 @@
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">sfilterprocess</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4RunConfiguration:C:/source/sfilterprocess/sfilterprocess.pro</value>
<value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.CommandLineArguments">&quot;427&quot; &quot;test&quot;</value>
<value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.CommandLineArguments">&quot;465&quot; &quot;test2y&quot;</value>
<value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.ProFile">sfilterprocess.pro</value>
<value type="bool" key="Qt4ProjectManager.Qt4RunConfiguration.UseDyldImageSuffix">false</value>
<value type="bool" key="Qt4ProjectManager.Qt4RunConfiguration.UseTerminal">true</value>

View File

@@ -775,13 +775,32 @@ bool SInfluencer::SBodyInfluencerMap::uploadData(QSqlDatabase &_db, const int &_
}
void SInfluencer::SReplyInfluencerMap::makeTable(SDatagroup &_datagroup, const QMap<int, stReal> &_mapCategory)
{
enum E_SERVICE
{
E_SERVICE_INFLUENCER = 1,
E_SERVICE_CONSUMER,
E_SERVICE_SPAMMER,
E_SERVICE_POWERCAFE
};
int num = 0;
const QMap<QString, QMap<int, QStringList> >* mapReply = _datagroup.getmapReply();
/*
int nAll = 0;
for (QMap<int, stReal>::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<int, stReal>::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);
}
}

View File

@@ -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<int, int>* SInitializer::getConsumerCategory()
{
return &m_mapConsumerCategory;
}
*/
double SInitializer::getInfluencerParam(int _BodyorReply)
{
return m_stInfluencerParam[_BodyorReply];

View File

@@ -173,9 +173,10 @@ private:
QMap<int, QList<stFilter> > m_mapFilterGroup; // key : filtergroupid
int m_nDataGroupNumber;
stPlatform m_stPlatform;
QMap<int, int> m_mapConsumerCategory;
//QMap<int, int> m_mapConsumerCategory;
int m_nConsumerAllCategory;
int m_anAllCategory[E_SERVICE_MAX];
QMap<int, QString> 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<int, int>* 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);

View File

@@ -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<int,
for (QMap<QString, QStringList>::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<int,
{
for (QMap<int, QStringList>::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<QString, stStatsPowCafeRank> mapPowercafeAll;
for (QMap<QString, QStringList>::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<int, QStringList>::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))
{