Files
clients/EffectProcess/seffectstatistics.cpp
admin a296920e74 effect 수정
git-svn-id: svn://192.168.0.12/source@334 8346c931-da38-4b9b-9d4c-e48b93cbd075
2017-01-06 07:20:57 +00:00

85 lines
2.3 KiB
C++

#include "seffectstatistics.h"
#include <QSet>
#include <QDate>
#include <QDateTime>
#include <QJsonDocument>
#include <QJsonObject>
#include <QJsonValue>
#include <QJsonArray>
#include <QDebug>
int getInteractionCount(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 getReplyCount(const EffectData &_data)
{
return _data.reply.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]++;
}
QJsonArray jArray;
for (auto iter = mapDate.cbegin(); iter != mapDate.cend(); ++iter)
{
QJsonObject jObj;
jObj["date"] = iter.key().toString("MM-dd-yyyy");
jObj["value"] = iter.value();
jArray.append(jObj);
}
QJsonDocument jDoc(jArray);
QString result = jDoc.toJson(QJsonDocument::Compact);
return result;
}