活动:修改任务接口
This commit is contained in:
@@ -7,8 +7,7 @@ import { HERO_SYSTEM_TYPE, TASK_TYPE } from "../consts";
|
||||
import { EquipType } from "../db/Equip";
|
||||
import { calEquipSeids } from '../pubUtils/playerCe';
|
||||
import { indexOf, findIndex } from 'underscore';
|
||||
import { checkTask, checkTaskWithHero, checkTaskWithEquip } from './taskService';
|
||||
import { accomplishTask } from '../pubUtils/taskUtil';
|
||||
import { checkTask, checkTaskWithHero, checkTaskWithEquip, checkActivityTask } from './taskService';
|
||||
/**
|
||||
* 校验前端传入的消耗数量是否准确,并返回消耗的道具并加上特殊材料needConsumes
|
||||
* @param consumes
|
||||
@@ -129,8 +128,8 @@ export async function dressEquip(serverId: number, roleId: string, sid: string,
|
||||
await checkTask(roleId, sid, funcs, TASK_TYPE.EQUIP_SUM, 1, true, {});
|
||||
await checkTaskWithHero(roleId, sid, funcs, TASK_TYPE.EQUIP_BY_HERO, hero, [1]);
|
||||
await checkTaskWithEquip(roleId, sid, funcs, TASK_TYPE.EQUIP_QUALITY, equip, [1]);
|
||||
await accomplishTask(serverId, roleId, TASK_TYPE.EQUIP_QUALITY, 1, { quality: equip.quality })
|
||||
await accomplishTask(serverId, roleId, TASK_TYPE.EQUIP_SUM, 1)
|
||||
await checkActivityTask(serverId, sid, funcs, roleId, TASK_TYPE.EQUIP_QUALITY, 1, { quality: equip.quality })
|
||||
await checkActivityTask(serverId, sid, funcs, roleId, TASK_TYPE.EQUIP_SUM, 1)
|
||||
|
||||
return { seqId: equip.seqId, hid: hero.hid };
|
||||
}
|
||||
@@ -112,3 +112,26 @@ export async function getPlayerGrowthFundData(activityId: number, serverId: numb
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 购买高阶版
|
||||
*
|
||||
* @param {number} serverId 区Id
|
||||
* @param {number} activityId 活动Id
|
||||
* @param {string} roleId 角色Id
|
||||
* @param {string} productID 商品ID
|
||||
*
|
||||
*/
|
||||
export async function makeGrowthFund(roleId: string, roleName: string, sid: string, serverId: number, funcs: number[],
|
||||
activityId: number, productID: string) {
|
||||
let activityData: ActivityModelType = await ActivityModel.findActivity(activityId);
|
||||
if (!activityData) {
|
||||
return null;
|
||||
}
|
||||
let playerData = new GrowthFundData(activityData);
|
||||
let pageData = playerData.findPageByProductID(productID);
|
||||
let pageIndex = pageData.pageIndex;
|
||||
await ActivityBuyRecordsModel.addRecord(activityId, roleId, activityData.type, pageIndex, true);
|
||||
return Object.assign({}, { item: { pageIndex }, activityId: activityId })
|
||||
}
|
||||
@@ -20,8 +20,7 @@ import { getMailContent } from '../services/mailService';
|
||||
import { DATA_NAME } from '../consts/dataName';
|
||||
import { addRoleToGuildChannel } from "./chatService";
|
||||
import { Rank } from "./rankService";
|
||||
import { checkTask } from "./taskService";
|
||||
import { accomplishTask } from "../pubUtils/taskUtil";
|
||||
import { checkActivityTask, checkTask } from "./taskService";
|
||||
|
||||
/**
|
||||
* @description 检查该玩家是否有权限做操作
|
||||
@@ -93,7 +92,7 @@ export async function joinGuild(code: string, guildName: string, lv: number, rol
|
||||
}
|
||||
|
||||
//成长任务-加入军团
|
||||
await accomplishTask(serverId, roleId, TASK_TYPE.GUILD_JOIN, 1);
|
||||
await checkActivityTask(serverId, sid, [], roleId, TASK_TYPE.GUILD_JOIN, 1);
|
||||
|
||||
session.set('guildCode', code);
|
||||
session.push('guildCode', () => { });
|
||||
|
||||
@@ -8,8 +8,7 @@ import { FUNC_OPT_TYPE, TASK_TYPE } from '../consts';
|
||||
import { BackendSession } from 'pinus';
|
||||
import { REDIS_KEY } from '../consts';
|
||||
import { Rank } from './rankService';
|
||||
import { checkTask } from './taskService';
|
||||
import { accomplishTask } from '../pubUtils/taskUtil';
|
||||
import { checkActivityTask, checkTask } from './taskService';
|
||||
|
||||
export async function roleLevelup(roleId: string, kingExp: number, session: BackendSession) {
|
||||
const serverId = session.get('serverId');
|
||||
@@ -36,7 +35,7 @@ export async function roleLevelup(roleId: string, kingExp: number, session: Back
|
||||
// 任务
|
||||
await checkTask(roleId, session.get('sid'), session.get('funcs'), TASK_TYPE.ROLE_LV, newLv, false, {});
|
||||
//成长任务
|
||||
await accomplishTask(serverId, roleId, TASK_TYPE.ROLE_LV, newLv);
|
||||
await checkActivityTask(serverId, session.get('sid'), session.get('funcs'), roleId, TASK_TYPE.ROLE_LV, newLv);
|
||||
|
||||
}
|
||||
let actordata: { lv: number, exp: number, getExp: number, mostExp: number }[] = [];
|
||||
|
||||
@@ -12,6 +12,7 @@ import { makePopUpShopReward } from './popUpShopService';
|
||||
import { ActivityModel, ActivityModelType } from '../db/Activity';
|
||||
import { ActivityFirstGiftModel } from '../db/ActivityFirstGift';
|
||||
import { ServerlistModel } from '../db/Serverlist';
|
||||
import { makeGrowthFund } from './growthFundService';
|
||||
|
||||
|
||||
|
||||
@@ -84,16 +85,19 @@ export async function makeOrder(localOrderID: string, sid: string, orderInfo: Us
|
||||
rewardResult = await makePopUpShopReward(roleId, roleInfo.roleName, sid, orderInfo.serverId, roleInfo.funcs, orderInfo.activityId, orderInfo.productID)
|
||||
break;
|
||||
}
|
||||
case ACTIVITY_TYPE.GROWTH_FUND_MAIN_VIP:
|
||||
case ACTIVITY_TYPE.GROWTH_FUND_MAIN_VIP: //主线成长基金(高阶)
|
||||
{
|
||||
rewardResult = await makeGrowthFund(roleId, roleInfo.roleName, sid, orderInfo.serverId, roleInfo.funcs, orderInfo.activityId, orderInfo.productID)
|
||||
break;
|
||||
}
|
||||
case ACTIVITY_TYPE.GROWTH_FUND_MAIN_VIP:
|
||||
case ACTIVITY_TYPE.GROWTH_FUND_TOWER_VIP://镇念塔成长基金(高阶)
|
||||
{
|
||||
rewardResult = await makeGrowthFund(roleId, roleInfo.roleName, sid, orderInfo.serverId, roleInfo.funcs, orderInfo.activityId, orderInfo.productID)
|
||||
break;
|
||||
}
|
||||
case ACTIVITY_TYPE.GROWTH_FUND_TOWER_VIP:
|
||||
case ACTIVITY_TYPE.GROWTH_FUND_MAIN_ELITE_VIP://精英成长基金(高阶)
|
||||
{
|
||||
rewardResult = await makeGrowthFund(roleId, roleInfo.roleName, sid, orderInfo.serverId, roleInfo.funcs, orderInfo.activityId, orderInfo.productID)
|
||||
break;
|
||||
}
|
||||
default:
|
||||
|
||||
@@ -73,6 +73,26 @@ export async function pushTaskUpdate(roleId: string, sid: string, funcs: number[
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
export async function checkActivityTask(serverId: number, sid: string, funcs: number[], roleId: string, taskType: TASK_TYPE, count: number, parma?: any) {
|
||||
let pushMessage = await taskUtil.accomplishTask(serverId, roleId, taskType, count, parma);
|
||||
pushTaskUpdate(roleId, sid, funcs, pushMessage);
|
||||
}
|
||||
|
||||
export async function pushActivityUpdate(roleId: string, sid: string, funcs: number[], pushMessage: any[]) {
|
||||
if (pushMessage.length > 0) {
|
||||
if (!sid || !funcs) {
|
||||
let onlineUser = await getRoleOnlineInfo(roleId);
|
||||
sid = onlineUser.sid;
|
||||
funcs = onlineUser.funcs || [];
|
||||
}
|
||||
if (!!sid) {
|
||||
let uids = [{ uid: roleId, sid }];
|
||||
pinus.app.get('channelService').pushMessageByUids('onActivityUpdate', resResult(STATUS.SUCCESS, pushMessage), uids);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* battle.normalBattleHandler.battleEnd 中会触发的任务,因为有点多提出来了
|
||||
*/
|
||||
@@ -88,7 +108,7 @@ export async function checkTaskInBattleEnd(serverId: number, roleId: string, sid
|
||||
await checkTaskWithWar(roleId, sid, funcs, TASK_TYPE.BATTLE_VESTIGE, battleId, heroes, 1, star);
|
||||
await checkTaskWithWar(roleId, sid, funcs, TASK_TYPE.BATTLE_EXPEDITION, battleId, heroes, 1, star);
|
||||
//成长任务
|
||||
await taskUtil.accomplishTask(serverId, roleId, TASK_TYPE.BATTLE_MAIN, 1, { warId: battleId })
|
||||
await checkActivityTask(serverId, sid, funcs, roleId, TASK_TYPE.BATTLE_MAIN, 1, { warId: battleId })
|
||||
|
||||
}
|
||||
|
||||
@@ -248,7 +268,7 @@ export async function checkTaskConditionEquipSuitJewelStage(hero: HeroType) {
|
||||
let jewelLevel = -1;//宝石阶数
|
||||
for (let i = 0; i < hero.ePlace.length; i++) {
|
||||
let equipObj = <EquipType>hero.ePlace[i].equip;
|
||||
if(equipObj) {
|
||||
if (equipObj) {
|
||||
let equipObjInfo = getGoodById(equipObj.id);
|
||||
if (equipObj.holes.length == equipObjInfo.hole && equipObjInfo.hole > 0) {
|
||||
for (let j = 0; j < equipObj.holes.length; j++) {
|
||||
|
||||
@@ -57,13 +57,13 @@ export async function getPlayerYuanbaoShopData(activityId: number, serverId: num
|
||||
*/
|
||||
export async function makeYuanbaoShopReward(roleId: string, roleName: string, sid: string, serverId: number, funcs: number[],
|
||||
activityId: number, productID: string) {
|
||||
let records = await UserOrderModel.findOrderByProductID(productID, roleId, activityId);
|
||||
let records = await UserOrderModel.findSuccessOrderByProductID(productID, roleId, activityId);
|
||||
let activityData: ActivityModelType = await ActivityModel.findActivity(activityId);
|
||||
let playerData = new YuanBaoShopData(activityData);
|
||||
let item = playerData.findItem(productID);
|
||||
|
||||
let rewardParamArr: Array<RewardParam> = [];
|
||||
if (records.length == 0) {//首充
|
||||
if (records.length == 1) {//首充
|
||||
rewardParamArr = rewardParamArr.concat(stringToRewardParam(item.baseReward));
|
||||
rewardParamArr = rewardParamArr.concat(stringToRewardParam(item.firstReward));
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user