전체 카테고리 전부 삭제
컨슈머 마케터/즐겨찾기 업데이트 git-svn-id: svn://192.168.0.12/source@282 8346c931-da38-4b9b-9d4c-e48b93cbd075
This commit is contained in:
@@ -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";
|
||||
|
||||
Reference in New Issue
Block a user