军团活动:修复bug
This commit is contained in:
@@ -329,6 +329,9 @@ export class GateActivityHandler {
|
|||||||
if (msg.week <= 2) {
|
if (msg.week <= 2) {
|
||||||
await GuildActivityCityModel.deleteMany({});
|
await GuildActivityCityModel.deleteMany({});
|
||||||
}
|
}
|
||||||
|
await delGuildActivityRank(GUILD_ACTIVITY_TYPE.GATE_ACTIVITY);
|
||||||
|
await delGuildActivityRank(GUILD_ACTIVITY_TYPE.CITY_ACTIVITY);
|
||||||
|
await delGuildActivityRank(GUILD_ACTIVITY_TYPE.RACE_ACTIVITY);
|
||||||
return resResult(STATUS.SUCCESS);
|
return resResult(STATUS.SUCCESS);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -205,9 +205,9 @@ export async function getCityActivityRank(guildCode: string, serverId: number, c
|
|||||||
|
|
||||||
let myR = new Rank(REDIS_KEY.USER_CITY_ACTIVITY, { serverId, guildCode });
|
let myR = new Rank(REDIS_KEY.USER_CITY_ACTIVITY, { serverId, guildCode });
|
||||||
myR.setGenerFieldsFun(generGuildActivityMemberRankField);
|
myR.setGenerFieldsFun(generGuildActivityMemberRankField);
|
||||||
let { ranks: memberRank, myRank: myMemberRank } = await r.getRankListWithMyRank({ roleId });
|
let { ranks: memberRank, myRank: myMemberRank } = await myR.getRankListWithMyRank({ roleId });
|
||||||
if (roleName && !myMemberRank) {
|
if (roleName && !myMemberRank) {
|
||||||
myMemberRank = await r.generMyRankWithRole(roleId, 0, 0);
|
myMemberRank = await myR.generMyRankWithRole(roleId, 0, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
return { guildRank, myGuildRank, memberRank, myMemberRank }
|
return { guildRank, myGuildRank, memberRank, myMemberRank }
|
||||||
|
|||||||
@@ -58,7 +58,7 @@ export class Rank {
|
|||||||
case REDIS_KEY.RACE_ACTIVITY:
|
case REDIS_KEY.RACE_ACTIVITY:
|
||||||
this.valueConfig = [
|
this.valueConfig = [
|
||||||
new ValueConfig(true, 'score', 0, false, false),
|
new ValueConfig(true, 'score', 0, false, false),
|
||||||
new ValueConfig(false, 'time', 6, true, true)
|
new ValueConfig(false, 'time', 10, true, true)
|
||||||
];
|
];
|
||||||
break;
|
break;
|
||||||
case REDIS_KEY.GUILD_LV_RANK:
|
case REDIS_KEY.GUILD_LV_RANK:
|
||||||
@@ -669,6 +669,9 @@ export class Rank {
|
|||||||
const field = rankFromDb[ii];
|
const field = rankFromDb[ii];
|
||||||
let myId = this.decodeFields(this.key, field);
|
let myId = this.decodeFields(this.key, field);
|
||||||
const scores = this.decodeScore(rankFromDb[ii + 1]);
|
const scores = this.decodeScore(rankFromDb[ii + 1]);
|
||||||
|
|
||||||
|
console.log('**********', scores);
|
||||||
|
|
||||||
const info = await redisClient().hgetAsync(this.infoKey, this.composeFields(this.infoKey, myId));
|
const info = await redisClient().hgetAsync(this.infoKey, this.composeFields(this.infoKey, myId));
|
||||||
const userInfo = JSON.parse(info);
|
const userInfo = JSON.parse(info);
|
||||||
|
|
||||||
@@ -828,10 +831,15 @@ export class Rank {
|
|||||||
private decodeScore(num: string) {
|
private decodeScore(num: string) {
|
||||||
let _num = parseInt(num);
|
let _num = parseInt(num);
|
||||||
let scores: number[] = [];
|
let scores: number[] = [];
|
||||||
this.valueConfig.forEach(({ weight }) => {
|
this.valueConfig.forEach(({ reverse, isTimestamp, len, weight }) => {
|
||||||
let pow = Math.pow(10, weight);
|
let pow = Math.pow(10, weight);
|
||||||
let score = Math.floor(_num / pow);
|
let score = Math.floor(_num / pow);
|
||||||
_num -= pow * score;
|
_num -= pow * score;
|
||||||
|
if(isTimestamp) score = this.handleTimestamp(score, len);
|
||||||
|
if(reverse) {
|
||||||
|
let pow = Math.pow(10, len);
|
||||||
|
score = pow - 1 - score;
|
||||||
|
}
|
||||||
scores.push(score);
|
scores.push(score);
|
||||||
})
|
})
|
||||||
return scores;
|
return scores;
|
||||||
|
|||||||
Reference in New Issue
Block a user