전체 카테고리 전부 삭제
컨슈머 마케터/즐겨찾기 업데이트 git-svn-id: svn://192.168.0.12/source@282 8346c931-da38-4b9b-9d4c-e48b93cbd075
This commit is contained in:
@@ -183,10 +183,12 @@ void SConsumer::SBodyConsumerMap::makeTable(SDatagroup &_datagroup, const QMap<i
|
||||
|
||||
stbody.platformname_num = _datagroup.getstBody(strUrl)->platformname_num;
|
||||
stbody.platformform_num = _datagroup.getstBody(strUrl)->platformform_num;
|
||||
stbody.body_date = _datagroup.getstBody(strUrl)->date;
|
||||
stbody.body_replycount = _datagroup.getstBody(strUrl)->replycount;
|
||||
stbody.body_view = _datagroup.getstBody(strUrl)->view;
|
||||
stbody.body_id_num = _datagroup.getstBody(strUrl)->id_num;
|
||||
stbody.date = _datagroup.getstBody(strUrl)->date;
|
||||
stbody.replycount = _datagroup.getstBody(strUrl)->replycount;
|
||||
stbody.view = _datagroup.getstBody(strUrl)->view;
|
||||
stbody.id_num = _datagroup.getstBody(strUrl)->id_num;
|
||||
stbody.community_num = _datagroup.getstBody(strUrl)->community_num;
|
||||
stbody.nickname_num = _datagroup.getstBody(strUrl)->nickname_num;
|
||||
|
||||
if (streal.m_mapRealReplyUniqueUrl.contains(strUrl))
|
||||
{
|
||||
@@ -210,10 +212,12 @@ void SConsumer::SBodyConsumerMap::makeTable(SDatagroup &_datagroup, const QMap<i
|
||||
|
||||
stbody.platformname_num = _datagroup.getstBody(strUrl)->platformname_num;
|
||||
stbody.platformform_num = _datagroup.getstBody(strUrl)->platformform_num;
|
||||
stbody.body_date = _datagroup.getstBody(strUrl)->date;
|
||||
stbody.body_replycount = _datagroup.getstBody(strUrl)->replycount;
|
||||
stbody.body_view = _datagroup.getstBody(strUrl)->view;
|
||||
stbody.body_id_num = _datagroup.getstBody(strUrl)->id_num;
|
||||
stbody.date = _datagroup.getstBody(strUrl)->date;
|
||||
stbody.replycount = _datagroup.getstBody(strUrl)->replycount;
|
||||
stbody.view = _datagroup.getstBody(strUrl)->view;
|
||||
stbody.id_num = _datagroup.getstBody(strUrl)->id_num;
|
||||
stbody.community_num = _datagroup.getstBody(strUrl)->community_num;
|
||||
stbody.nickname_num = _datagroup.getstBody(strUrl)->nickname_num;
|
||||
|
||||
foreach (int order, streal.m_mapRealReplyUniqueUrl.values(strUrl))
|
||||
{
|
||||
@@ -288,7 +292,7 @@ bool SConsumer::SBodyConsumerMap::uploadData(QSqlDatabase &_db, const int &_nCom
|
||||
}
|
||||
|
||||
strQuery = QString("insert into body_consumer_map_" + QString::number(_nCompany) +
|
||||
"_update (num,body_num,category_num,realin,platformname_num,platformform_num,body_date,body_replycount,body_view,body_id_num) VALUES (");
|
||||
"_update (num,body_num,category_num,realin,platformname_num,platformform_num,date,replycount,view,id_num,community_num,nickname_num) VALUES (");
|
||||
|
||||
query.clear();
|
||||
|
||||
@@ -301,10 +305,12 @@ bool SConsumer::SBodyConsumerMap::uploadData(QSqlDatabase &_db, const int &_nCom
|
||||
str += QString::number(stbody.realin) + ",";
|
||||
str += QString::number(stbody.platformname_num) + ",";
|
||||
str += QString::number(stbody.platformform_num) + ",";
|
||||
str += "'" + stbody.body_date + "',";
|
||||
str += QString::number(stbody.body_replycount) + ",";
|
||||
str += QString::number(stbody.body_view) + ",";
|
||||
str += QString::number(stbody.body_id_num) + ")";
|
||||
str += "'" + stbody.date + "',";
|
||||
str += QString::number(stbody.replycount) + ",";
|
||||
str += QString::number(stbody.view) + ",";
|
||||
str += QString::number(stbody.id_num) + ",";
|
||||
str += QString::number(stbody.community_num) + ",";
|
||||
str += QString::number(stbody.nickname_num) + ")";
|
||||
|
||||
if (query.exec(str.toUtf8()) == false)
|
||||
{
|
||||
@@ -354,6 +360,7 @@ void SConsumer::SStatsJson::makeTable(SDatagroup &_datagroup, const QMap<int, st
|
||||
QDate dateStartReply(2100,1,1),dateEndReply(2000,1,1);
|
||||
|
||||
QList<stBuzzy> listBuzzy;
|
||||
stReal allCategory;
|
||||
// filtered
|
||||
{
|
||||
for (QMap<int, stReal>::const_iterator iterPos = _mapCategory.constBegin(); iterPos != _mapCategory.constEnd(); iterPos++)
|
||||
@@ -363,6 +370,8 @@ void SConsumer::SStatsJson::makeTable(SDatagroup &_datagroup, const QMap<int, st
|
||||
const stReal &streal = iterPos.value();
|
||||
foreach (const QString& strUrl, streal.m_setRealBodyUrl)
|
||||
{
|
||||
allCategory.m_setRealBodyUrl.insert(strUrl);
|
||||
allCategory.m_setRealAllUrl.insert(strUrl);
|
||||
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();
|
||||
@@ -383,6 +392,9 @@ void SConsumer::SStatsJson::makeTable(SDatagroup &_datagroup, const QMap<int, st
|
||||
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()];
|
||||
if (!allCategory.m_mapRealReplyUniqueUrl.contains(iterPos1.key()) || !allCategory.m_mapRealReplyUniqueUrl.values(iterPos1.key()).contains(iterPos1.value()))
|
||||
allCategory.m_mapRealReplyUniqueUrl.insertMulti(iterPos1.key(), iterPos1.value());
|
||||
allCategory.m_setRealAllUrl.insert(iterPos1.key());
|
||||
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;
|
||||
@@ -400,6 +412,37 @@ void SConsumer::SStatsJson::makeTable(SDatagroup &_datagroup, const QMap<int, st
|
||||
listBuzzy.append(stbuzzy);
|
||||
}
|
||||
}
|
||||
//all filtered category
|
||||
{
|
||||
stBuzzy stbuzzy;
|
||||
stbuzzy.m_nCategory = -1;
|
||||
foreach (const QString& strUrl, allCategory.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.year() == 1990)
|
||||
continue;
|
||||
|
||||
if (stbuzzy.m_mapBodyBuzz.contains(date))
|
||||
stbuzzy.m_mapBodyBuzz[date]++;
|
||||
else
|
||||
stbuzzy.m_mapBodyBuzz.insert(date, 1);
|
||||
}
|
||||
|
||||
for (QMap<QString, int>::const_iterator iterPos1 = allCategory.m_mapRealReplyUniqueUrl.constBegin(); iterPos1 != allCategory.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;
|
||||
|
||||
if (stbuzzy.m_mapReplyBuzz.contains(date))
|
||||
stbuzzy.m_mapReplyBuzz[date]++;
|
||||
else
|
||||
stbuzzy.m_mapReplyBuzz.insert(date, 1);
|
||||
}
|
||||
listBuzzy.append(stbuzzy);
|
||||
}
|
||||
|
||||
//all buzzy
|
||||
{
|
||||
stBuzzy stbuzzy;
|
||||
@@ -435,9 +478,8 @@ void SConsumer::SStatsJson::makeTable(SDatagroup &_datagroup, const QMap<int, st
|
||||
|
||||
int nTotalCount = 0, nTotalBodyCount = 0, nTotalReplyCount = 0;
|
||||
|
||||
if (_mapCategory.contains(m_pSInitializer->getAllCategoryNum(2)))
|
||||
{
|
||||
foreach (const QString& strUrl, _mapCategory[m_pSInitializer->getAllCategoryNum(2)].m_setRealAllUrl)
|
||||
foreach (const QString& strUrl, allCategory.m_setRealAllUrl)
|
||||
{
|
||||
nTotalBodyCount++;
|
||||
nTotalReplyCount += (*mapReply)[strUrl].size();
|
||||
@@ -477,10 +519,12 @@ void SConsumer::SStatsJson::makeTable(SDatagroup &_datagroup, const QMap<int, st
|
||||
QJsonObject jsNameAll;
|
||||
QJsonObject jsNameBody;
|
||||
|
||||
if (stbuzzy.m_nCategory != 0)
|
||||
if (stbuzzy.m_nCategory > 0)
|
||||
jsNameReply["name"] = jsNameBody["name"] = jsNameAll["name"] = m_pSInitializer->getCategoryName(stbuzzy.m_nCategory);
|
||||
else
|
||||
else if (stbuzzy.m_nCategory == 0)
|
||||
jsNameReply["name"] = jsNameBody["name"] = jsNameAll["name"] = "ALL";
|
||||
else
|
||||
jsNameReply["name"] = jsNameBody["name"] = jsNameAll["name"] = "ALLCATEGORY";
|
||||
|
||||
jsNameAll["value"] = jsValueAll;
|
||||
jsNameBody["value"] = jsValueBody;
|
||||
@@ -523,6 +567,7 @@ void SConsumer::SStatsJson::makeTable(SDatagroup &_datagroup, const QMap<int, st
|
||||
QJsonDocument jdBody(jobjBody);
|
||||
QJsonDocument jdReply(jobjReply);
|
||||
|
||||
|
||||
stbodybuzz.jdata = jdBody.toJson(QJsonDocument::Compact);
|
||||
streplybuzz.jdata = jdReply.toJson(QJsonDocument::Compact);
|
||||
stallbuzz.jdata = jdAll.toJson(QJsonDocument::Compact);
|
||||
@@ -826,3 +871,99 @@ bool SConsumer::SStatsConUserBuzzybyday::uploadData(QSqlDatabase &_db, const int
|
||||
return true;
|
||||
}
|
||||
*/
|
||||
|
||||
|
||||
bool SConsumerMarketer::makeTable(SDatagroup &_datagroup)
|
||||
{
|
||||
|
||||
const QMap<QString, QStringList>* mapBody = _datagroup.getmapBody();
|
||||
const QMap<QString, QMap<int, QStringList> >* mapReply = _datagroup.getmapReply();
|
||||
const int* anColumn = m_pSInitializer->getColumnIntArray();
|
||||
|
||||
QMap<int, QString> mapConsumerMarketer = m_pSInitializer->getConsumerMaketer();
|
||||
|
||||
for (QMap<int, QString>::iterator iterPos = mapConsumerMarketer.begin(); iterPos != mapConsumerMarketer.end(); ++iterPos)
|
||||
{
|
||||
if (iterPos.value().trimmed().isEmpty())
|
||||
continue;
|
||||
|
||||
|
||||
for (QMap<QString, QStringList>::const_iterator iterPos1 = mapBody->cbegin(); iterPos1 != mapBody->cend(); ++iterPos1)
|
||||
{
|
||||
if ((m_pSInitializer->getPlatformName(iterPos1.value()[anColumn[SInitializer::E_DATA_platform_name]].trimmed()) == iterPos.key())
|
||||
&& (iterPos.value() == iterPos1.value()[anColumn[SInitializer::E_DATA_article_id]].trimmed()))
|
||||
{
|
||||
_datagroup.addRealUrl(iterPos1.value()[anColumn[SInitializer::E_DATA_article_url]].trimmed());
|
||||
}
|
||||
}
|
||||
|
||||
for (QMap<QString, QMap<int, QStringList> >::const_iterator iterPos1 = mapReply->cbegin(); iterPos1 != mapReply->cend(); ++iterPos1)
|
||||
{
|
||||
for(QMap<int, QStringList>::const_iterator iterPos2 = iterPos1->cbegin(); iterPos2 != iterPos1->cend(); ++iterPos2)
|
||||
{
|
||||
if ((m_pSInitializer->getPlatformName(iterPos2.value()[anColumn[SInitializer::E_DATA_platform_name]].trimmed()) == iterPos.key())
|
||||
&& (iterPos.value() == iterPos2.value()[anColumn[SInitializer::E_DATA_article_id]].trimmed()))
|
||||
{
|
||||
_datagroup.addRealUrl(iterPos2.value()[anColumn[SInitializer::E_DATA_article_url]].trimmed());
|
||||
//_datagroup.addRealUrl(iterPos1.key().trimmed());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return true;
|
||||
|
||||
}
|
||||
|
||||
|
||||
bool SConsumerCheckList::makeTable(SDatagroup &_datagroup)
|
||||
{
|
||||
|
||||
QStringList slUrl = m_pSInitializer->getConsumerCheckList();
|
||||
QMap<int, QString> mapUsers = m_pSInitializer->getConsumerCheckListUser();
|
||||
if (slUrl.isEmpty() && mapUsers.isEmpty())
|
||||
return true;
|
||||
|
||||
const QMap<QString, QStringList>* mapBody = _datagroup.getmapBody();
|
||||
const QMap<QString, QMap<int, QStringList> >* mapReply = _datagroup.getmapReply();
|
||||
const int* anColumn = m_pSInitializer->getColumnIntArray();
|
||||
|
||||
const QStringList* pslorderedUrl = _datagroup.getOrderedUrl();
|
||||
|
||||
foreach (const QString& strUrl, *pslorderedUrl)
|
||||
{
|
||||
foreach (const QString& url, slUrl)
|
||||
{
|
||||
if (!url.trimmed().isEmpty() && strUrl.contains(url.trimmed()))
|
||||
_datagroup.addRealUrl(strUrl);
|
||||
}
|
||||
|
||||
for(QMap<int, QString>::iterator iterPos = mapUsers.begin(); iterPos != mapUsers.end(); ++iterPos)
|
||||
{
|
||||
if (iterPos.value().trimmed().isEmpty())
|
||||
continue;
|
||||
|
||||
if (m_pSInitializer->getPlatformName((*mapBody)[strUrl][anColumn[SInitializer::E_DATA_platform_name]].trimmed()) == iterPos.key()
|
||||
&& (*mapBody)[strUrl][anColumn[SInitializer::E_DATA_article_id]].trimmed() == iterPos.value().trimmed())
|
||||
{
|
||||
_datagroup.addRealUrl((*mapBody)[strUrl][anColumn[SInitializer::E_DATA_article_url]].trimmed());
|
||||
//_datagroup.addRealUrl(strUrl);
|
||||
}
|
||||
|
||||
if (mapReply->contains(strUrl))
|
||||
{
|
||||
for (QMap<int, QStringList>::const_iterator iterPos1 = (*mapReply)[strUrl].cbegin(); iterPos1 != (*mapReply)[strUrl].cend(); ++iterPos1)
|
||||
{
|
||||
if (m_pSInitializer->getPlatformName(iterPos1.value()[anColumn[SInitializer::E_DATA_platform_name]].trimmed()) == iterPos.key()
|
||||
&& iterPos1.value()[anColumn[SInitializer::E_DATA_article_id]].trimmed() == iterPos.value().trimmed())
|
||||
{
|
||||
//_datagroup.addRealUrl(strUrl);
|
||||
_datagroup.addRealUrl(iterPos1.value()[anColumn[SInitializer::E_DATA_article_url]].trimmed());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user