git-svn-id: svn://192.168.0.12/source@344 8346c931-da38-4b9b-9d4c-e48b93cbd075

This commit is contained in:
admin
2017-03-29 02:49:18 +00:00
parent 8ec8a773ad
commit ec45528679
39 changed files with 4564 additions and 722 deletions

View File

@@ -1,4 +1,5 @@
#include "sconsumer.h"
#include "sconsumerstatistics.h"
#include <QSqlQuery>
#include <QSqlDatabase>
#include <QSqlError>
@@ -28,18 +29,29 @@ bool SConsumer::uploadData(int _companyNum)
return false;
}
*/
if (!m_SStatsJson.uploadData(dbWeb, _companyNum))
{
m_pSInitializer->insertLog("Fail to upload stats_json");
return false;
}
m_pSInitializer->insertLog("End Consumer upload");
m_pSInitializer->updateWebDBInfoState(dbWeb, _companyNum, "Consumer (Finish)");
return true;
}
bool SConsumer::SaveDataFile(int _companyNum)
{
if (!m_SStatsJson.SaveDataFile(_companyNum))
{
m_pSInitializer->insertLog("consumer statistics file save fail");
return false;
}
return true;
}
bool SConsumer::makeCategory(SDatagroup &_datagroup, int _nCategory, const QList<SInitializer::stFilter> &_listFilter)
{
QVector<QStringList> vecData[SInitializer::E_ARTICLE_MAX];
@@ -198,7 +210,8 @@ void SConsumer::SBodyConsumerMap::makeTable(SDatagroup &_datagroup, const QMap<i
stbody.id_num = _datagroup.getstBody(strUrl)->id_num;
stbody.community_num = _datagroup.getstBody(strUrl)->community_num;
stbody.nickname_num = _datagroup.getstBody(strUrl)->nickname_num;
stbody.likecount = _datagroup.getstBody(strUrl)->like;
stbody.sharecount = _datagroup.getstBody(strUrl)->share;
if (streal.m_mapRealReplyUniqueUrl.contains(strUrl))
{
stbody.realin |= REAL_REPLY;
@@ -227,7 +240,8 @@ void SConsumer::SBodyConsumerMap::makeTable(SDatagroup &_datagroup, const QMap<i
stbody.id_num = _datagroup.getstBody(strUrl)->id_num;
stbody.community_num = _datagroup.getstBody(strUrl)->community_num;
stbody.nickname_num = _datagroup.getstBody(strUrl)->nickname_num;
stbody.likecount = _datagroup.getstBody(strUrl)->like;
stbody.sharecount = _datagroup.getstBody(strUrl)->share;
foreach (int order, streal.m_mapRealReplyUniqueUrl.values(strUrl))
{
_datagroup.addRealReplyCategory(strUrl, order, iterPos.key());
@@ -246,12 +260,15 @@ bool SConsumer::SBodyConsumerMap::changeTable(QSqlDatabase &_db, const int &_nCo
strQuery += "body_consumer_map_" + QString::number(_nCompany) + " TO " + "body_consumer_map_" + QString::number(_nCompany) + "_temp" + ",";
strQuery += "body_consumer_map_" + QString::number(_nCompany) + "_update" + " TO " + "body_consumer_map_" + QString::number(_nCompany) + ",";
strQuery += "body_consumer_map_" + QString::number(_nCompany) + "_temp" + " TO " + "body_consumer_map_" + QString::number(_nCompany) + "_update";
m_pSInitializer->insertLog("body_consumer_map_" + QString::number(_nCompany) + " rename table start");
if (!query.exec(strQuery.toUtf8()))
{
m_pSInitializer->insertLog(query.lastQuery());
m_pSInitializer->insertLog(query.lastError().text());
return false;
}
m_pSInitializer->insertLog("body_consumer_map_" + QString::number(_nCompany) + " rename table end");
return true;
}
/*
@@ -301,7 +318,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,date,replycount,view,id_num,community_num,nickname_num) VALUES (");
"_update (num,body_num,category_num,realin,platformname_num,platformform_num,date,replycount,viewcount,likecount,sharecount,id_num,community_num,nickname_num) VALUES (");
query.clear();
@@ -317,6 +334,8 @@ bool SConsumer::SBodyConsumerMap::uploadData(QSqlDatabase &_db, const int &_nCom
str += "'" + sqlString(stbody.date) + "',";
str += QString::number(stbody.replycount) + ",";
str += QString::number(stbody.view) + ",";
str += QString::number(stbody.likecount) + ",";
str += QString::number(stbody.sharecount) + ",";
str += QString::number(stbody.id_num) + ",";
str += QString::number(stbody.community_num) + ",";
str += QString::number(stbody.nickname_num) + ")";
@@ -358,6 +377,17 @@ void SConsumer::SReplyConsumerMap::makeTable(SDatagroup &_datagroup, const QMap<
}
}
QString SConsumer::SStatsJson::getStatsJsonBySubtitle(QString _subtitle)
{
foreach (stStatsJson statsJson, m_listMap)
{
if (statsJson.subtitle == _subtitle)
return statsJson.jdata;
}
return "";
}
void SConsumer::SStatsJson::makeTable(SDatagroup &_datagroup, const QMap<int, stReal> &_mapCategory)
{
const QMap<QString, QStringList>* mapBody = _datagroup.getmapBody();
@@ -632,6 +662,16 @@ void SConsumer::SStatsJson::makeTable(SDatagroup &_datagroup, const QMap<int, st
*/
}
bool SConsumer::SStatsJson::SaveDataFile(const int &_nCompany)
{
QString strBodyStatisticsJson = getStatsJsonBySubtitle("body");
QString strReplyStatisticsJson = getStatsJsonBySubtitle("reply");
QString strAllStatisticsJson = getStatsJsonBySubtitle("all");
SCousumerStatistics cousumerStatistics(strBodyStatisticsJson, strReplyStatisticsJson, strAllStatisticsJson);
return cousumerStatistics.saveCousumerStatisticsToExcelFile(_nCompany);
}
bool SConsumer::SStatsJson::uploadData(QSqlDatabase &_db, const int &_nCompany)
{
QSqlQuery query(_db);