새로운 기능 추가

git-svn-id: svn://192.168.0.12/source@99 8346c931-da38-4b9b-9d4c-e48b93cbd075
This commit is contained in:
admin
2015-05-07 09:03:58 +00:00
parent 48e5d5c19b
commit 344d84c8a3
3 changed files with 420 additions and 2022 deletions

View File

@@ -11,11 +11,12 @@ greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
TARGET = Filter TARGET = Filter
TEMPLATE = app TEMPLATE = app
SOURCES += main.cpp\ SOURCES += main.cpp \
widget.cpp \ widget.cpp \
../Json/sjson.cpp ../Json/sjson.cpp
HEADERS += widget.h \ HEADERS += widget.h \
../Json/sjson.h \ ../Json/sjson.h \
../common.h ../common.h \

File diff suppressed because it is too large Load Diff

View File

@@ -7,145 +7,8 @@
#include <QTimer> #include <QTimer>
#include <QSqlDatabase> #include <QSqlDatabase>
#include <QLineEdit> #include <QLineEdit>
#include <QVector>
#include <QDateTime> #include <QDateTime>
#include <QProcess>
//#include "SGetThread.h"
//#include "SPutThread.h"
struct SReply
{
QStringList m_strlist;
QDate m_date;
bool m_bSelect;
int m_nOrder;
QVector <int> m_vecCategory;
};
struct SBody
{
int m_nNum;
QStringList m_strlist;
bool m_bSelect;
bool m_bReplySelect;
QDateTime m_dtLast;
QDate m_date;
QMap <int,SReply> m_vecReply;
QVector <int> m_vecCategory;
};
struct SMap
{
int m_nBody;
int m_nCategory;
int m_nRealIn;
QString m_strURL;
};
struct SInfluenceCount
{
int m_ncBody;
int m_ncReply;
double m_dinfulrence;
int m_nID;
int m_nNickname;
int m_nCommunity;
QString m_strID;
QString m_strOrder;
QStringList m_strlistData;
SInfluenceCount()
{
m_nNickname = 0;
m_nCommunity = 0;
m_nID = 0;
}
};
struct SPowerCafeCount
{
QString m_strCafeID;
QString m_strCommunityURL;
QStringList m_strlistData;
int m_nCommunityID;
int m_ncBodyAll;
int m_ncReplyAll;
int m_ncAll;
int m_ncBodyReal;
int m_ncReplyReal;
int m_ncAllReal;
int m_ncUserReal;
int m_ncUserAll;
QMap <QString,bool> m_mapUser;
SPowerCafeCount()
{
m_ncBodyAll = 0;
m_ncReplyAll = 0;
m_ncAll = 0;
m_ncBodyReal = 0;
m_ncReplyReal = 0;
m_ncAllReal = 0;
m_ncUserReal = 0;
m_ncUserAll = 0;
}
};
struct SBuzzyArticle
{
QMap <QDate,int> m_mapCount;
};
#define D_ARTICLE_MAX 3
struct SBuzzyCount
{
int m_nCategory;
int m_anCount[D_ARTICLE_MAX];
};
struct SId
{
int m_nNum;
int m_nPlatfromName;
int m_nCommunity;
QString m_strID;
SId()
{
m_nNum = 0;
m_nPlatfromName = 1;
m_nCommunity = 0;
m_strID = "(none)";
}
};
struct SCommunity
{
int m_nNum;
int m_nPlatformname;
int m_nPlatformform;
QString m_strTitle;
QString m_strUrl;
QString m_strID;
SCommunity()
{
m_nNum = 0;
m_nPlatformname = 1;
m_nPlatformform = 1;
m_strTitle = "(none)";
m_strUrl = " ";
m_strID = " ";
}
};
struct SNickname
{
int m_nNum;
int m_nID;
QString m_strNickname;
SNickname()
{
m_nID = 0;
}
};
class Widget : public QWidget class Widget : public QWidget
{ {
@@ -161,134 +24,48 @@ public:
E_LIST_CATALOG, E_LIST_CATALOG,
E_LIST_MAX E_LIST_MAX
}; };
enum E_COLUMN void FilterProcssRefresh(QString _strGroupID);
{
E_COLUMN_DATABASE=0,
E_COLUMN_NAME,
E_COLUMN_DATE,
E_COLUMN_COUNT,
};
enum E_ARTICLE
{
E_ARTICLE_BODY = 0,
E_ARTICLE_REPLY,
E_ARTICLE_MAX,
};
enum E_DATA
{
E_DATA_platform_title = 0,
E_DATA_article_form,
E_DATA_article_parent,
E_DATA_article_id,
E_DATA_article_nickname,
E_DATA_article_title,
E_DATA_article_data,
E_DATA_article_url,
E_DATA_article_hit,
E_DATA_article_date,
E_DATA_article_order,
E_DATA_platform_id,
E_DATA_platform_name,
E_DATA_platform_form,
E_DATA_reply_url,
E_DATA_keyword_id,
E_DATA_article_profileurl,
E_DATA_article_profile,
E_DATA_MAX,
};
enum E_SPAMER
{
E_SPAMER_BODY_COUNT_CUT = 0,
E_SPAMER_BODY_COUNT_RATIO,
E_SPAMER_NICK_COUNT_CUT,
E_SPAMER_NICK_COUNT_RATIO,
E_SPAMER_MAX
};
struct SBuzzy
{
SBuzzyArticle m_astArticle[E_ARTICLE_MAX];
int m_nArticle;
int m_nCategory;
};
const int C_MAP_REAL_BODY;
const int C_MAP_REAL_REPLY;
int m_anData[E_DATA_MAX];
void Refresh(); void Refresh();
private: private:
QListWidget *m_plw; QListWidget *m_plw;
QListWidget *m_plwLog; QListWidget *m_plwLog;
QListWidget *m_plwFilterProcess; QListWidget *m_plwFilterProcess;
QProgressBar *m_pProg; QListWidget *m_plwFilterProcessGroup;
QListWidget *m_plwProcess;
QTimer m_timer; QTimer m_timer;
int m_nMode; QLineEdit *m_pleFilterProcessGroup;
int m_nDateColumn;
int m_nUrlColumn;
int m_nOrderColumn;
QVector <QStringList> m_data[E_ARTICLE_MAX];
bool m_bDataFlag[E_ARTICLE_MAX];
QStringList m_listDataBaseColumn;
QMap <QString,SBody> m_mapData;
QVector <SMap> m_vecMap;
QStringList m_strlistOrder;
QSqlDatabase db;
QVector <SInfluenceCount> m_vecInfluence;
QVector <SBuzzy> m_vecBuzzy;
/////////////////////////////////////////////////////
QMap <QString,SId> m_mapID;
QMap <QString,SCommunity> m_mapCommunity;
QMap <QString,SNickname> m_mapNickname;
QMap <QString,int> m_mapPlatformform;
QMap <QString,int> m_mapPlatformname;
int m_nIDMax; QSqlDatabase m_db;
int m_nNickMax;
int m_nCommunityMax;
//SGetThread *m_pThread;
//SPutThread *m_pPutThread;
//QVector <QStringList> m_mainData;
private:
void InsertLog(QString str); void InsertLog(QString str);
void FilterProcssRefresh(); void InsertFilterProcess(int _nProcessType);
//void DataGet(QStringList _list); void Kill(int _nProcess);
void DataFilter(QString _strFilterGroupID);
void DataPut(QString _strCompanyNum);
QString GetVectorToString(QVector <int> _vecCategory,QString _strDelimiter);
void DataMake(int _nCategory);
QString SqlString(QString _str);
void FilterDate(QString strJson);
void FilterSerach(QString strJson);
void FilterLength(QString strJson);
void FilterReplace(QString strJson);
bool ReloadColumn();
void ReloadData();
QString SeqDelString(QString _strData,QChar _chChar,int _nMax);
QString MakeInfluencerrankQuery(const SInfluenceCount &_stIn,int _nRank,QString _strSubject,QString _strCompanyNum);
void MakeBuzzyAll();
void MakeBuzzy(int _nCategory);
QVariant GetWebData(QString _strTable,QString _strColumn,int _nNum);
void InfluenceCount();
void ConsumerSupervisionCount();
//inline QString GetComKey(const QStringList _strList);
inline QString GetCommunityKey(const QStringList _strList);
#define D_PROCESS_MAX 1024
QProcess m_aProcess[D_PROCESS_MAX];
private slots: private slots:
void CompanyItemChanged(QListWidgetItem*,QListWidgetItem* _prev = 0); void CompanyItemChanged(QListWidgetItem*,QListWidgetItem* _prev = 0);
void DataItemClicked(QListWidgetItem*); void FilterProcessGroupClicked(QListWidgetItem*);
void on_insert(); void on_load();
void on_start();
void on_stop();
void on_refresh();
void on_category();
void on_send(); void on_send();
void on_delete(); void on_delete();
void on_refresh();
void on_influence_count(); void on_influence_count();
void on_power_cafe_count(); void on_power_cafe_count();
void on_consumer_supervison_count(); void on_consumer_supervison_count();
void on_spammers_count(); void on_spammers_count();
void Update();
void on_process_insert();
void on_process_delete();
void on_filter_process_group_insert();
void on_filter_process_group_delete();
void on_filter_process_group_modify();
void time_update();
void process_output();
}; };
#endif // WIDGET_H #endif // WIDGET_H