웹 변경
git-svn-id: svn://192.168.0.12/source@121 8346c931-da38-4b9b-9d4c-e48b93cbd075
This commit is contained in:
@@ -2,10 +2,10 @@
|
||||
#include <QSqlDatabase>
|
||||
#include <QSqlQuery>
|
||||
#include <QVariant>
|
||||
#include <QMessageBox>
|
||||
#include <QDebug>
|
||||
#include <QFile>
|
||||
#include <QSqlError>
|
||||
#include <QSettings>
|
||||
|
||||
#include "../json/sjson.h"
|
||||
#include "../common.h"
|
||||
@@ -19,6 +19,36 @@ SFilterProcess::~SFilterProcess()
|
||||
{
|
||||
}
|
||||
|
||||
bool SFilterProcess::ReloadSetup()
|
||||
{
|
||||
QSettings settings(QString("setup.ini"), QSettings::IniFormat);
|
||||
settings.setIniCodec("UTF-8");
|
||||
settings.beginGroup(QString("database"));
|
||||
if (settings.childKeys().size() == 0) return false;
|
||||
m_strWebDataBaseHost = settings.value("host").toString();
|
||||
m_strWebDataBaseUser = settings.value("user").toString();
|
||||
m_strWebDataBasePass = settings.value("pass").toString();
|
||||
m_strWebDataBaseName = settings.value("name").toString();
|
||||
settings.endGroup();
|
||||
|
||||
settings.beginGroup(QString("settings"));
|
||||
if (settings.childKeys().size() == 0) return false;
|
||||
m_nCutDays = settings.value("days").toInt();
|
||||
settings.endGroup();
|
||||
|
||||
m_adSpammer[E_SPAMER_MAX];
|
||||
settings.beginGroup(QString("spammers"));
|
||||
if (settings.childKeys().size() == 0) return false;
|
||||
m_adSpammer[E_SPAMER_BODY_COUNT_CUT] = settings.value("body_cut").toDouble();
|
||||
m_adSpammer[E_SPAMER_BODY_COUNT_RATIO] = settings.value("body_ratio").toDouble();
|
||||
m_adSpammer[E_SPAMER_REPLY_COUNT_CUT] = settings.value("reply_cut").toDouble();
|
||||
m_adSpammer[E_SPAMER_REPLY_COUNT_RATIO] = settings.value("reply_ratio").toDouble();
|
||||
m_adSpammer[E_SPAMER_NICK_COUNT_CUT] = settings.value("nick_cut").toDouble();
|
||||
m_adSpammer[E_SPAMER_NICK_COUNT_RATIO] = settings.value("nick_ratio").toDouble();
|
||||
settings.endGroup();
|
||||
return true;
|
||||
}
|
||||
|
||||
bool SFilterProcess::ReloadColumn()
|
||||
{
|
||||
QVector <QStringList> vecColumn;
|
||||
@@ -124,10 +154,10 @@ void SFilterProcess::run(QString _strFindID,QString _strFilterGroupName)
|
||||
exit(0);
|
||||
return;
|
||||
}
|
||||
m_db.setHostName(D_DB_WEB_HOST);
|
||||
m_db.setUserName(D_DB_WEB_USER);
|
||||
m_db.setPassword(D_DB_WEB_PASS);
|
||||
m_db.setDatabaseName(D_DB_WEB_NAME);
|
||||
m_db.setHostName(m_strWebDataBaseHost);
|
||||
m_db.setUserName(m_strWebDataBaseUser);
|
||||
m_db.setPassword(m_strWebDataBasePass);
|
||||
m_db.setDatabaseName(m_strWebDataBaseName);
|
||||
if (m_db.open() == false)
|
||||
{
|
||||
InsertLog(m_db.lastError().text());
|
||||
@@ -183,9 +213,10 @@ void SFilterProcess::run(QString _strFindID,QString _strFilterGroupName)
|
||||
* category_num 4
|
||||
*/
|
||||
{
|
||||
QString strCompany;
|
||||
InsertLog("<Start>");
|
||||
foreach (QVariantList data,listArgument)
|
||||
{
|
||||
{
|
||||
switch(data.at(0).toInt())
|
||||
{
|
||||
case E_PROCSS_TYPE_LOAD:
|
||||
@@ -195,7 +226,8 @@ void SFilterProcess::run(QString _strFindID,QString _strFilterGroupName)
|
||||
DataCategoryMake(data.at(2).toString(),data.at(4).toInt());
|
||||
break;
|
||||
case E_PROCSS_TYPE_SEND:
|
||||
DataPut(data.at(3).toString());
|
||||
DataPut(data.at(3).toString());
|
||||
strCompany = data.at(3).toString();
|
||||
break;
|
||||
case E_PROCSS_TYPE_INFLUENCE_COUNT:
|
||||
DataInfluenceCount(data.at(2).toString(),data.at(3).toString());
|
||||
@@ -208,6 +240,18 @@ void SFilterProcess::run(QString _strFindID,QString _strFilterGroupName)
|
||||
break;
|
||||
}
|
||||
}
|
||||
m_db.setHostName(m_strWebDataBaseHost);
|
||||
m_db.setUserName(m_strWebDataBaseUser);
|
||||
m_db.setPassword(m_strWebDataBasePass);
|
||||
m_db.setDatabaseName(m_strWebDataBaseName);
|
||||
if (m_db.open() == false)
|
||||
{
|
||||
InsertLog(m_db.lastError().text());
|
||||
return;
|
||||
}
|
||||
strQuery = QString("UPDATE company SET lastupdate = sysdate() WHERE num = ") + strCompany;
|
||||
m_db.exec(strQuery.toUtf8());
|
||||
m_db.close();
|
||||
InsertLog("<Finish>");
|
||||
}
|
||||
}
|
||||
@@ -321,7 +365,7 @@ void SFilterProcess::FilterCounter(QString _strJson)
|
||||
QString str = strList.at(nCatalog).trimmed();
|
||||
if(mapData.contains(str))
|
||||
{
|
||||
mapData[str] += 1;
|
||||
mapData[str]++;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -506,7 +550,7 @@ void SFilterProcess::DataFilter(QString _strFilterGroupID)
|
||||
break;
|
||||
case E_FILTER_TYPE_REPLACE:
|
||||
FilterReplace(query.value(1).toString());
|
||||
break;
|
||||
break;
|
||||
case E_FILTER_TYPE_COUNTER:
|
||||
FilterCounter(query.value(1).toString());
|
||||
break;
|
||||
@@ -551,10 +595,10 @@ void SFilterProcess::MakeBuzzyAll()
|
||||
QVariant SFilterProcess::GetWebData(QString _strTable,QString _strColumn,int _nNum)
|
||||
{
|
||||
QVariant value;
|
||||
m_db.setHostName(D_DB_WEB_HOST);
|
||||
m_db.setUserName(D_DB_WEB_USER);
|
||||
m_db.setPassword(D_DB_WEB_PASS);
|
||||
m_db.setDatabaseName(D_DB_WEB_NAME);
|
||||
m_db.setHostName(m_strWebDataBaseHost);
|
||||
m_db.setUserName(m_strWebDataBaseUser);
|
||||
m_db.setPassword(m_strWebDataBasePass);
|
||||
m_db.setDatabaseName(m_strWebDataBaseName);
|
||||
if (m_db.open() == false)
|
||||
{
|
||||
InsertLog(m_db.lastError().text());
|
||||
@@ -761,7 +805,7 @@ void SFilterProcess::DataLoad(QString _strDataNum)
|
||||
if (strList[m_anData[E_DATA_platform_id]].trimmed().isEmpty()) continue;
|
||||
SBody stBody;
|
||||
stBody.m_date = QDateTime::fromString(strList[m_anData[E_DATA_article_date]].trimmed(),"yyyy-MM-dd HH:mm:ss").date();
|
||||
if (stBody.m_date < QDate::currentDate().addDays(-60)) continue;
|
||||
if (stBody.m_date < QDate::currentDate().addDays(m_nCutDays)) continue;
|
||||
|
||||
stBody.m_dtLast = QDateTime::fromString(strList[m_anData[E_DATA_article_date]].trimmed(),"yyyy-MM-dd HH:mm:ss");
|
||||
stBody.m_bSelect = false;
|
||||
@@ -941,10 +985,10 @@ void SFilterProcess::DataInfluenceCount(QString _strFilter,QString _strCompanyNu
|
||||
}
|
||||
InsertLog("Influence Rank Count Make End");
|
||||
{
|
||||
m_db.setHostName(D_DB_WEB_HOST);
|
||||
m_db.setUserName(D_DB_WEB_USER);
|
||||
m_db.setPassword(D_DB_WEB_PASS);
|
||||
m_db.setDatabaseName(D_DB_WEB_NAME);
|
||||
m_db.setHostName(m_strWebDataBaseHost);
|
||||
m_db.setUserName(m_strWebDataBaseUser);
|
||||
m_db.setPassword(m_strWebDataBasePass);
|
||||
m_db.setDatabaseName(m_strWebDataBaseName);
|
||||
if (m_db.open() == false)
|
||||
{
|
||||
InsertLog(m_db.lastError().text());
|
||||
@@ -1036,26 +1080,8 @@ bool QSortSpamer(const SSpamer &st1, const SSpamer &st2)
|
||||
}
|
||||
|
||||
void SFilterProcess::DataSpammersCount(QString _strFilter,QString _strCompanyNum)
|
||||
{
|
||||
QFile inputFile("spammers.txt");
|
||||
double dRead[E_SPAMER_MAX]={0.0,};
|
||||
if (inputFile.open(QIODevice::ReadOnly))
|
||||
{
|
||||
QTextStream in(&inputFile);
|
||||
while (!in.atEnd())
|
||||
{
|
||||
QString line = in.readLine();
|
||||
QStringList list = line.split("=");
|
||||
if (list.size() < 2) continue;
|
||||
if (list[0].trimmed().compare("Body_Count_Cut") == 0) dRead[E_SPAMER_BODY_COUNT_CUT]=list[1].toDouble();
|
||||
if (list[0].trimmed().compare("Body_Count_Ratio") == 0) dRead[E_SPAMER_BODY_COUNT_RATIO]=list[1].toDouble();
|
||||
if (list[0].trimmed().compare("Reply_Count_Cut") == 0) dRead[E_SPAMER_REPLY_COUNT_CUT]=list[1].toDouble();
|
||||
if (list[0].trimmed().compare("Reply_Count_Ratio") == 0) dRead[E_SPAMER_REPLY_COUNT_RATIO]=list[1].toDouble();
|
||||
if (list[0].trimmed().compare("Nick_Count_Cut") == 0) dRead[E_SPAMER_NICK_COUNT_CUT]=list[1].toDouble();
|
||||
if (list[0].trimmed().compare("Nick_Count_Ratio") == 0) dRead[E_SPAMER_NICK_COUNT_RATIO]=list[1].toDouble();
|
||||
}
|
||||
inputFile.close();
|
||||
}
|
||||
{
|
||||
//double dRead[E_SPAMER_MAX]={0.0,};
|
||||
QMap<QString,SSpamer> mapSpamer;
|
||||
ReloadData();
|
||||
InsertLog("Spamer Data Filter Run Start ");
|
||||
@@ -1138,17 +1164,17 @@ void SFilterProcess::DataSpammersCount(QString _strFilter,QString _strCompanyNum
|
||||
foreach(SSpamer stSpamer,mapSpamer.values())
|
||||
{
|
||||
bool bFlag = false;
|
||||
if (stSpamer.m_dBodycount > dRead[E_SPAMER_BODY_COUNT_CUT])
|
||||
if (stSpamer.m_dBodycount > m_adSpammer[E_SPAMER_BODY_COUNT_CUT])
|
||||
bFlag = true;
|
||||
if (stSpamer.m_dReplycount > dRead[E_SPAMER_REPLY_COUNT_CUT])
|
||||
if (stSpamer.m_dReplycount > m_adSpammer[E_SPAMER_REPLY_COUNT_CUT])
|
||||
bFlag = true;
|
||||
if ((double)stSpamer.m_setNick.size() > dRead[E_SPAMER_BODY_COUNT_CUT])
|
||||
if ((double)stSpamer.m_setNick.size() > m_adSpammer[E_SPAMER_BODY_COUNT_CUT])
|
||||
bFlag = true;
|
||||
if (bFlag)
|
||||
{
|
||||
stSpamer.m_dSpammerValue = (dRead[E_SPAMER_BODY_COUNT_RATIO]*stSpamer.m_dBodycount)+
|
||||
(dRead[E_SPAMER_REPLY_COUNT_RATIO]*stSpamer.m_dReplycount)+
|
||||
(dRead[E_SPAMER_NICK_COUNT_RATIO]*(double)stSpamer.m_setNick.size());
|
||||
stSpamer.m_dSpammerValue = (m_adSpammer[E_SPAMER_BODY_COUNT_RATIO]*stSpamer.m_dBodycount)+
|
||||
(m_adSpammer[E_SPAMER_REPLY_COUNT_RATIO]*stSpamer.m_dReplycount)+
|
||||
(m_adSpammer[E_SPAMER_NICK_COUNT_RATIO]*(double)stSpamer.m_setNick.size());
|
||||
list.push_back(stSpamer);
|
||||
}
|
||||
}
|
||||
@@ -1156,10 +1182,10 @@ void SFilterProcess::DataSpammersCount(QString _strFilter,QString _strCompanyNum
|
||||
InsertLog("Spamer Rank Count Make End ");
|
||||
|
||||
InsertLog("Spamer Rank Count Send Start ");
|
||||
m_db.setHostName(D_DB_WEB_HOST);
|
||||
m_db.setUserName(D_DB_WEB_USER);
|
||||
m_db.setPassword(D_DB_WEB_PASS);
|
||||
m_db.setDatabaseName(D_DB_WEB_NAME);
|
||||
m_db.setHostName(m_strWebDataBaseHost);
|
||||
m_db.setUserName(m_strWebDataBaseUser);
|
||||
m_db.setPassword(m_strWebDataBasePass);
|
||||
m_db.setDatabaseName(m_strWebDataBaseName);
|
||||
if (m_db.open() == false)
|
||||
{
|
||||
InsertLog(m_db.lastError().text());
|
||||
@@ -1178,15 +1204,15 @@ void SFilterProcess::DataSpammersCount(QString _strFilter,QString _strCompanyNum
|
||||
foreach(QString str,m_mapPlatformname.keys())
|
||||
mapPlatformnameCount.insert(str,1);
|
||||
|
||||
int nCount = 0;
|
||||
int nCount = 1;
|
||||
foreach(SSpamer stIn,list)
|
||||
{
|
||||
QStringList strList = stIn.m_strKey.split(",");
|
||||
QString strID = strList[2].trimmed();
|
||||
QString strPlatformname = strList[0].trimmed();
|
||||
if (strID.isEmpty()) continue;
|
||||
if (strPlatformname.isEmpty()) continue;
|
||||
QString strValue = QString::number(mapPlatformnameCount[strPlatformname]) + ",";
|
||||
if (strPlatformname.isEmpty()) continue;
|
||||
QString strValue;
|
||||
strValue += QString::number(m_mapID[strID].m_nNum) + ",'";
|
||||
strValue += strID + "',";
|
||||
strValue += QString::number(stIn.m_setNick.size()) + ",";
|
||||
@@ -1195,6 +1221,7 @@ void SFilterProcess::DataSpammersCount(QString _strFilter,QString _strCompanyNum
|
||||
strValue += QString::number(stIn.m_dSpammerValue,'g',3) + ",";
|
||||
strValue += strCompanyNum;
|
||||
strQuery = "insert into spammer (rank,id_num,id_id,nicknamecount,bodycount,replycount,spammervalue,company_num) VALUES (";
|
||||
strQuery += QString::number(nCount) + ",";
|
||||
strQuery += strValue + ")";
|
||||
if(query.exec(strQuery.toUtf8()) == false) {
|
||||
qDebug() << strQuery;InsertLog(query.lastError().text());
|
||||
@@ -1206,14 +1233,15 @@ void SFilterProcess::DataSpammersCount(QString _strFilter,QString _strCompanyNum
|
||||
if (mapPlatformnameCount[strPlatformname] <= 10)
|
||||
{
|
||||
strQuery = "insert into stats_spammerrank (rank,id_num,id_id,nicknamecount,bodycount,replycount,spammervalue,company_num,platformname_name,subject) VALUES (";
|
||||
strQuery += QString::number(mapPlatformnameCount[strPlatformname]) + ",";
|
||||
strQuery += strValue + ",'" + strPlatformname + "','spammervalue')";
|
||||
if(query.exec(strQuery.toUtf8()) == false) {
|
||||
qDebug() << strQuery;InsertLog(query.lastError().text());
|
||||
InsertLog(strQuery);
|
||||
continue;
|
||||
}
|
||||
}
|
||||
mapPlatformnameCount[strPlatformname]++;
|
||||
mapPlatformnameCount[strPlatformname]++;
|
||||
}
|
||||
}
|
||||
nCount++;
|
||||
}
|
||||
@@ -1333,10 +1361,10 @@ void SFilterProcess::DataPowerCafeCount(QString _strFilter,QString _strCompanyNu
|
||||
InsertLog("Power Cafe Rank Count Make End");
|
||||
InsertLog("Power Cafe Rank Send Start ");
|
||||
{
|
||||
m_db.setHostName(D_DB_WEB_HOST);
|
||||
m_db.setUserName(D_DB_WEB_USER);
|
||||
m_db.setPassword(D_DB_WEB_PASS);
|
||||
m_db.setDatabaseName(D_DB_WEB_NAME);
|
||||
m_db.setHostName(m_strWebDataBaseHost);
|
||||
m_db.setUserName(m_strWebDataBaseUser);
|
||||
m_db.setPassword(m_strWebDataBasePass);
|
||||
m_db.setDatabaseName(m_strWebDataBaseName);
|
||||
if (m_db.open() == false)
|
||||
{
|
||||
InsertLog(m_db.lastError().text());
|
||||
@@ -1440,10 +1468,10 @@ bool QSortMarketer(const SMaketer &stMaketer1, const SMaketer &stMaketer2)
|
||||
|
||||
void SFilterProcess::DataConsumerSupervisionCount(QString _strCompanyNum)
|
||||
{
|
||||
m_db.setHostName(D_DB_WEB_HOST);
|
||||
m_db.setUserName(D_DB_WEB_USER);
|
||||
m_db.setPassword(D_DB_WEB_PASS);
|
||||
m_db.setDatabaseName(D_DB_WEB_NAME);
|
||||
m_db.setHostName(m_strWebDataBaseHost);
|
||||
m_db.setUserName(m_strWebDataBaseUser);
|
||||
m_db.setPassword(m_strWebDataBasePass);
|
||||
m_db.setDatabaseName(m_strWebDataBaseName);
|
||||
if (m_db.open() == false)
|
||||
{
|
||||
InsertLog(m_db.lastError().text());
|
||||
@@ -1578,10 +1606,10 @@ bool SFilterProcess::RenameTable(QString _strOld, QString _strNew , QString _str
|
||||
|
||||
void SFilterProcess::DataPut(QString _strCompanyNum)
|
||||
{
|
||||
m_db.setHostName(D_DB_WEB_HOST);
|
||||
m_db.setUserName(D_DB_WEB_USER);
|
||||
m_db.setPassword(D_DB_WEB_PASS);
|
||||
m_db.setDatabaseName(D_DB_WEB_NAME);
|
||||
m_db.setHostName(m_strWebDataBaseHost);
|
||||
m_db.setUserName(m_strWebDataBaseUser);
|
||||
m_db.setPassword(m_strWebDataBasePass);
|
||||
m_db.setDatabaseName(m_strWebDataBaseName);
|
||||
if (m_db.open() == false)
|
||||
{
|
||||
InsertLog(m_db.lastError().text());
|
||||
@@ -1615,7 +1643,7 @@ void SFilterProcess::DataPut(QString _strCompanyNum)
|
||||
" VALUES (:NUM,:ID_NUM,:NICKNAME_NUM,:COMMUNITY_NUM,:ID_ID,:PLATFORMNAME_NUM,:PLATFORMFORM_NUM,:TITLE,:DATA,:URL,:VIEW,:DATE,:REPLY_STARTNUM,:REPLY_ENDNUM,:REPLY_COUNT,:LASTUPDATE,:REALBYCATEGORYNUM)").toUtf8();
|
||||
QString strMapQuery = QString("insert into body_category_map_" + _strCompanyNum + "_update (num,body_num,category_num,realin) VALUES (:NUM,:BODY_NUM,:CATEGORY_NUM,:REALIN)").toUtf8();
|
||||
|
||||
QString strCommunityQuery = QString("insert into community_" + _strCompanyNum + "_update (num,id,title,url,platformname_num,platformform_num) values (");
|
||||
QString strCommunityQuery = QString("insert into community_" + _strCompanyNum + "_update (num,id,title,url,=platformname_num,platformform_num) values (");
|
||||
foreach (SCommunity stCommunity,m_mapCommunity.values())
|
||||
{
|
||||
strQuery = strCommunityQuery;
|
||||
|
||||
Reference in New Issue
Block a user