镇念塔:加速挂机查询历史记录错误
This commit is contained in:
@@ -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);
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user