라이브러리 qwebpage 에서 qwebenginepage로 변경 qt5.4 -> qt5.5.1 이상으로 변경 (이것만) git-svn-id: svn://192.168.0.12/source@307 8346c931-da38-4b9b-9d4c-e48b93cbd075
74 lines
2.1 KiB
C++
74 lines
2.1 KiB
C++
#include "seffectstatistics.h"
|
|
#include <QSet>
|
|
#include <QDate>
|
|
#include <QDateTime>
|
|
#include <QJsonDocument>
|
|
#include <QJsonObject>
|
|
#include <QJsonValue>
|
|
#include <QDebug>
|
|
|
|
int getReplyCount(const EffectData& _data)
|
|
{
|
|
QSet<QString> set_id;
|
|
foreach (const DataForm& row, _data.reply)
|
|
{
|
|
if (_data.body.data[ARTICLE_ID].trimmed() != row.data[ARTICLE_ID].trimmed())
|
|
set_id.insert(row.data[ARTICLE_ID].trimmed());
|
|
}
|
|
return set_id.size();
|
|
}
|
|
|
|
int getlikeCount(const EffectData& _data)
|
|
{
|
|
//qDebug() << "getlikeCount:" << _data.body.data[REPLY_URL];
|
|
return _data.body.data[REPLY_URL].toInt();
|
|
}
|
|
|
|
int getViewCount(const EffectData& _data)
|
|
{
|
|
return _data.body.data[ARTICLE_HIT].trimmed().replace(",","").toInt();
|
|
}
|
|
|
|
QString getViewBuzz(const EffectData& _data)
|
|
{
|
|
QString str;
|
|
return str;
|
|
}
|
|
|
|
|
|
QString getReplyBuzz(const EffectData& _data)
|
|
{
|
|
QMap<QDate, int> mapDate;
|
|
|
|
QDate firstDate = QDateTime::fromString(_data.body.data[ARTICLE_DATE].trimmed().replace("T", " ").replace(".","-").replace("- "," "), "yyyy-MM-dd hh:mm:ss").date();
|
|
QDate lastDate = QDate::currentDate();
|
|
/*
|
|
qDebug() << _data.body.data[ARTICLE_DATE];
|
|
qDebug() << "firstDate:" << firstDate.toString("yyyy-MM-dd");
|
|
qDebug() << "lastDate:" << lastDate.toString("yyyy-MM-dd");
|
|
*/
|
|
|
|
for (QDate date = firstDate; date <= lastDate; date = date.addDays(1))
|
|
{
|
|
mapDate.insert(date, 0);
|
|
}
|
|
|
|
foreach (auto &row, _data.reply)
|
|
{
|
|
qDebug() << row.data[ARTICLE_DATE].trimmed();
|
|
QDate date = QDateTime::fromString(row.data[ARTICLE_DATE].trimmed().replace("T", " ").replace(".","-").replace("- "," "), "yyyy-MM-dd hh:mm:ss").date();
|
|
if (!mapDate.contains(date))
|
|
//mapDate.insert(date, 0);
|
|
continue;
|
|
mapDate[date]++;
|
|
}
|
|
QJsonObject jObj;
|
|
for (auto iter = mapDate.cbegin(); iter != mapDate.cend(); ++iter)
|
|
{
|
|
jObj[iter.key().toString("yyyyMMdd")] = iter.value();
|
|
}
|
|
QJsonDocument jDoc(jObj);
|
|
QString result = jDoc.toJson();
|
|
return result;
|
|
}
|