새로운 데이타 베이스 변경
git-svn-id: svn://192.168.0.12/source@69 8346c931-da38-4b9b-9d4c-e48b93cbd075
This commit is contained in:
@@ -14,8 +14,6 @@
|
||||
#include "../json/sjson.h"
|
||||
#include "../common.h"
|
||||
|
||||
#define D_NONE -1
|
||||
|
||||
//#define D_DB_WEB_HOST "db.big-bird.co.kr"
|
||||
//#define D_DB_WEB_USER "concepters"
|
||||
//#define D_DB_WEB_PASS "con97996655"
|
||||
@@ -26,7 +24,8 @@
|
||||
#define D_DB_WEB_PASS "1234"
|
||||
#define D_DB_WEB_NAME "dbconcepters"
|
||||
|
||||
Widget::Widget(QWidget *parent) : C_MAP_REAL_BODY (0x01) , C_MAP_REAL_REPLY (0x02) , QWidget(parent)
|
||||
Widget::Widget(QWidget *parent) : C_MAP_REAL_BODY (0x01) , C_MAP_REAL_REPLY (0x02) ,
|
||||
QWidget(parent) ,m_nIDMax (0) , m_nNickMax (0) , m_nCommunityMax (0)
|
||||
{
|
||||
QVBoxLayout *vMainLayout = new QVBoxLayout;
|
||||
{
|
||||
@@ -177,7 +176,7 @@ void Widget::Refresh()
|
||||
QSqlQuery query("select id,name FROM datagroup");
|
||||
while(query.next())
|
||||
{
|
||||
QListWidgetItem *pItem = new QListWidgetItem(query.value(1).toString(),&m_plw[E_LIST_DATA]);
|
||||
QListWidgetItem *pItem = new QListWidgetItem(query.value(1).toString() + QString("(") + query.value(0).toString() + QString(")") ,&m_plw[E_LIST_DATA]);
|
||||
pItem->setData(Qt::UserRole, QVariant(query.value(0)));
|
||||
}
|
||||
}
|
||||
@@ -215,6 +214,19 @@ void Widget::Refresh()
|
||||
while(query.next())
|
||||
m_mapPlatformname.insert(query.value(1).toString(),query.value(0).toInt());
|
||||
}
|
||||
|
||||
{
|
||||
QSqlQuery query;
|
||||
if(query.exec("select max(num) from id") == false) {InsertLog(query.lastError().text());}
|
||||
if(query.next())
|
||||
m_nIDMax = query.value(0).toInt() + 1;
|
||||
if(query.exec("select max(num) from nickname") == false) {InsertLog(query.lastError().text());}
|
||||
if(query.next())
|
||||
m_nNickMax = query.value(0).toInt() + 1;
|
||||
if(query.exec("select max(num) from community") == false) {InsertLog(query.lastError().text());}
|
||||
if(query.next())
|
||||
m_nCommunityMax = query.value(0).toInt() + 1;
|
||||
}
|
||||
db.close();
|
||||
}
|
||||
|
||||
@@ -735,10 +747,13 @@ void Widget::DataItemClicked(QListWidgetItem* item)
|
||||
m_mapCommunity.clear();
|
||||
m_mapNickname.clear();
|
||||
|
||||
SId stDefault;
|
||||
m_mapID.insert(stDefault.m_strID,stDefault);
|
||||
SId stID;
|
||||
stID.m_nNum = m_nIDMax;
|
||||
stID.m_nCommunity = m_nCommunityMax;
|
||||
m_mapID.insert(" ",stID);
|
||||
|
||||
SCommunity stCom;
|
||||
stCom.m_nNum = m_nCommunityMax;
|
||||
m_mapCommunity.insert(" ",stCom);
|
||||
|
||||
QString astrWhere[E_ARTICLE_MAX] = {" where article_form = 'body' Order by article_date DESC"," where article_form = 'reply'"};
|
||||
@@ -770,12 +785,12 @@ void Widget::DataItemClicked(QListWidgetItem* item)
|
||||
stBody.m_bReplySelect = false;
|
||||
stBody.m_strlist = strList;
|
||||
m_mapData.insert(strURL,stBody);
|
||||
m_strlistOrder.push_back(strURL);
|
||||
int nID = -1;
|
||||
m_strlistOrder.push_back(strURL);
|
||||
if (m_mapID.contains(strList[m_anData[E_DATA_article_id]].trimmed()) == false)
|
||||
{
|
||||
SId stID;
|
||||
nID = stID.m_nNum = m_mapID.size();
|
||||
stID.m_nNum = m_mapID.size() + m_nIDMax;
|
||||
stID.m_nCommunity = m_nCommunityMax;
|
||||
stID.m_strID = strList[m_anData[E_DATA_article_id]].trimmed();
|
||||
if(m_mapPlatformname.contains(strList[m_anData[E_DATA_platform_name]].trimmed()))
|
||||
stID.m_nPlatfromName = m_mapPlatformname[strList[m_anData[E_DATA_platform_name]].trimmed()];
|
||||
@@ -784,18 +799,18 @@ void Widget::DataItemClicked(QListWidgetItem* item)
|
||||
if (m_mapNickname.contains(strList[m_anData[E_DATA_article_nickname]].trimmed()) == false)
|
||||
{
|
||||
SNickname stNick;
|
||||
stNick.m_nNum = m_mapNickname.size();
|
||||
stNick.m_nNum = m_mapNickname.size() + m_nNickMax;
|
||||
stNick.m_strNickname = strList[m_anData[E_DATA_article_nickname]].trimmed();
|
||||
stNick.m_nID = nID;
|
||||
stNick.m_nID = m_nIDMax;
|
||||
m_mapNickname.insert(stNick.m_strNickname,stNick);
|
||||
}
|
||||
QString strKey = GetCommunityKey(strList);
|
||||
if (m_mapCommunity.contains(strKey) == false)
|
||||
{
|
||||
SCommunity stCom;
|
||||
stCom.m_nNum = m_mapCommunity.size();
|
||||
stCom.m_nNum = m_mapCommunity.size() + m_nCommunityMax;
|
||||
stCom.m_strID = strList[m_anData[E_DATA_platform_id]].trimmed();
|
||||
stCom.m_strTitle = strList[m_anData[E_DATA_platform_title]].trimmed();
|
||||
stCom.m_strTitle = strList[m_anData[E_DATA_platform_title]].trimmed();
|
||||
if(m_mapPlatformname.contains(strList[m_anData[E_DATA_platform_name]].trimmed()))
|
||||
stCom.m_nPlatformname = m_mapPlatformname[strList[m_anData[E_DATA_platform_name]].trimmed()];
|
||||
else
|
||||
@@ -803,8 +818,8 @@ void Widget::DataItemClicked(QListWidgetItem* item)
|
||||
if(m_mapPlatformform.contains(strList[m_anData[E_DATA_platform_form]].trimmed()))
|
||||
stCom.m_nPlatformform = m_mapPlatformform[strList[m_anData[E_DATA_platform_form]].trimmed()];
|
||||
else
|
||||
continue;
|
||||
if (strList[m_anData[E_DATA_platform_form]].trimmed().compare(QString("naver")) == false)
|
||||
continue;
|
||||
if (strList[m_anData[E_DATA_platform_name]].trimmed().compare(QString("naver")) == false)
|
||||
{
|
||||
stCom.m_strUrl = strKey;
|
||||
}
|
||||
@@ -817,6 +832,8 @@ void Widget::DataItemClicked(QListWidgetItem* item)
|
||||
{
|
||||
if (m_mapData.contains(strURL))
|
||||
{
|
||||
if (strList[m_anData[E_DATA_article_id]].trimmed().isEmpty()) continue;
|
||||
if (strList[m_anData[E_DATA_article_nickname]].trimmed().isEmpty()) continue;
|
||||
SReply stReply;
|
||||
stReply.m_bSelect = false;
|
||||
stReply.m_nOrder = strList[m_nOrderColumn].toInt();
|
||||
@@ -826,12 +843,22 @@ void Widget::DataItemClicked(QListWidgetItem* item)
|
||||
if (m_mapData[strURL].m_dtLast < dtComp)
|
||||
m_mapData[strURL].m_dtLast = dtComp;
|
||||
m_mapData[strURL].m_vecReply.insert(stReply.m_nOrder,stReply);
|
||||
if (strList[m_anData[E_DATA_article_nickname]].trimmed().isEmpty()) continue;
|
||||
if (m_mapID.contains(strList[m_anData[E_DATA_article_id]].trimmed()) == false)
|
||||
{
|
||||
SId stID;
|
||||
stID.m_nNum = m_mapID.size() + m_nIDMax;
|
||||
stID.m_strID = strList[m_anData[E_DATA_article_id]].trimmed();
|
||||
if(m_mapPlatformname.contains(strList[m_anData[E_DATA_platform_name]].trimmed()))
|
||||
stID.m_nPlatfromName = m_mapPlatformname[strList[m_anData[E_DATA_platform_name]].trimmed()];
|
||||
stID.m_nCommunity = m_nCommunityMax;
|
||||
m_mapID.insert(stID.m_strID,stID);
|
||||
}
|
||||
if (m_mapNickname.contains(strList[m_anData[E_DATA_article_nickname]].trimmed()) == false)
|
||||
{
|
||||
SNickname stNick;
|
||||
stNick.m_nNum = m_mapNickname.size();
|
||||
stNick.m_nNum = m_mapNickname.size() + m_nNickMax;
|
||||
stNick.m_strNickname = strList[m_anData[E_DATA_article_nickname]].trimmed();
|
||||
stNick.m_nID = m_nIDMax;
|
||||
m_mapNickname.insert(stNick.m_strNickname,stNick);
|
||||
}
|
||||
}
|
||||
@@ -847,6 +874,20 @@ void Widget::DataItemClicked(QListWidgetItem* item)
|
||||
stID.m_nCommunity = m_mapCommunity[strCommunityKey].m_nNum;
|
||||
}
|
||||
|
||||
foreach(SBody stBody, m_mapData.values())
|
||||
{
|
||||
QString strNick = stBody.m_strlist[m_anData[E_DATA_article_nickname]].trimmed();
|
||||
QString strID = stBody.m_strlist[m_anData[E_DATA_article_id]].trimmed();
|
||||
if (m_mapNickname.contains(strNick) && m_mapID.contains(strID))
|
||||
m_mapNickname[strNick].m_nID = m_mapID[strID].m_nNum;
|
||||
foreach(SReply stReply , stBody.m_vecReply.values())
|
||||
{
|
||||
QString strNick = stReply.m_strlist[m_anData[E_DATA_article_nickname]].trimmed();
|
||||
QString strID = stReply.m_strlist[m_anData[E_DATA_article_id]].trimmed();
|
||||
if (m_mapNickname.contains(strNick) && m_mapID.contains(strID))
|
||||
m_mapNickname[strNick].m_nID = m_mapID[strID].m_nNum;
|
||||
}
|
||||
}
|
||||
MakeBuzzyAll();
|
||||
InsertLog("End Loading");
|
||||
db.close();
|
||||
@@ -886,9 +927,8 @@ QVariant Widget::GetWebData(QString _strTable,QString _strColumn,int _nNum)
|
||||
InsertLog(db.lastError().text());
|
||||
return value;
|
||||
}
|
||||
QSqlQuery query("select " + _strColumn + " FROM " + _strTable + " where num = " + QString::number(_nNum));
|
||||
//qDebug() << "select " + _strColumn + " FROM " + _strTable + " where num = " + QString::number(_nNum);
|
||||
if (query.next() == true)
|
||||
QSqlQuery query("select " + _strColumn + " FROM " + _strTable + " where num = " + QString::number(_nNum));
|
||||
if (query.next())
|
||||
value = query.value(0);
|
||||
db.close();
|
||||
return value;
|
||||
@@ -1248,7 +1288,7 @@ void Widget::InfluenceCount()
|
||||
stInfluence.m_nCommunity = m_mapCommunity[strCommunityKey].m_nNum;
|
||||
QString strNickname = stBody.m_strlist[m_anData[E_DATA_article_nickname]].trimmed();
|
||||
if (m_mapNickname.contains(strNickname) == false)
|
||||
stInfluence.m_nNickname = -1;
|
||||
stInfluence.m_nNickname = 0;
|
||||
else
|
||||
stInfluence.m_nNickname = m_mapNickname[strNickname].m_nNum;
|
||||
stInfluence.m_ncBody = 0;
|
||||
@@ -1750,12 +1790,9 @@ void Widget::DataPut(QString _strCompanyNum)
|
||||
strQuery = "delete from community where company_num = " + _strCompanyNum;
|
||||
if(query.exec(strQuery.toUtf8()) == false) {InsertLog(query.lastError().text());return;}
|
||||
|
||||
//if(query.exec(QString("COMMIT").toUtf8()) == false) {InsertLog(query.lastError().text());return;}
|
||||
|
||||
//QString strReplyQuery = QString("insert into reply_" + _strCompanyNum + " (num,id,nickname,parent,data,date,body_num,realbycategorynum) VALUES (:NUM,:ID,:NICKNAME,:PARENT,:DATA,:DATE,:BODY_NUM,:REALBYCATEGORYNUM)").toUtf8();
|
||||
QString strReplyQuery = QString("insert into reply_" + _strCompanyNum + " (num,id_num,nickname_num,community_num,parent,data,date,body_num,realbycategorynum) VALUES (:NUM,:ID_NUM,:NICKNAME_NUM,:COMMUNITY_NUM,:PARENT,:DATA,:DATE,:BODY_NUM,:REALBYCATEGORYNUM)").toUtf8();
|
||||
QString strBodyQuery = QString("insert into body_" + _strCompanyNum + " (num,id_num,nickname_num,community_num,platformname_num,platformform_num, title, data, url, view, date, reply_startnum, reply_endnum, reply_count, lastupdate, realbycategorynum)"
|
||||
" VALUES (:NUM,:ID_NUM,:NICKNAME_NUM,:COMMUNITY_NUM,:PLATFORMNAME_NUM,:PLATFORMFORM_NUM,:TITLE,:DATA,:URL,:VIEW,:DATE,:REPLY_STARTNUM,:REPLY_ENDNUM,:REPLY_COUNT,:LASTUPDATE,:REALBYCATEGORYNUM)").toUtf8();
|
||||
QString strReplyQuery = QString("insert into reply_" + _strCompanyNum + " (num,id_num,nickname_num,community_num,id_id,parent,data,date,body_num,realbycategorynum) VALUES (:NUM,:ID_NUM,:NICKNAME_NUM,:COMMUNITY_NUM,:ID_ID,:PARENT,:DATA,:DATE,:BODY_NUM,:REALBYCATEGORYNUM)").toUtf8();
|
||||
QString strBodyQuery = QString("insert into body_" + _strCompanyNum + " (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)"
|
||||
" 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 + " (num,body_num,category_num,realin) VALUES (:NUM,:BODY_NUM,:CATEGORY_NUM,:REALIN)").toUtf8();
|
||||
|
||||
QString strCommunityQuery = QString("insert into community(num,id,title,url,platformname_num,platformform_num,company_num) values (");
|
||||
@@ -1813,9 +1850,10 @@ void Widget::DataPut(QString _strCompanyNum)
|
||||
{
|
||||
query.prepare(strReplyQuery);
|
||||
query.bindValue(":NUM",nReplyCount);
|
||||
query.bindValue(":ID_NUM",m_mapID[stReply.m_strlist[m_anData[E_DATA_article_id]].trimmed()].m_nNum);
|
||||
query.bindValue(":ID_NUM",m_mapID[stReply.m_strlist[m_anData[E_DATA_article_id]].trimmed()].m_nNum);
|
||||
query.bindValue(":NICKNAME_NUM",m_mapNickname[stReply.m_strlist[m_anData[E_DATA_article_nickname]].trimmed()].m_nNum);
|
||||
query.bindValue(":COMMUNITY_NUM",m_mapCommunity[GetCommunityKey(m_mapData[strUrl].m_strlist)].m_nNum);
|
||||
query.bindValue(":ID_ID",stReply.m_strlist[m_anData[E_DATA_article_id]].trimmed());
|
||||
query.bindValue(":PARENT",stReply.m_strlist[m_anData[E_DATA_article_parent]].trimmed().toUtf8());
|
||||
query.bindValue(":DATA",SqlString(stReply.m_strlist[m_anData[E_DATA_article_data]].trimmed()).toUtf8());
|
||||
query.bindValue(":DATE",stReply.m_strlist[m_anData[E_DATA_article_date]].trimmed().toUtf8());
|
||||
@@ -1824,13 +1862,14 @@ void Widget::DataPut(QString _strCompanyNum)
|
||||
if (query.exec()==false){InsertLog(query.lastError().text());db.close();return;}
|
||||
nReplyCount++;
|
||||
}
|
||||
query.prepare(strBodyQuery);
|
||||
query.prepare(strBodyQuery);
|
||||
query.bindValue(":NUM",m_mapData[strUrl].m_nNum);
|
||||
query.bindValue(":PLATFORMNAME_NUM",m_mapPlatformname[m_mapData[strUrl].m_strlist[m_anData[E_DATA_platform_name]].trimmed()]);
|
||||
query.bindValue(":PLATFORMFORM_NUM",m_mapPlatformform[m_mapData[strUrl].m_strlist[m_anData[E_DATA_platform_form]].trimmed()]);
|
||||
query.bindValue(":ID_NUM",m_mapID[m_mapData[strUrl].m_strlist[m_anData[E_DATA_article_id]].trimmed()].m_nNum);
|
||||
query.bindValue(":NICKNAME_NUM",m_mapNickname[m_mapData[strUrl].m_strlist[m_anData[E_DATA_article_nickname]].trimmed()].m_nID);
|
||||
query.bindValue(":ID_NUM",m_mapID[m_mapData[strUrl].m_strlist[m_anData[E_DATA_article_id]].trimmed()].m_nNum);
|
||||
query.bindValue(":NICKNAME_NUM",m_mapNickname[m_mapData[strUrl].m_strlist[m_anData[E_DATA_article_nickname]].trimmed()].m_nNum);
|
||||
query.bindValue(":COMMUNITY_NUM",m_mapCommunity[GetCommunityKey(m_mapData[strUrl].m_strlist)].m_nNum);
|
||||
query.bindValue(":ID_ID",m_mapData[strUrl].m_strlist[m_anData[E_DATA_article_id]].trimmed());
|
||||
query.bindValue(":TITLE",SqlString(m_mapData[strUrl].m_strlist[m_anData[E_DATA_article_title]]).trimmed());
|
||||
query.bindValue(":PROFILE",SqlString(m_mapData[strUrl].m_strlist[m_anData[E_DATA_article_profile]]).trimmed());
|
||||
QString strData = m_mapData[strUrl].m_strlist[m_anData[E_DATA_article_data]];
|
||||
@@ -1889,7 +1928,7 @@ void Widget::DataPut(QString _strCompanyNum)
|
||||
//if(query.exec(QString("COMMIT").toUtf8()) == false) {InsertLog(query.lastError().text());return;}
|
||||
|
||||
QDate date = QDate::currentDate().addDays(-60);
|
||||
//QString astrOrderBy[D_ARTICLE_MAX] = {"body","reply","all"};
|
||||
QString astrOrderBy[D_ARTICLE_MAX] = {"body","reply","all"};
|
||||
while(date <= QDate::currentDate())
|
||||
{
|
||||
QVector <SBuzzyCount> vecCount;
|
||||
@@ -1921,9 +1960,9 @@ void Widget::DataPut(QString _strCompanyNum)
|
||||
}
|
||||
strQuery += "date = '";
|
||||
strQuery += date.toString("yyyy-MM-dd");
|
||||
strQuery += "', subject = ";
|
||||
strQuery += QString::number(i); // body = 0 , reply = 1 , all = 2
|
||||
strQuery += ",company_num = ";
|
||||
strQuery += "', subject = '" ;
|
||||
strQuery += astrOrderBy[i];
|
||||
strQuery += "',company_num = ";
|
||||
strQuery += _strCompanyNum;
|
||||
if (query.exec(strQuery.toUtf8())==false) { InsertLog(query.lastError().text());db.close();qDebug() << strQuery;return;}
|
||||
}
|
||||
@@ -1932,5 +1971,17 @@ void Widget::DataPut(QString _strCompanyNum)
|
||||
//if(query.exec(QString("COMMIT").toUtf8()) == false) {InsertLog(query.lastError().text());return;}
|
||||
//if(query.exec(QString("SET AUTOCOMMIT = TRUE").toUtf8()) == false) {InsertLog(query.lastError().text());return;}
|
||||
//SET AUTOCOMMIT = TRUE;
|
||||
|
||||
//QSqlQuery query;
|
||||
if(query.exec("select max(num) from id") == false) {InsertLog(query.lastError().text());}
|
||||
if(query.next())
|
||||
m_nIDMax = query.value(0).toInt() + 1;
|
||||
if(query.exec("select max(num) from nickname") == false) {InsertLog(query.lastError().text());}
|
||||
if(query.next())
|
||||
m_nNickMax = query.value(0).toInt() + 1;
|
||||
if(query.exec("select max(num) from community") == false) {InsertLog(query.lastError().text());}
|
||||
if(query.next())
|
||||
m_nCommunityMax = query.value(0).toInt() + 1;
|
||||
|
||||
db.close();
|
||||
}
|
||||
|
||||
@@ -54,7 +54,9 @@ struct SInfluenceCount
|
||||
QStringList m_strlistData;
|
||||
SInfluenceCount()
|
||||
{
|
||||
m_nNickname = -1;
|
||||
m_nNickname = 0;
|
||||
m_nCommunity = 0;
|
||||
m_nID = 0;
|
||||
}
|
||||
};
|
||||
|
||||
@@ -107,9 +109,9 @@ struct SId
|
||||
QString m_strID;
|
||||
SId()
|
||||
{
|
||||
m_nNum = -1;
|
||||
m_nNum = 0;
|
||||
m_nPlatfromName = 1;
|
||||
m_nCommunity = -1;
|
||||
m_nCommunity = 0;
|
||||
m_strID = "(none)";
|
||||
}
|
||||
};
|
||||
@@ -125,7 +127,7 @@ struct SCommunity
|
||||
|
||||
SCommunity()
|
||||
{
|
||||
m_nNum = -1;
|
||||
m_nNum = 0;
|
||||
m_nPlatformname = 1;
|
||||
m_nPlatformform = 1;
|
||||
m_strTitle = "(none)";
|
||||
@@ -141,7 +143,7 @@ struct SNickname
|
||||
QString m_strNickname;
|
||||
SNickname()
|
||||
{
|
||||
m_nID = -1;
|
||||
m_nID = 0;
|
||||
}
|
||||
};
|
||||
|
||||
@@ -244,6 +246,10 @@ private:
|
||||
QMap <QString,SNickname> m_mapNickname;
|
||||
QMap <QString,int> m_mapPlatformform;
|
||||
QMap <QString,int> m_mapPlatformname;
|
||||
|
||||
int m_nIDMax;
|
||||
int m_nNickMax;
|
||||
int m_nCommunityMax;
|
||||
//SGetThread *m_pThread;
|
||||
//SPutThread *m_pPutThread;
|
||||
//QVector <QStringList> m_mainData;
|
||||
|
||||
Reference in New Issue
Block a user