git-svn-id: svn://192.168.0.12/source@349 8346c931-da38-4b9b-9d4c-e48b93cbd075

This commit is contained in:
admin
2017-06-01 09:50:18 +00:00
parent b873412ef2
commit 80f1b61839
2 changed files with 66 additions and 5 deletions

View File

@@ -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();
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";
}
}
}

View File

@@ -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