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