练兵场:第二天武将进度清零

This commit is contained in:
luying
2021-09-28 13:39:49 +08:00
parent 89e88d67ce
commit b024b53334
+16 -16
View File
@@ -23,25 +23,25 @@ import { getGuildChannelSid } from './chatChannelService';
*/ */
export async function refreshTrain(userGuild: UserGuildType, roleId: string, serverId: number) { export async function refreshTrain(userGuild: UserGuildType, roleId: string, serverId: number) {
let { trainCount, trainTime, buyTrainCount, guildCode} = userGuild; let { trainCount, trainTime, buyTrainCount, guildCode} = userGuild;
let resetResult = await resetTrain(guildCode, serverId);//检查重置练兵场 let trainId = await resetTrain(guildCode, serverId);//检查重置练兵场
if (trainTime < getZeroPoint()) {//重置挑战次数和购买次数 if (trainTime < getZeroPoint()) {//重置挑战次数和购买次数
trainCount = ARMY.ARMY_TRAIN_BUYTIMES; trainCount = ARMY.ARMY_TRAIN_BUYTIMES;
buyTrainCount = 0; buyTrainCount = 0;
userGuild = await UserGuildModel.updateInfo(roleId, {trainCount, trainTime: nowSeconds(), buyTrainCount}, {}); userGuild = await UserGuildModel.updateInfo(roleId, {trainCount, trainTime: nowSeconds(), buyTrainCount}, {});
let guildTrains: GuildTrainType[] = []; if(trainId) {
if(resetResult && resetResult.guildTrains) {
guildTrains = resetResult.guildTrains; let { trainInstances } = getArmyTrainJuDian(trainId);
} else { // 初始化
guildTrains = await GuildTrainModel.getGuildTrainBoxs(guildCode); let instances = trainInstances.map(trainInstance => {
} let t = new TrainInstance();
for(let guildTrain of guildTrains) { t.hid = trainInstance.hid;
guildTrain.trainInstances.forEach(instance => { t.progress = 0;
instance.progress = 0; t.endTime = 0;
instance.endTime = 0; t.trainBoxs = [];
instance.trainBoxs = []; return t;
}); });
await GuildTrainModel.updateGuildTrain(guildCode, guildTrain.trainId, { trainInstances: guildTrain.trainInstances }); await GuildTrainModel.updateGuildTrain(guildCode, trainId, { trainInstances: instances });
} }
} }
@@ -155,12 +155,12 @@ export async function resetTrain(code: string, serverId: number) {
let res:any = await lockData(serverId, DATA_NAME.GUILD, code);//加锁 let res:any = await lockData(serverId, DATA_NAME.GUILD, code);//加锁
if (!!res.err) if (!!res.err)
return; return;
let { structure } = await GuildModel.findGuild(code, serverId, 'structure'); let { structure, trainId } = await GuildModel.findGuild(code, serverId, 'structure trainId');
let { lv } = findWhere(structure, {id: GUILD_STRUCTURE.TRAIN}); let { lv } = findWhere(structure, {id: GUILD_STRUCTURE.TRAIN});
let guild = await GuildModel.resetGuildTrain(code, serverId, lv); let guild = await GuildModel.resetGuildTrain(code, serverId, lv);
res.releaseCallback();//解锁 res.releaseCallback();//解锁
if (!guild) {//不满足重置条件,结束并解锁 if (!guild) {//不满足重置条件,结束并解锁
return; return trainId;
} }
const userGuildList = await UserGuildModel.getListByGuild(code, 'trainRewards', {}); const userGuildList = await UserGuildModel.getListByGuild(code, 'trainRewards', {});
const guildTrains = await GuildTrainModel.getGuildTrainBoxs(code); const guildTrains = await GuildTrainModel.getGuildTrainBoxs(code);
@@ -197,7 +197,7 @@ export async function resetTrain(code: string, serverId: number) {
await GuildTrainModel.resetGuildTrain(code);//将开启的练兵场锁定 await GuildTrainModel.resetGuildTrain(code);//将开启的练兵场锁定
await unlockTrain(code, 1);//开启练兵场1级 await unlockTrain(code, 1);//开启练兵场1级
await UserGuildModel.resetTrainUserGuild(code);//重置玩家的挑战次数和购买挑战次数 await UserGuildModel.resetTrainUserGuild(code);//重置玩家的挑战次数和购买挑战次数
return { guildTrains } return trainId
} }
/** /**
* 检查并重置试炼 * 检查并重置试炼