任务:埋点完成

This commit is contained in:
luying
2021-04-18 19:25:25 +08:00
parent 4bd4513ae6
commit 260744e7d2
20 changed files with 234 additions and 67 deletions

View File

@@ -9,7 +9,7 @@ import { resResult, genCode } from '../../../pubUtils/util';
import { PvpDefenseModel, OppPlayers } from '../../../db/PvpDefense';
import { pvpEndParamInter } from '../../../pubUtils/interface';
import { PlayerDetail, PlayerDetailHero } from '../../../domain/battleField/guild';
import { PVP_HERO_POS, PVP_HERO_ORDER, REDIS_KEY, LINEUP_NUM } from '../../../consts';
import { PVP_HERO_POS, PVP_HERO_ORDER, REDIS_KEY, LINEUP_NUM, TASK_TYPE } from '../../../consts';
import { PVP } from '../../../pubUtils/dicParam';
import { addItems } from '../../../services/rewardService';
import { HeroModel } from '../../../db/Hero';
@@ -23,6 +23,7 @@ import { PvpSeasonResultModel } from '../../../db/PvpSeasonResult';
import { PvpHistoryOppModel, PvpHistoryOppType } from '../../../db/PvpHistoryOpp';
import { SystemConfigModel } from '../../../db/SystemConfig';
import { Rank } from '../../../services/rankService';
import { checkTask, checkTaskInPvpEnd } from '../../../services/taskService';
export default function(app: Application) {
return new PvpHandler(app);
@@ -35,6 +36,7 @@ export class PvpHandler {
async addRoleScore(msg: {heroScores: Array<{hid: number, score:number}>}, session: BackendSession) {
let { heroScores: addHeroScores } = msg;
let roleId = session.get('roleId');
let sid = session.get('sid');
let {heroScores, hisScore} = await PvpDefenseModel.findByRoleId(roleId);
let score = 0;
for (let {hid, score: heroScore} of addHeroScores) {
@@ -63,6 +65,10 @@ export class PvpHandler {
// 加入排行榜
let r = new Rank(REDIS_KEY.PVP_RANK, {});
await r.setRankWithRoleInfo(roleId, pvpDefense.score, pvpDefense.updatedAt.getTime(), role);
// 任务
await checkTask(roleId, sid, TASK_TYPE.PVP_HERO_SCORE, 0, false, { heroScores });
return resResult(STATUS.SUCCESS, {score, hisScore, heroScores});
}
@@ -221,6 +227,7 @@ export class PvpHandler {
let roleId = session.get('roleId');
let roleName = session.get('roleName');
let sid = session.get('sid');
const { battleCode, isSuccess, myHeroes, oppHeroes } = msg;
@@ -287,6 +294,8 @@ export class PvpHandler {
let r = new Rank(REDIS_KEY.PVP_RANK, {});
await r.setRankWithRoleInfo(roleId, pvpDefense.score, pvpDefense.updatedAt.getTime(), role);
let myRank = await r.getMyRank({roleId});
await checkTaskInPvpEnd(roleId, sid, isSuccess, heroScores);
return resResult(STATUS.SUCCESS, {
battleCode, isSuccess,
@@ -469,6 +478,8 @@ export class PvpHandler {
let { challengeCnt, challengeRefTime } = refresh(lastChallengeCnt, lastChallengeRefTime, seasonEndTime);
await PvpDefenseModel.updateInfo(roleId, {receivedBox, challengeCnt, challengeRefTime});
let result = await addItems(roleId, roleName, sid, pvpBox.reward );
// 任务
await checkTask(roleId, sid, TASK_TYPE.PVP_RECEIVE_BOX, 1, true, {});
return resResult(STATUS.SUCCESS,{goods: result, receivedBox, challengeCnt, challengeRefTime});
}