git-svn-id: svn://192.168.0.12/source@349 8346c931-da38-4b9b-9d4c-e48b93cbd075
This commit is contained in:
@@ -377,7 +377,7 @@ bool SInfluencer::STInfluencer::uploadData(QSqlDatabase &_db, const int &_nCompa
|
||||
}
|
||||
strQuery = "insert into influencer_" + QString::number(_nCompany) +
|
||||
"_update (rank,category_num,id_num,nickname_num,community_num,bodycount,replycount, likecount, sharecount, influencervalue,profile,profileurl,id_id,"
|
||||
"community_title,community_url,community_id,nickname_nickname,nickname_exnickname,platformname_num,idrankbyinteraction,platformname_name) VALUES (";
|
||||
"community_title,community_url,community_id,nickname_nickname,nickname_exnickname,platformname_num,idrankbyinteraction,isselected,platformname_name) VALUES (";
|
||||
|
||||
query.clear();
|
||||
|
||||
@@ -404,6 +404,7 @@ bool SInfluencer::STInfluencer::uploadData(QSqlDatabase &_db, const int &_nCompa
|
||||
str += "'" + sqlString(stinfluencer.nickname_exnickname) + "',";
|
||||
str += QString::number(stinfluencer.platformname_num) + ",";
|
||||
str += "'" + sqlString(stinfluencer.interactionrank) + "',";
|
||||
str += sqlString(stinfluencer.isSelected)+",";
|
||||
str += "'" + sqlString(stinfluencer.platformname_name) + "')";
|
||||
|
||||
if (query.exec(str.toUtf8()) == false)
|
||||
@@ -488,9 +489,14 @@ void SInfluencer::STInfluencer::setInfluencerValueWieght()
|
||||
{
|
||||
influencerWeight.insert(*iter3);
|
||||
}
|
||||
}
|
||||
|
||||
influencerWeight.calculateWeight();
|
||||
|
||||
iter2.toFront();
|
||||
while (iter2.hasNext())
|
||||
{
|
||||
QList<stInfluencer> &listInfluencer = iter2.next().value();
|
||||
for (QList<stInfluencer>::iterator iter3 = listInfluencer.begin(); iter3 != listInfluencer.end(); iter3++)
|
||||
{
|
||||
iter3->influencervalue = influencerWeight.getInfluenceValue(*iter3);
|
||||
@@ -499,6 +505,56 @@ void SInfluencer::STInfluencer::setInfluencerValueWieght()
|
||||
}
|
||||
}
|
||||
|
||||
QMap<QString, int> SInfluencer::STInfluencer::makeCountOfGroupDuplicatedId()
|
||||
{
|
||||
QMap<QString, int> mapCountOfGroupDuplicatedId;
|
||||
|
||||
QMutableMapIterator<int, QMap<int, QList<stInfluencer>>> iter(m_mapInfluencerOfGroup);
|
||||
while (iter.hasNext())
|
||||
{
|
||||
iter.next();
|
||||
|
||||
QMutableMapIterator<int, QList<stInfluencer>> iter2(iter.value());
|
||||
while (iter2.hasNext())
|
||||
{
|
||||
QList<stInfluencer> &listInfluencer = iter2.next().value();
|
||||
|
||||
for (QList<stInfluencer>::iterator iter3 = listInfluencer.begin(); iter3 != listInfluencer.end(); iter3++)
|
||||
{
|
||||
if (iter3->isSelected != "NULL")
|
||||
continue;
|
||||
|
||||
mapCountOfGroupDuplicatedId[iter3->id_id]++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return mapCountOfGroupDuplicatedId;
|
||||
}
|
||||
|
||||
void SInfluencer::STInfluencer::setGroupDuplicatedInfluencerFlag(QMap<QString, int> &_mapCountOfGroupDuplicatedId)
|
||||
{
|
||||
QMutableMapIterator<int, QMap<int, QList<stInfluencer>>> iter(m_mapInfluencerOfGroup);
|
||||
while (iter.hasNext())
|
||||
{
|
||||
iter.next();
|
||||
|
||||
QMutableMapIterator<int, QList<stInfluencer>> iter2(iter.value());
|
||||
while (iter2.hasNext())
|
||||
{
|
||||
QList<stInfluencer> &listInfluencer = iter2.next().value();
|
||||
|
||||
for (QList<stInfluencer>::iterator iter3 = listInfluencer.begin(); iter3 != listInfluencer.end(); iter3++)
|
||||
{
|
||||
if (!_mapCountOfGroupDuplicatedId.contains(iter3->id_id) || _mapCountOfGroupDuplicatedId[iter3->id_id] <= 1)
|
||||
continue;
|
||||
|
||||
iter3->isSelected = "1";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void SInfluencer::STInfluencer::processDuplicatedInfluencer()
|
||||
{
|
||||
QMutableMapIterator<int, QMap<int, QList<stInfluencer>>> iter(m_mapInfluencerOfGroup);
|
||||
@@ -512,6 +568,9 @@ void SInfluencer::STInfluencer::processDuplicatedInfluencer()
|
||||
|
||||
setDuplicatedInfluencerFlag(iter.value(), mapFilteredInfluencerValuesOfId);
|
||||
}
|
||||
|
||||
QMap<QString, int> mapCountOfGroupDuplicatedId = makeCountOfGroupDuplicatedId();
|
||||
setGroupDuplicatedInfluencerFlag(mapCountOfGroupDuplicatedId);
|
||||
}
|
||||
|
||||
QMap<QString, QList<double>> SInfluencer::STInfluencer::makeInfluencerValuesOfId(QMap<int, QList<stInfluencer>> &_mapInfluencersOfCategory)
|
||||
@@ -644,12 +703,12 @@ void SInfluencer::STInfluencer::setDuplicatedInfluencerFlag(QMap<int, QList<stIn
|
||||
|
||||
if (fMaxValue == fValue && fMaxValue >= 0)
|
||||
{
|
||||
iter2->isSelected = "true";
|
||||
iter2->isSelected = "1";
|
||||
_mapInfluencerValuesOfId[id][0] = -1;
|
||||
}
|
||||
else
|
||||
{
|
||||
iter2->isSelected = "false";
|
||||
iter2->isSelected = "0";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -47,7 +47,7 @@ QString isSelected;
|
||||
int interactionsTotalCount;
|
||||
|
||||
stInfluencer():id_num(0),nickname_num(0),community_num(0),category_num(0),bodycount(0),replycount(0),rank(0),influencervalue(0.0),platformname_num(0),
|
||||
sharecount(0), likecount(0), interactionsTotalReplyCount(0), interactionsTotalCount(0) {}
|
||||
sharecount(0), likecount(0), interactionsTotalReplyCount(0), interactionsTotalCount(0), isSelected("NULL") {}
|
||||
|
||||
};
|
||||
struct stStatsInfBloggerRank
|
||||
@@ -141,6 +141,8 @@ void copyInfluencerFromGroupToList();
|
||||
void sortInfluencerByValue();
|
||||
void setInfluecnerRank();
|
||||
void setDuplicatedInfluencerFlag(QMap<int, QList<stInfluencer>> &_mapInfluencersOfCategory, QMap<QString, QList<double>> &_mapInfluencerValuesOfId);
|
||||
void setGroupDuplicatedInfluencerFlag(QMap<QString, int> &_mapCountOfGroupDuplicatedId);
|
||||
QMap<QString, int> makeCountOfGroupDuplicatedId();
|
||||
};
|
||||
|
||||
class SStatsInfBloggerRank
|
||||
|
||||
Reference in New Issue
Block a user