pvp:添加PVP任务
This commit is contained in:
@@ -7,7 +7,7 @@ import { addItems } from "../../../services/rewardService";
|
||||
import { UserTaskModel } from "../../../db/UserTask";
|
||||
import { nowSeconds, getZeroPointD } from "../../../pubUtils/timeUtil";
|
||||
import { DicDailyTask, DicAchievement, DicMainTask } from "../../../pubUtils/dictionary/DicTask";
|
||||
import { getMainTask, refDailyTaskBox, removeHistoryTask, getCurTask, checkTask } from "../../../services/taskService";
|
||||
import { getMainTask, refDailyTaskBox, removeHistoryTask, getCurTask, checkTask, getPvpTask } from "../../../services/taskService";
|
||||
import { TASK } from "../../../pubUtils/dicParam";
|
||||
import { newHeroGiftPoint } from "../../../services/activity/newHeroGiftsService";
|
||||
import { ActivityTaskPointModel, ActivityTaskPointModelType } from "../../../db/ActivityTaskPoint";
|
||||
@@ -31,6 +31,13 @@ export class ShopHandler {
|
||||
return resResult(STATUS.SUCCESS, res);
|
||||
}
|
||||
|
||||
public async getPvpTaskList(msg: {}, session: BackendSession) {
|
||||
const roleId: string = session.get('roleId');
|
||||
|
||||
const res = await getPvpTask(roleId);
|
||||
return resResult(STATUS.SUCCESS, res);
|
||||
}
|
||||
|
||||
// 领取主线任务、每日任务、成就单条任务
|
||||
async receiveTask(msg: { type: number, id: number }, session: BackendSession) {
|
||||
const roleId: string = session.get('roleId');
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
*/
|
||||
import { getMails } from './mailService';
|
||||
import { recentGuildMsgs, recentPrivateChatInfos, recentSysMsgs, recentWorldMsgs } from './chatService';
|
||||
import { getCurTask } from './taskService';
|
||||
import { getCurTask, getPvpTask } from './taskService';
|
||||
|
||||
import { RoleType } from '../db/Role';
|
||||
import { Application, FrontendOrBackendSession, pinus } from 'pinus';
|
||||
@@ -128,7 +128,9 @@ async function getModuleData(type: string, data: { role: RoleType, session: Fron
|
||||
return { receiveBoxs, donateFund, reports, donateCnt: donateCnt || 0, donationLv };
|
||||
}
|
||||
case 'task':
|
||||
return await getCurTask(role.roleId, session);
|
||||
let tasks = await getCurTask(role.roleId, session);
|
||||
let pvpTask = await getPvpTask(role.roleId);
|
||||
return {...tasks, pvpTask}
|
||||
case 'chat':
|
||||
const worldMsgs = await recentWorldMsgs(serverId);
|
||||
const sysMsgs = await recentSysMsgs(serverId);
|
||||
|
||||
@@ -246,6 +246,22 @@ export async function getAchievement(roleId: string, userTask: UserTaskType) {
|
||||
return { point, taskList, box }
|
||||
}
|
||||
|
||||
export async function getPvpTask(roleId: string) {
|
||||
let type = TASK_FUN_TYPE.PVP;
|
||||
let recMap = await UserTaskRecModel.findByRoleAndType(roleId, type); // group=>userTaskRec
|
||||
|
||||
let taskList: TaskListReturn[] = [];
|
||||
for (let [id, dic] of gameData.pvpDailyTask) {
|
||||
let dbRec = recMap.get(dic.taskType)?.get(dic.group);
|
||||
if (dbRec) {
|
||||
taskList.push({ type, id, count: dbRec.count, received: dbRec.received.includes(id) });
|
||||
} else {
|
||||
taskList.push({ type, id, count: 0, received: false });
|
||||
}
|
||||
}
|
||||
return { taskList }
|
||||
}
|
||||
|
||||
// 刷新每日任务
|
||||
export async function refDailyTask(roleId: string, sid: string) {
|
||||
let userTask = await UserTaskModel.findByRole(roleId);
|
||||
|
||||
Reference in New Issue
Block a user