| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197 |
- import Common from '../common/Common';
- import DataModelBase from '../framework/DataModelBase';
- export default class WeekRank extends DataModelBase
- {
- constructor(modelName)
- {
- super(modelName);
- this._arrCityRank = [];
- this._arrProvinceRank = [];
- this._arrCountryRank = [];
- this._arrCityRankBuff = [];
- this._arrProvinceRankBuff = [];
- this._arrCountryRankBuff = [];
- }
- getRankNum(rankType)
- {
- switch(rankType)
- {
- case Common.RankType.CityRank:
- return this._arrCityRank.length;
- break;
- case Common.RankType.ProvinceRank:
- return this._arrProvinceRank.length;
- break;
- case Common.RankType.CountryRank:
- return this._arrCountryRank.length;
- break;
- }
- }
- clearRank(rankType)
- {
- switch(rankType)
- {
- case Common.RankType.CityRank:
- this._arrCityRank.length = 0;
- break;
- case Common.RankType.ProvinceRank:
- this._arrProvinceRank.length = 0;
- break;
- case Common.RankType.CountryRank:
- this._arrCountryRank.length = 0;
- break;
- }
- }
- clearBuff(rankType)
- {
- switch(rankType)
- {
- case Common.RankType.CityRank:
- this._arrCityRankBuff.length = 0;
- break;
- case Common.RankType.ProvinceRank:
- this._arrProvinceRankBuff.length = 0;
- break;
- case Common.RankType.CountryRank:
- this._arrCountryRankBuff.length = 0;
- break;
- }
- }
- addRank (rankType, rankInfo)
- {
- switch(rankType)
- {
- case Common.RankType.CityRank:
- this._arrCityRankBuff.push(rankInfo);
- break;
- case Common.RankType.ProvinceRank:
- this._arrProvinceRankBuff.push(rankInfo);
- break;
- case Common.RankType.CountryRank:
- this._arrCountryRankBuff.push(rankInfo);
- break;
- }
- }
- swapBuff(rankType)
- {
- this.clearRank(rankType);
- switch(rankType)
- {
- case Common.RankType.CityRank:
- for (var i = 0; i < this._arrCityRankBuff.length; ++i)
- {
- this._arrCityRank.push(this._arrCityRankBuff[i]);
- }
- this._arrCityRankBuff.length = 0;
- break;
- case Common.RankType.ProvinceRank:
- for (var i = 0; i < this._arrProvinceRankBuff.length; ++i)
- {
- this._arrProvinceRank.push(this._arrProvinceRankBuff[i]);
- }
- this._arrProvinceRankBuff.length = 0;
- break;
- case Common.RankType.CountryRank:
- for (var i = 0; i < this._arrCountryRankBuff.length; ++i)
- {
- this._arrCountryRank.push(this._arrCountryRankBuff[i]);
- }
- this._arrCountryRankBuff.length = 0;
- break;
- }
- }
- cityRank()
- {
- if (this._arrCityRank.length > 1)
- this._arrCityRank.sort(this.sort);
- }
- provinceRank()
- {
- if (this._arrProvinceRank.length > 1)
- this._arrProvinceRank.sort(this.sort);
- }
- countryRank()
- {
- if (this._arrcountryRank.length > 1)
- this._arrcountryRank.sort(this.sort);
- }
- sort(r1, r2)
- {
- if (r1.weekScore > r2.weekScore)
- return -1;
- return 1;
- }
- getRank(rankType, id)
- {
- switch(rankType)
- {
- case Common.RankType.CityRank:
- if (id < 0 || id >= this._arrCityRank.length)
- return null;
- return this._arrCityRank[id];
- break;
- case Common.RankType.ProvinceRank:
- if (id < 0 || id >= this._arrProvinceRank.length)
- return null;
- return this._arrProvinceRank[id];
- break;
- case Common.RankType.CountryRank:
- if (id < 0 || id >= this._arrCountryRank.length)
- return null;
- return this._arrCountryRank[id];
- break;
- }
- }
- getSelfRankID(rankType)
- {
- switch(rankType)
- {
- case Common.RankType.CityRank:
- for (var i = 0; i < this._arrCityRank.length; ++i)
- {
- var info = this._arrCityRank[i];
- if (!info)
- continue;
-
- if (info.headUrl == this.selfUrl && info.nickName == this.selfName)
- return i;
- }
- break;
- case Common.RankType.ProvinceRank:
- for (var i = 0; i < this._arrProvinceRank.length; ++i)
- {
- var info = this._arrProvinceRank[i];
- if (!info)
- continue;
-
- if (info.headUrl == this.selfUrl && info.nickName == this.selfName)
- return i;
- }
- break;
- case Common.RankType.CountryRank:
- for (var i = 0; i < this._arrCountryRank.length; ++i)
- {
- var info = this._arrCountryRank[i];
- if (!info)
- continue;
-
- if (info.headUrl == this.selfUrl && info.nickName == this.selfName)
- return i;
- }
- break;
- }
- return -1;
- }
- }
|