镇念塔:加速挂机查询历史记录错误

This commit is contained in:
luying
2022-07-28 15:47:48 +08:00
parent 4e05e9d591
commit 20de6959f0
3 changed files with 11 additions and 5 deletions

View File

@@ -300,14 +300,14 @@ export async function calcuHangUpReward(role: RoleType, speedUp = false, speedUp
let towerInfo = gameData.tower.get(towerLv - 1); // towerLv 是当前层,奖励计算按照已经通过的层,即上一层
let baseReward = towerInfo.rewardOfcollect;
if (speedUp) { // 加速,直接收取6小时收益,小数的累积和普通收取独立
if (speedUp) { // 加速,直接收取2小时收益,小数的累积和普通收取独立
if (hangUpSpdUpCnt + speedUpCnt <= dicParam.TOWER_BOOST.TOWER_BOOSTTIME || !lastSpdUpTime || shouldRefresh(lastSpdUpTime, new Date)) { // 可加速
let startTime = curTime;
let endTime = new Date(curTime.getTime() + HANG_UP_CONSTS.SPD_UP_REC_TIME);
let deltaTime = endTime.getTime() - startTime.getTime(); // 累计的挂机时间,受最大时间限制
let spdUpRec = await HangUpSpdUpRecModel.getSpdUpRec(roleId, towerLv - 1);
let goods = [];
let goods: {gid: number, count: number}[] = [];
let spdUpRec = await HangUpSpdUpRecModel.getLatestSpdUpRec(roleId);
if (spdUpRec) {
let { notReceivedGoodsList = [], cnt } = spdUpRec;
let notReceivedGoods = notReceivedGoodsList.find(cur => cur.cnt == cnt);

View File

@@ -22,6 +22,7 @@ import { UserGuildModel } from '@db/UserGuild';
import { TowerRecordModel } from '@db/TowerRecord';
import { nowSeconds } from '@pubUtils/timeUtil';
import { RoleCeModel, RoleCeType } from '@db/RoleCe';
import HangUpRecord from '@db/HangUpRecord';
// import { resResult } from '@pubUtils/util';
@@ -577,10 +578,10 @@ export default class GMUsers extends Service {
towerLv = lv; break;
}
}
await RoleModel.updateRoleInfo(roleId, { towerLv });
let role = await RoleModel.updateRoleInfo(roleId, { towerLv });
await TowerRecordModel.deleteAccount(roleId);
await TowerRecordModel.insertTowerRec(roleId, towerLv);
// await HangUpRecordModel.updateRec(roleId, role.roleName, towerLv, new Date(), []);
await HangUpRecord.updateRec(roleId, role.roleName, towerLv, new Date(), []);
}
public async setCreateTime(roleId: string, day: number) {

View File

@@ -39,6 +39,11 @@ export default class HangUpSpdUpRec extends BaseModel {
return rec;
}
public static async getLatestSpdUpRec(roleId, lean = true ) {
let rec = await HangUpSpdUpRecModel.findOne({roleId}).sort({ lv: -1 }).lean(lean);
return rec;
}
public static async updateRec(roleId, roleName, multi, lv, needReceiveGoods: Array<{gid:number, count: number}>, lean = true ) {
if (multi <= 0) return null;
let rec: HangUpSpdUpRecType = await HangUpSpdUpRecModel.findOneAndUpdate({roleId, lv, roleName}, {$inc: {cnt: multi}}, {upsert: true, new: true}).lean(lean);