전체 카테고리 전부 삭제

컨슈머 마케터/즐겨찾기 업데이트

git-svn-id: svn://192.168.0.12/source@282 8346c931-da38-4b9b-9d4c-e48b93cbd075
This commit is contained in:
admin
2016-07-19 09:25:57 +00:00
parent b59813c4cd
commit 8212a845d0
14 changed files with 600 additions and 49 deletions

View File

@@ -183,7 +183,7 @@ bool SPowercafe::makeOverallCategory(int _categoryNum)
bool SPowercafe::makeTable(SDatagroup &_datagroup)
{
if (m_mapCategory.size() > 1)
if (m_mapCategory.size() > 0)
{
m_pSInitializer->insertLog("Make powercafe tables");
m_pSInitializer->insertLog("Make powercafe body tables");
@@ -628,7 +628,7 @@ void SPowercafe::SBodyPowercafeMap::makeTable(SDatagroup &_datagroup, const QMap
stbody.community_num = _datagroup.getstBody(strUrl)->community_num;
stbody.category_num = iterPos.key();
stbody.realin |= REAL_BODY;
stbody.body_date = _datagroup.getstBody(strUrl)->date;
stbody.date = _datagroup.getstBody(strUrl)->date;
stbody.platformname_num = _datagroup.getstBody(strUrl)->platformname_num;
m_listMap.append(stbody);
_datagroup.addRealBodyCategory(strUrl, iterPos.key());
@@ -717,7 +717,7 @@ bool SPowercafe::SBodyPowercafeMap::uploadData(QSqlDatabase &_db, const int &_nC
return false;
}
strQuery = "insert into body_powercafe_map_" + QString::number(_nCompany)
+ "_update (num,category_num,community_num,body_num,realin,body_date,platformname_num)"
+ "_update (num,category_num,community_num,body_num,realin,date,platformname_num)"
" values (";
query.clear();
@@ -729,7 +729,7 @@ bool SPowercafe::SBodyPowercafeMap::uploadData(QSqlDatabase &_db, const int &_nC
str += QString::number(stmap.community_num) + ",";
str += QString::number(stmap.body_num) + ",";
str += QString::number(stmap.realin) + ",";
str += "'" + stmap.body_date + "',";
str += "'" + stmap.date + "',";
str += QString::number(stmap.platformname_num) + ")";
@@ -911,6 +911,8 @@ void SPowercafe::SStatsJson::makeTable(SDatagroup &_datagroup, const QMap<int, s
}
*/
stReal allCategory;
for (QMap<int, stReal>::const_iterator iterPos = _mapCategory.constBegin(); iterPos != _mapCategory.constEnd(); iterPos++)
{
QMap<QString, stPowercafeRank> mapScore;
@@ -923,7 +925,8 @@ void SPowercafe::SStatsJson::makeTable(SDatagroup &_datagroup, const QMap<int, s
if (((*mapBody)[_url][anColumn[SInitializer::E_DATA_platform_form]].trimmed() == "blog")||
((*mapBody)[_url][anColumn[SInitializer::E_DATA_platform_form]].trimmed() == "news" ))
continue;
allCategory.m_setRealBodyUrl.insert(_url);
allCategory.m_setRealAllUrl.insert(_url);
QString strKey = (*mapBody)[_url][anColumn[SInitializer::E_DATA_platform_id]].trimmed() + ",";
strKey += ((*mapBody)[_url][anColumn[SInitializer::E_DATA_platform_name]].trimmed() + ",");
strKey += (*mapBody)[_url][anColumn[SInitializer::E_DATA_platform_form]].trimmed();
@@ -949,6 +952,10 @@ void SPowercafe::SStatsJson::makeTable(SDatagroup &_datagroup, const QMap<int, s
if (((*mapReply)[iterPos1.key()][iterPos1.value()][anColumn[SInitializer::E_DATA_platform_form]].trimmed() == "blog")||
((*mapReply)[iterPos1.key()][iterPos1.value()][anColumn[SInitializer::E_DATA_platform_form]].trimmed() == "news" ))
continue;
allCategory.m_setRealAllUrl.insert(iterPos1.key());
if (!allCategory.m_mapRealReplyUniqueUrl.contains(iterPos1.key()) || !allCategory.m_mapRealReplyUniqueUrl.values(iterPos1.key()).contains(iterPos1.value()))
allCategory.m_mapRealReplyUniqueUrl.insertMulti(iterPos1.key(), iterPos1.value());
QString strUrl = (*mapReply)[iterPos1.key()][iterPos1.value()][anColumn[SInitializer::E_DATA_article_url]].trimmed();
QString strKey = (*mapBody)[strUrl][anColumn[SInitializer::E_DATA_platform_id]].trimmed() + ",";
strKey += ((*mapBody)[strUrl][anColumn[SInitializer::E_DATA_platform_name]].trimmed() + ",");
@@ -1036,12 +1043,136 @@ void SPowercafe::SStatsJson::makeTable(SDatagroup &_datagroup, const QMap<int, s
stjsonRank.jdata = jsonDoc.toJson();
m_listMap.append(stjsonRank);
}
//all Category
{
QMap<QString, stPowercafeRank> mapScore;
const stReal& streal = allCategory;
QDate dateStart(2030, 1, 1);
QDate dateEnd(2000, 1, 1);
foreach (const QString& _url, streal.m_setRealBodyUrl)
{
if (((*mapBody)[_url][anColumn[SInitializer::E_DATA_platform_form]].trimmed() == "blog")||
((*mapBody)[_url][anColumn[SInitializer::E_DATA_platform_form]].trimmed() == "news" ))
continue;
QString strKey = (*mapBody)[_url][anColumn[SInitializer::E_DATA_platform_id]].trimmed() + ",";
strKey += ((*mapBody)[_url][anColumn[SInitializer::E_DATA_platform_name]].trimmed() + ",");
strKey += (*mapBody)[_url][anColumn[SInitializer::E_DATA_platform_form]].trimmed();
if (!mapScore.contains(strKey))
{
mapScore.insert(strKey, stPowercafeRank());
mapScore[strKey].url = _datagroup.getstCommunity((*mapBody)[_url])->url;
mapScore[strKey].community = _datagroup.getstCommunity((*mapBody)[_url])->title ;
if (mapScore[strKey].community.trimmed().isEmpty())
mapScore[strKey].community = _datagroup.getstCommunity((*mapBody)[_url])->id;
}
mapScore[strKey].count++;
QDate dateThis = QDateTime::fromString((*mapBody)[_url][anColumn[SInitializer::E_DATA_article_date]].trimmed().replace("T", " "), "yyyy-MM-dd hh:mm:ss").date();
if (dateThis.isValid() && dateThis.year() > 1990)
{
dateStart = (dateStart < dateThis) ? dateStart : dateThis;
dateEnd = (dateEnd > dateThis) ? dateEnd : dateThis;
}
}
for (QMap<QString, int>::const_iterator iterPos1 = streal.m_mapRealReplyUniqueUrl.constBegin(); iterPos1 != streal.m_mapRealReplyUniqueUrl.constEnd(); iterPos1++)
{
if (((*mapReply)[iterPos1.key()][iterPos1.value()][anColumn[SInitializer::E_DATA_platform_form]].trimmed() == "blog")||
((*mapReply)[iterPos1.key()][iterPos1.value()][anColumn[SInitializer::E_DATA_platform_form]].trimmed() == "news" ))
continue;
QString strUrl = (*mapReply)[iterPos1.key()][iterPos1.value()][anColumn[SInitializer::E_DATA_article_url]].trimmed();
QString strKey = (*mapBody)[strUrl][anColumn[SInitializer::E_DATA_platform_id]].trimmed() + ",";
strKey += ((*mapBody)[strUrl][anColumn[SInitializer::E_DATA_platform_name]].trimmed() + ",");
strKey += (*mapBody)[strUrl][anColumn[SInitializer::E_DATA_platform_form]].trimmed();
if (!mapScore.contains(strKey))
{
mapScore.insert(strKey, stPowercafeRank());
mapScore[strKey].url = _datagroup.getstCommunity((*mapBody)[strUrl])->url;
mapScore[strKey].community = _datagroup.getstCommunity((*mapBody)[strUrl])->title;
if (mapScore[strKey].community.trimmed().isEmpty())
mapScore[strKey].community = _datagroup.getstCommunity((*mapBody)[strUrl])->id;
}
mapScore[strKey].count++;
QDate dateThis = QDateTime::fromString((*mapReply)[iterPos1.key()][iterPos1.value()][anColumn[SInitializer::E_DATA_article_date]].trimmed().replace("T", " "), "yyyy-MM-dd hh:mm:ss").date();
if (dateThis.isValid() && dateThis.year() > 1990)
{
dateStart = (dateStart < dateThis) ? dateStart : dateThis;
dateEnd = (dateEnd > dateThis) ? dateEnd : dateThis;
}
}
//QList<stSpammerRank> listSpammer;
QMap<int, QList<stPowercafeRank> > mapRank;
for (QMap<QString, stPowercafeRank>::iterator iterPos1 = mapScore.begin(); iterPos1 != mapScore.end(); iterPos1++)
{
QString strPlatformName = iterPos1.key().split(",").at(1);
if (!mapRank.contains(m_pSInitializer->getPlatformName(strPlatformName)))
mapRank.insert(m_pSInitializer->getPlatformName(strPlatformName), QList<stPowercafeRank>());
mapRank[m_pSInitializer->getPlatformName(strPlatformName)].append(iterPos1.value());
}
for (QMap<int, QList<stPowercafeRank> >::iterator iterPos1 = mapRank.begin(); iterPos1 != mapRank.end(); iterPos1++)
qSort(iterPos1.value().begin(), iterPos1.value().end(), isGreaterCountReal());
QList<int> keys = mapRank.keys().toSet().toList();
QJsonArray jsonArray;
stStatsJson stjsonRank;
{
stjsonRank.category_num = -1;
stjsonRank.servicenum = 4;
stjsonRank.title = "rank";
stjsonRank.subtitle = "";
stjsonRank.platformname_num = 1;
}
int nTotalCount = 0;
for (QList<int>::iterator iterPos1 = keys.begin(); iterPos1 != keys.end(); iterPos1++)
{
QList<stPowercafeRank> values = mapRank.value(*iterPos1);
int nRankLimit = (values.size() <= 10) ? values.size() : 10;
QJsonObject jsonObj;
jsonObj["platformname_num"] = *iterPos1;
QJsonArray jsonSubArray;
for (int i = 0; i < nRankLimit; i++)
{
QJsonObject jsonSubObj;
jsonSubObj["rank"] = i + 1;
jsonSubObj["realcount"] = values.at(i).count;
jsonSubObj["community"] = values.at(i).community;
if (values.at(i).url.contains("instagram.com"))
jsonSubObj["url"] = "https://www." + values.at(i).url;
else if (values.at(i).url.contains("cafe.naver.com"))
jsonSubObj["url"] = "http://" + values.at(i).url;
else if (values.at(i).url.contains("facebook.com"))
jsonSubObj["url"] = "https://www." + values.at(i).url;
else if (values.at(i).url.contains("kakaostory.com"))
jsonSubObj["url"] = "https://" + values.at(i).url;
else if (values.at(i).url.contains("cafe.daum.net"))
jsonSubObj["url"] = "http://" + values.at(i).url;
else
jsonSubObj["url"] = "http://" + values.at(i).url;
jsonSubArray.append(jsonSubObj);
}
jsonObj["data"] = jsonSubArray;
jsonArray.append(jsonObj);
nTotalCount += values.size();
}
QJsonObject jObj;
jObj["data"] = jsonArray;
jObj["mindate"] = dateStart.toString("yyyy.MM.dd");
jObj["maxdate"] = dateEnd.toString("yyyy.MM.dd");
jObj["totalcount"] = nTotalCount;
QJsonDocument jsonDoc(jObj);
stjsonRank.jdata = jsonDoc.toJson();
m_listMap.append(stjsonRank);
}
}
bool SPowercafe::SStatsJson::uploadData(QSqlDatabase &_db, const int &_nCompany)
{
QSqlQuery query(_db);
{
QString strQuery = "delete from stats_json where company_num = " + QString::number(_nCompany) + " and servicenum = 4";