军团活动:修改粮草先行

This commit is contained in:
luying
2022-04-30 19:19:15 +08:00
parent d9d0aad862
commit 2b737f2528
6 changed files with 160 additions and 123 deletions

View File

@@ -1,7 +1,7 @@
import { Application, ChannelService, BackendSession, HandlerService, } from "pinus";
import { GUILD_ACTIVITY_TYPE, STATUS, GUILD_ACTIVITY_STATUS, GUILD_POINT_WAYS, REDIS_KEY, TASK_TYPE, PUSH_ROUTE } from "../../../consts";
import { GUILD_ACTIVITY_TYPE, STATUS, GUILD_ACTIVITY_STATUS, GUILD_POINT_WAYS, REDIS_KEY, TASK_TYPE, PUSH_ROUTE, RACE_ACTIVITY_STATUS } from "../../../consts";
import { resResult } from "../../../pubUtils/util";
import { getGuildActivityStatus, getRaceActivityObj, getRaceActivityRank, getWoodenHorseList, calWoodenHorseAndSend, raceActivitySettleReward } from "../../../services/guildActivity/guildActivityService";
import { getGuildActivityStatus, getRaceActivityObj, getWoodenHorseList, calWoodenHorseAndSend, raceActivitySettleReward } from "../../../services/guildActivity/guildActivityService";
import { UserGuildModel } from "../../../db/UserGuild";
import { GuildActivityRecordModel } from "../../../db/GuildActivityRec";
import { UserGuildActivityRecModel } from "../../../db/UserGuildActivityRec";
@@ -12,6 +12,8 @@ import { guildInter } from "../../../pubUtils/interface";
import { getGuildChannelSid } from "../../../services/chatService";
import { ServerRecordModel } from "../../../db/ServerRecords";
import { sendMessageToGuildWithSuc } from "../../../services/pushService";
import { RaceActivityRankParam } from "../../../domain/battleField/guildActivity";
import { GuildRankInfo } from "../../../domain/rank";
export default function (app: Application) {
new HandlerService(app, {});
@@ -43,9 +45,21 @@ export class RaceActivityHandler {
if (!woodenHorse) return resResult(STATUS.GUILD_AUTH_NOT_ENOUGH);
let events = obj.getEvents(guildCode, woodenHorse.distance);
let ranks = await getRaceActivityRank(guildCode, serverId);
let ranks: { myGuildRank?: RaceActivityRankParam, guildRank?: RaceActivityRankParam[] } = {};
let hasJoin = obj.getMember(guildCode, roleId);
if(obj.status == RACE_ACTIVITY_STATUS.START) {
ranks = await obj.getRanks(serverId, guildCode);
} else {
let r = new Rank(REDIS_KEY.RACE_ACTIVITY, { serverId });
r.setGenerFieldsFun(function (param: GuildRankInfo) {
let { rank, code, name, num, num1, num2 } = param;
return { rank, code, name, num, time: Math.floor(num1/1000), durability: num2 };
});
let { ranks: guildRank, myRank: myGuildRank } = await r.getRankListWithMyRank({ guildCode });
ranks = { guildRank, myGuildRank }
}
return resResult(STATUS.SUCCESS, {
...statusResult,
@@ -185,15 +199,23 @@ export class RaceActivityHandler {
await UserGuildActivityRecModel.updateInfo(code, { hasShow: true });
}
// 返回当前军团总军功
let obj = getRaceActivityObj();
let myGuildRank = 0;
let woodenHorse = await obj.getWoodenHorse(guildCode, serverId);
if(!woodenHorse) { // 已被结算
if(obj.status == RACE_ACTIVITY_STATUS.START) {
let { myGuildRank: rank, guildRank } = await obj.getRanks(serverId, guildCode);
console.log('#', JSON.stringify(guildRank))
myGuildRank = rank?.rank||0;
if(woodenHorse) {
console.log('########', woodenHorse.time - woodenHorse.allStartTime, rank.sortTime);
woodenHorse = woodenHorse.getTreatTime();
}
} else {
woodenHorse = guildActivityRec.woodenHorse;
myGuildRank = guildActivityRec.rank;
}
// 返回当前军团总军功
let r = new Rank(REDIS_KEY.RACE_ACTIVITY, { serverId });
let myGuildRank = await r.getMyRank({ guildCode });
return resResult(STATUS.SUCCESS, {
timestamp: Date.now(),