活动:战令
This commit is contained in:
@@ -21,12 +21,12 @@ import { getPlayerDailyGKData } from './dailyGKService';
|
||||
import { getPlayerRefreshShopData } from './refreshShopService';
|
||||
import { getPlayerRefreshTaskData } from './refreshTaskService';
|
||||
import { getPlayerMonopolyData } from './monopolyService';
|
||||
import { getPlayerNewHeroGiftsData } from './newHeroGiftsService';
|
||||
import { getPlayerNewHeroGiftsData, newHeroGiftPoint } from './newHeroGiftsService';
|
||||
import { getPlayerNewHeroGKData } from './newHeroGKService';
|
||||
import { getPlayerNewHeroGachaData } from './newHeroGachaService';
|
||||
import { pinus } from 'pinus';
|
||||
import { BackendSession, pinus } from 'pinus';
|
||||
import { ActivityModel, ActivityModelType } from '../../db/Activity';
|
||||
import { getRandSingleEelm } from '../../pubUtils/util';
|
||||
import { getRandSingleEelm, resResult } from '../../pubUtils/util';
|
||||
import { SignInData } from '../../domain/activityField/signInField';
|
||||
import { ActivityGroupModel } from '../../db/ActivityGroup';
|
||||
import { ActivityGroupTypeModel } from '../../db/ActivityGroupType';
|
||||
@@ -34,6 +34,9 @@ import { ServerlistModel } from '../../db/Serverlist';
|
||||
import { ActivityInRemote, transActivityInRemoteToModelType } from '../../domain/activityField/activityField';
|
||||
import { getPlayerLuckyTurntableDataShow } from './luckyTurntableService';
|
||||
import { getTimeLimitRankDataShow } from './timeLimitRankService';
|
||||
import { ActivityTaskPointModel } from '../../db/ActivityTaskPoint';
|
||||
import { getRoleOnlineInfo } from '../redisService';
|
||||
import { addTaskPassPoint } from './taskPassService';
|
||||
|
||||
/**
|
||||
* 获取活动数据
|
||||
@@ -315,11 +318,65 @@ export async function checkActivityGroupType(groupType: number, activities: Acti
|
||||
let index = dic.findIndex(cur => cur.activityType == type);
|
||||
if(index == -1) {
|
||||
return false;
|
||||
} else {
|
||||
dic.splice(index, 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return true
|
||||
}
|
||||
|
||||
/**
|
||||
* 达成任务可活动活动积分
|
||||
* @param type 任务类型,主线、每日、成就
|
||||
* @param id
|
||||
* @param point
|
||||
* @param session
|
||||
*/
|
||||
export async function addActvityTaskPoint(type: number, id: number, session: BackendSession) {
|
||||
let serverId: number = session.get('serverId');
|
||||
let roleId: string = session.get('roleId');
|
||||
let sid: string = session.get('sid');
|
||||
let activityTaskPoint = await ActivityTaskPointModel.findData(type, id);
|
||||
let result: pushActivityInter[] = [];
|
||||
for (let { activityId, activityType, point } of activityTaskPoint) {
|
||||
console.log('##### activityTaskPoint:', activityId, activityType, point)
|
||||
if(activityType == ACTIVITY_TYPE.NEW_HERO_GIFTS) { // 新武将活动
|
||||
let totalPoint = await newHeroGiftPoint(serverId, activityId, roleId, point);
|
||||
result.push({ activityId, activityType, param: { totalPoint } });
|
||||
} else if (activityType == ACTIVITY_TYPE.TASK_PASS) {
|
||||
let totalPoint = await addTaskPassPoint(serverId, activityId, roleId, point);
|
||||
result.push({ activityId, activityType, param: { totalPoint } });
|
||||
} else {
|
||||
break;
|
||||
}
|
||||
}
|
||||
await pushActivities(result, roleId, sid);
|
||||
}
|
||||
|
||||
|
||||
interface pushActivityParamInter {
|
||||
ticketCnt?: number; // 木签活动的签数(type21)
|
||||
totalPoint?: number; // 新将好礼(type37)和战令(type42)更新后的积分
|
||||
}
|
||||
|
||||
export interface pushActivityInter {
|
||||
activityId: number,
|
||||
activityType: number,
|
||||
param: pushActivityParamInter;
|
||||
}
|
||||
|
||||
export async function pushSingleActivity(activityId: number, activityType: number, param: pushActivityParamInter, roleId: string, sid?: string) {
|
||||
await pushActivities([{ activityId, activityType, param }], roleId, sid);
|
||||
}
|
||||
|
||||
export async function pushActivities(arr: pushActivityInter[], roleId: string, sid?: string) {
|
||||
if(!sid) {
|
||||
let onlineUser = await getRoleOnlineInfo(roleId);
|
||||
sid = onlineUser.sid;
|
||||
}
|
||||
pinus.app.get('channelService').pushMessageByUids('onActivityUpdate',
|
||||
resResult(STATUS.SUCCESS, {
|
||||
activities: arr
|
||||
}),
|
||||
[{ uid: roleId, sid }]);
|
||||
}
|
||||
Reference in New Issue
Block a user