effectprocess 추가

git-svn-id: svn://192.168.0.12/source@305 8346c931-da38-4b9b-9d4c-e48b93cbd075
This commit is contained in:
admin
2016-10-27 10:11:49 +00:00
parent 0b075003a4
commit 6d62c97b54
31 changed files with 2417 additions and 27 deletions

View File

@@ -0,0 +1,86 @@
#include "sresultsender.h"
#include "sutilfunction.h"
#include <QSqlDatabase>
#include <QSettings>
#include <QSqlError>
#include <QSqlQuery>
namespace
{
const QString SEPERATOR = "!@#";
}
class DBContainer
{
public:
DBContainer(QSqlDatabase& _db):m_db(_db)
{
}
~DBContainer()
{
m_db.close();
}
private:
QSqlDatabase &m_db;
};
namespace
{
const QString DBNAME = "effectprocess";
}
SResultSender::SResultSender(QObject* parent):QObject(parent)
{
init();
}
void SResultSender::init()
{
databaseSetting(DBNAME);
}
bool SResultSender::send(const State_s1_effect& _result)
{
QSqlDatabase db = QSqlDatabase::database(DBNAME);
if (!db.open())
{
emit error(E_ERROR_CODE::DB_OPEN_ERROR, db.lastError().text());
return false;
}
DBContainer container(db);
QString strQuery = "delete from stats_s1_effect where eventcode = " + QString::number(_result.event_num);
QSqlQuery query(db);
if (!query.exec(strQuery))
{
emit error(E_ERROR_CODE::DB_QUERY_ERROR, query.lastError().text() + SEPERATOR + query.lastQuery());
return false;
}
strQuery = "insert into stats_s1_effect ("
"event_num,view_buzz,replybuzz,replycount,likecount,viewcount,interactioncount,reachcount,engagementcount) "
"values "
"(:event_num,:view_buzz,:replybuzz,:replycount,:likecount,:viewcount,:interactioncount,:reachcount,:engagementcount)";
query.prepare(strQuery);
query.bindValue(":event_num", _result.event_num);
query.bindValue(":view_buzz", _result.view_buzz);
query.bindValue(":replybuzz", _result.replybuzz);
query.bindValue(":replycount", _result.replycount);
query.bindValue(":likecount", _result.likecount);
query.bindValue(":viewcount", _result.viewcount);
query.bindValue(":interactioncount", _result.interactioncount);
query.bindValue(":reachcount", _result.reachcount);
query.bindValue(":engagementcount", _result.engagementcount);
if (!query.exec())
{
emit error(E_ERROR_CODE::DB_QUERY_ERROR, query.lastError().text() + SEPERATOR + query.lastQuery());
return false;
}
return true;
}