镇念塔:刷新任务防并发

This commit is contained in:
luying
2022-09-23 16:03:53 +08:00
parent 8d62021c12
commit d3683b5b4b
4 changed files with 19 additions and 18 deletions
+8 -6
View File
@@ -107,8 +107,9 @@ export async function getHungupRewards(roleId: string, role?: RoleType) {
* 获取派遣任务列表
* @param role
*/
export async function getTasks(role: RoleType) {
let { roleId, roleName, towerLv, towerTaskRefTime, towerTaskReCnt = 0 } = role;
export async function getTasks(roleId: string) {
let role = await RoleModel.findByRoleId(roleId, 'roleName towerLv towerTaskRefTime towerTaskReCnt');
let { roleName, towerLv, towerTaskRefTime, towerTaskReCnt = 0 } = role;
// towerLv:从1开始,下次打得层数,dicParam内的:从0开始,打过的层数
if(towerLv - 1 < dicParam.TOWER_SEARCH.TOWER_SEARCH_STARTLIMITED) {
@@ -116,11 +117,10 @@ export async function getTasks(role: RoleType) {
}
let curTime = new Date();
let curTasks = await TowerTaskRecModel.getCurTasks(roleId); // 当前显示中的任务
const needRefresh = shouldRefresh(towerTaskRefTime, curTime);
let curTasks: TowerTaskRecType[] = []
if(needRefresh) {
role = await RoleModel.resetTowerCnt(roleId, curTime);
const batchCode = genCode(8);
let preTasks = await TowerTaskRecModel.getPreTasks(roleId);
if(preTasks && preTasks.length) {
@@ -133,9 +133,11 @@ export async function getTasks(role: RoleType) {
curTasks = await refreshTasks(towerLv, batchCode, roleId, roleName, []); // 新建任务
// 重置派遣次数
role = await RoleModel.resetTowerCnt(roleId, curTime);
towerTaskReCnt = role.towerTaskReCnt;
}
if(curTasks.length <=0 ) {
curTasks = await TowerTaskRecModel.getCurTasks(roleId); // 当前显示中的任务
}
let refRemainTime = getRemainTime(curTime);
let nextCostGold = getTowerTaskCostGold(role.towerTaskReCnt, role.towerTaskRefTime);