#include #include #include "sfilteralgorithm.h" #include "sfilterprocess.h" #include "shttpsender.h" #include "../Json/sjson.h" #include #include using namespace std; bool SFilterProcess::init(QString _strFilterProcessGroupID, QString _strFilterProcessGroupName) { if (!m_SInitializer.init(_strFilterProcessGroupID, _strFilterProcessGroupName)) { cout << "initializer init error" << endl; return false; } m_SDatagroup.setInitializer(m_SInitializer); m_SConsumer.setInitiaizer(m_SInitializer); m_SInfluencer.setInitiaizer(m_SInitializer); m_SSpammer.setInitiaizer(m_SInitializer); m_SPowercafe.setInitiaizer(m_SInitializer); m_SConsumerMarketer.setInitiaizer(m_SInitializer); m_SConsumerCheckList.setInitiaizer(m_SInitializer); m_SInitializer.closeConnection(SDBManager::E_DATABASE_WEB); return true; } bool SFilterProcess::init(QString _strFilterProcessGroupID, QString _strFilterProcessGroupName, QString _strInfluencerLimit) { if (!m_SInitializer.init(_strFilterProcessGroupID, _strFilterProcessGroupName, _strInfluencerLimit)) { cout << "initializer init error" << endl; return false; } m_SDatagroup.setInitializer(m_SInitializer); m_SConsumer.setInitiaizer(m_SInitializer); m_SInfluencer.setInitiaizer(m_SInitializer); m_SSpammer.setInitiaizer(m_SInitializer); m_SPowercafe.setInitiaizer(m_SInitializer); m_SConsumerMarketer.setInitiaizer(m_SInitializer); m_SConsumerCheckList.setInitiaizer(m_SInitializer); m_SInitializer.closeConnection(SDBManager::E_DATABASE_WEB); return true; } void SFilterProcess::LoadData(const SInitializer::stFilterProcess& process) { m_SDatagroup.loadData(process.m_nDatagroupID); } void SFilterProcess::MakeCategory(const SInitializer::stFilterProcess& process) { m_SInitializer.insertDebugLog("FilterGroupName: " + process.m_strFilterGroupName); switch(process.m_nServiceNum) { case E_SERVICE_INFLUENCER: { qDebug() << "Influencer:" << process.m_nCategoryNum; m_SInfluencer.makeCategory(m_SDatagroup, process.m_nCategoryNum, m_SInitializer.getFilterGroup(process.m_nFilterGroupID)); break; } case E_SERVICE_CONSUMER: { qDebug() << "Consumer:" << process.m_nCategoryNum; m_SConsumer.makeCategory(m_SDatagroup, process.m_nCategoryNum, m_SInitializer.getFilterGroup(process.m_nFilterGroupID)); break; } case E_SERVICE_SPAMMER: { qDebug() << "Spammer:" << process.m_nCategoryNum; m_SSpammer.makeCategory(m_SDatagroup, process.m_nCategoryNum, m_SInitializer.getFilterGroup(process.m_nFilterGroupID)); break; } case E_SERVICE_POWERCAFE: { qDebug() << "Powercafe:" << process.m_nCategoryNum; m_SPowercafe.makeCategory(m_SDatagroup, process.m_nCategoryNum, m_SInitializer.getFilterGroup(process.m_nFilterGroupID)); break; } } } void SFilterProcess::Send(const SInitializer::stFilterProcess& process) { m_SConsumerMarketer.makeTable(m_SDatagroup); m_SConsumerCheckList.makeTable(m_SDatagroup); m_SDatagroup.makeTable(); m_SConsumer.makeTable(m_SDatagroup); m_SInfluencer.makeTable(m_SDatagroup); m_SSpammer.makeTable(m_SDatagroup); m_SPowercafe.makeTable(m_SDatagroup); if (m_SInitializer.isUpload()) { m_SInitializer.openConnection(SDBManager::E_DATABASE_WEB); m_SDatagroup.uploadData(process.m_nCompanyNum); m_SConsumer.uploadData(process.m_nCompanyNum); m_SInfluencer.uploadData(process.m_nCompanyNum); m_SSpammer.uploadData(process.m_nCompanyNum); m_SPowercafe.uploadData(process.m_nCompanyNum); m_SDatagroup.changeTable(process.m_nCompanyNum); m_SConsumer.changeTable(process.m_nCompanyNum); m_SInfluencer.changeTable(process.m_nCompanyNum); m_SSpammer.changeTable(process.m_nCompanyNum); m_SPowercafe.changeTable(process.m_nCompanyNum); m_SInitializer.updateWebDBInfoComplete(m_SInitializer.getDatabase(SDBManager::E_DATABASE_WEB), m_SDatagroup.getstDate()->m_strMindate, m_SDatagroup.getstDate()->m_strMaxdate, m_SDatagroup.getstDate()->m_strLastupdate, m_SDatagroup.getCounts()->m_nFilterBodyCount, m_SDatagroup.getCounts()->m_nFilterReplyCount, process.m_nCompanyNum); m_SInitializer.insertLog("Upload Done"); m_nCompany = process.m_nCompanyNum; } else { m_nCompany = -100; m_SInitializer.insertLog("No Upload"); } m_SConsumer.SaveDataFile(process.m_nCompanyNum); m_SInfluencer.SaveDataFile(process.m_nCompanyNum); } bool SFilterProcess::run() { m_SInitializer.insertLog("New Filter start"); QList listFilterProcess = m_SInitializer.getFilterProcess(); foreach (SInitializer::stFilterProcess process, listFilterProcess) { switch(process.m_nFilterProcessType) { case E_PROCSS_TYPE_LOAD: { LoadData(process); break; } case E_PROCSS_TYPE_CATEGORY_MAKE: { MakeCategory(process); break; } case E_PROCSS_TYPE_SEND: { Send(process); break; } } } m_SInitializer.insertLog("New Filter END."); return true; } int SFilterProcess::getCompanyNum() { return m_nCompany; }