练兵场:清空bug
This commit is contained in:
@@ -9,7 +9,7 @@ import { ARMY } from '../pubUtils/dicParam';
|
|||||||
import { lockData } from './redLockService';
|
import { lockData } from './redLockService';
|
||||||
import { pinus } from 'pinus';
|
import { pinus } from 'pinus';
|
||||||
import { MailModel, MailType } from '../db/Mail';
|
import { MailModel, MailType } from '../db/Mail';
|
||||||
import { resResult, getRandSingleEelm } from '../pubUtils/util';
|
import { resResult, getRandSingleEelm, shouldRefresh } from '../pubUtils/util';
|
||||||
import { STATUS } from '../consts/statusCode';
|
import { STATUS } from '../consts/statusCode';
|
||||||
import { GuildTrainReportModel } from '../db/GuildTrainReport';
|
import { GuildTrainReportModel } from '../db/GuildTrainReport';
|
||||||
import { DATA_NAME } from '../consts/dataName';
|
import { DATA_NAME } from '../consts/dataName';
|
||||||
@@ -23,26 +23,12 @@ 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 trainId = await resetTrain(guildCode, serverId);//检查重置练兵场
|
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}, {});
|
||||||
if(trainId) {
|
|
||||||
|
|
||||||
let { trainInstances } = getArmyTrainJuDian(trainId);
|
|
||||||
// 初始化
|
|
||||||
let instances = trainInstances.map(trainInstance => {
|
|
||||||
let t = new TrainInstance();
|
|
||||||
t.hid = trainInstance.hid;
|
|
||||||
t.progress = 0;
|
|
||||||
t.endTime = 0;
|
|
||||||
t.trainBoxs = [];
|
|
||||||
return t;
|
|
||||||
});
|
|
||||||
await GuildTrainModel.updateGuildTrain(guildCode, trainId, { trainInstances: instances });
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return userGuild;
|
return userGuild;
|
||||||
@@ -155,7 +141,23 @@ 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, trainId } = await GuildModel.findGuild(code, serverId, 'structure trainId');
|
let { structure, trainId, resetTrainTimeDaily } = await GuildModel.findGuild(code, serverId, 'structure trainId resetTrainTimeDaily');
|
||||||
|
if(trainId && shouldRefresh(resetTrainTimeDaily, new Date())) {
|
||||||
|
let { trainInstances } = getArmyTrainJuDian(trainId);
|
||||||
|
// 初始化
|
||||||
|
let instances = trainInstances.map(trainInstance => {
|
||||||
|
let t = new TrainInstance();
|
||||||
|
t.hid = trainInstance.hid;
|
||||||
|
t.progress = 0;
|
||||||
|
t.endTime = 0;
|
||||||
|
t.trainBoxs = [];
|
||||||
|
return t;
|
||||||
|
});
|
||||||
|
await GuildTrainModel.updateGuildTrain(code, trainId, { trainInstances: instances });
|
||||||
|
await GuildModel.updateInfo(code, { resetTrainTimeDaily: new Date() });
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
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();//解锁
|
||||||
|
|||||||
@@ -103,6 +103,9 @@ export default class Guild extends BaseModel {
|
|||||||
@prop({ required: true, default: () => { return getZeroPoint(SHOP_REFRESH_TYPE.WEEKLY) } })
|
@prop({ required: true, default: () => { return getZeroPoint(SHOP_REFRESH_TYPE.WEEKLY) } })
|
||||||
resetTrainTime: number;//上次刷新挑战训练场次数的时间
|
resetTrainTime: number;//上次刷新挑战训练场次数的时间
|
||||||
|
|
||||||
|
@prop({ required: true, default: () => { return new Date()} })
|
||||||
|
resetTrainTimeDaily: Date;
|
||||||
|
|
||||||
@prop({ required: true, default: getZeroPointD })
|
@prop({ required: true, default: getZeroPointD })
|
||||||
refOpenBossTime: Date; // 开启boss本刷新时间
|
refOpenBossTime: Date; // 开启boss本刷新时间
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user