活动:修改任务接口
This commit is contained in:
@@ -12,12 +12,11 @@ import { handleCost, createHeroes, addItems } from "../../../services/rewardServ
|
|||||||
import { getZeroPointD, getTimeFun } from "../../../pubUtils/timeUtil";
|
import { getZeroPointD, getTimeFun } from "../../../pubUtils/timeUtil";
|
||||||
import { UserGachaRecModel } from "../../../db/UserGachaRec";
|
import { UserGachaRecModel } from "../../../db/UserGachaRec";
|
||||||
import { ActivityModel } from "../../../db/Activity";
|
import { ActivityModel } from "../../../db/Activity";
|
||||||
import { checkTask } from "../../../services/taskService";
|
import { checkActivityTask, checkTask } from "../../../services/taskService";
|
||||||
import { RECRUIT } from "../../../pubUtils/dicParam";
|
import { RECRUIT } from "../../../pubUtils/dicParam";
|
||||||
import { getAllHeroByQuality } from "../../../services/gachaService";
|
import { getAllHeroByQuality } from "../../../services/gachaService";
|
||||||
import { transPiece } from "../../../pubUtils/itemUtils";
|
import { transPiece } from "../../../pubUtils/itemUtils";
|
||||||
import { CreateHeroParam } from "../../../domain/roleField/hero";
|
import { CreateHeroParam } from "../../../domain/roleField/hero";
|
||||||
import { accomplishTask } from "../../../pubUtils/taskUtil";
|
|
||||||
|
|
||||||
export default function (app: Application) {
|
export default function (app: Application) {
|
||||||
return new GachaHandler(app);
|
return new GachaHandler(app);
|
||||||
@@ -132,7 +131,7 @@ export class GachaHandler {
|
|||||||
// 任务
|
// 任务
|
||||||
await checkTask(roleId, sid, funcs, TASK_TYPE.GASHA, count, true, {});
|
await checkTask(roleId, sid, funcs, TASK_TYPE.GASHA, count, true, {});
|
||||||
//活动统计
|
//活动统计
|
||||||
await accomplishTask(serverId, roleId, TASK_TYPE.GASHA, count)
|
await checkActivityTask(serverId, sid, funcs, roleId, TASK_TYPE.GASHA, count)
|
||||||
|
|
||||||
let resultRefFreeTime = 0;
|
let resultRefFreeTime = 0;
|
||||||
if (dicGacha.free.count > 0) {
|
if (dicGacha.free.count > 0) {
|
||||||
|
|||||||
@@ -18,8 +18,7 @@ import { addActive } from '../../../services/guildService';
|
|||||||
import { GuildTrainReportModel } from '../../../db/GuildTrainReport';
|
import { GuildTrainReportModel } from '../../../db/GuildTrainReport';
|
||||||
import { DATA_NAME } from '../../../consts/dataName';
|
import { DATA_NAME } from '../../../consts/dataName';
|
||||||
import { pushGuildTrainSucMsg } from '../../../services/chatService';
|
import { pushGuildTrainSucMsg } from '../../../services/chatService';
|
||||||
import { checkTask } from '../../../services/taskService';
|
import { checkActivityTask, checkTask } from '../../../services/taskService';
|
||||||
import { accomplishTask } from '../../../pubUtils/taskUtil';
|
|
||||||
|
|
||||||
export default function (app: Application) {
|
export default function (app: Application) {
|
||||||
return new GuildTrainHandler(app);
|
return new GuildTrainHandler(app);
|
||||||
@@ -271,7 +270,7 @@ export class GuildTrainHandler {
|
|||||||
}
|
}
|
||||||
await checkTask(roleId, sid, funcs, TASK_TYPE.GUILD_TRAIN, 1, true, {});
|
await checkTask(roleId, sid, funcs, TASK_TYPE.GUILD_TRAIN, 1, true, {});
|
||||||
//成长任务
|
//成长任务
|
||||||
await accomplishTask(serverId, roleId, TASK_TYPE.GUILD_TRAIN, 1)
|
await checkActivityTask(serverId, sid, funcs, roleId, TASK_TYPE.GUILD_TRAIN, 1)
|
||||||
|
|
||||||
return resResult(STATUS.SUCCESS, result);
|
return resResult(STATUS.SUCCESS, result);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -14,8 +14,7 @@ import { GUILDACTIVITY } from "../../../pubUtils/dicParam";
|
|||||||
import { handleCost } from "../../../services/rewardService";
|
import { handleCost } from "../../../services/rewardService";
|
||||||
import { addActive } from "../../../services/guildService";
|
import { addActive } from "../../../services/guildService";
|
||||||
import { Rank } from "../../../services/rankService";
|
import { Rank } from "../../../services/rankService";
|
||||||
import { checkTask } from "../../../services/taskService";
|
import { checkActivityTask, checkTask } from "../../../services/taskService";
|
||||||
import { accomplishTask } from "../../../pubUtils/taskUtil";
|
|
||||||
|
|
||||||
export default function (app: Application) {
|
export default function (app: Application) {
|
||||||
return new CityActivityHandler(app);
|
return new CityActivityHandler(app);
|
||||||
@@ -295,7 +294,7 @@ export class CityActivityHandler {
|
|||||||
// 任务
|
// 任务
|
||||||
await checkTask(roleId, sid, funcs, TASK_TYPE.GUILD_ACTIVITY, 1, true, { aid: this.aid });
|
await checkTask(roleId, sid, funcs, TASK_TYPE.GUILD_ACTIVITY, 1, true, { aid: this.aid });
|
||||||
//成长任务
|
//成长任务
|
||||||
await accomplishTask(serverId, roleId, TASK_TYPE.GUILD_ACTIVITY, 1, { aid: this.aid })
|
await checkActivityTask(serverId, sid, funcs, roleId, TASK_TYPE.GUILD_ACTIVITY, 1, { aid: this.aid })
|
||||||
|
|
||||||
return resResult(STATUS.SUCCESS, {
|
return resResult(STATUS.SUCCESS, {
|
||||||
isSuccess,
|
isSuccess,
|
||||||
|
|||||||
@@ -14,8 +14,7 @@ import { UserGuildModel } from "../../../db/UserGuild";
|
|||||||
import { GuildActivityCityModel } from "../../../db/GuildActivityCity";
|
import { GuildActivityCityModel } from "../../../db/GuildActivityCity";
|
||||||
import { Rank } from "../../../services/rankService";
|
import { Rank } from "../../../services/rankService";
|
||||||
import { getTimeFun } from "../../../pubUtils/timeUtil";
|
import { getTimeFun } from "../../../pubUtils/timeUtil";
|
||||||
import { checkTask } from "../../../services/taskService";
|
import { checkActivityTask, checkTask } from "../../../services/taskService";
|
||||||
import { accomplishTask } from "../../../pubUtils/taskUtil";
|
|
||||||
|
|
||||||
export default function (app: Application) {
|
export default function (app: Application) {
|
||||||
return new GateActivityHandler(app);
|
return new GateActivityHandler(app);
|
||||||
@@ -259,7 +258,7 @@ export class GateActivityHandler {
|
|||||||
// 任务
|
// 任务
|
||||||
await checkTask(roleId, sid, funcs, TASK_TYPE.GUILD_ACTIVITY, 1, true, { aid: this.aid });
|
await checkTask(roleId, sid, funcs, TASK_TYPE.GUILD_ACTIVITY, 1, true, { aid: this.aid });
|
||||||
//成长任务
|
//成长任务
|
||||||
await accomplishTask(serverId, roleId, TASK_TYPE.GUILD_ACTIVITY, 1, { aid: this.aid })
|
await checkActivityTask(serverId, sid, funcs, roleId, TASK_TYPE.GUILD_ACTIVITY, 1, { aid: this.aid })
|
||||||
return resResult(STATUS.SUCCESS, {
|
return resResult(STATUS.SUCCESS, {
|
||||||
code,
|
code,
|
||||||
...statusResult,
|
...statusResult,
|
||||||
|
|||||||
@@ -7,8 +7,7 @@ import { GuildActivityRecordModel } from "../../../db/GuildActivityRec";
|
|||||||
import { UserGuildActivityRecModel } from "../../../db/UserGuildActivityRec";
|
import { UserGuildActivityRecModel } from "../../../db/UserGuildActivityRec";
|
||||||
import { addActive } from "../../../services/guildService";
|
import { addActive } from "../../../services/guildService";
|
||||||
import { Rank } from "../../../services/rankService";
|
import { Rank } from "../../../services/rankService";
|
||||||
import { checkTask } from "../../../services/taskService";
|
import { checkActivityTask, checkTask } from "../../../services/taskService";
|
||||||
import { accomplishTask } from "../../../pubUtils/taskUtil";
|
|
||||||
|
|
||||||
export default function (app: Application) {
|
export default function (app: Application) {
|
||||||
return new RaceActivityHandler(app);
|
return new RaceActivityHandler(app);
|
||||||
@@ -179,7 +178,7 @@ export class RaceActivityHandler {
|
|||||||
// 任务
|
// 任务
|
||||||
await checkTask(roleId, sid, funcs, TASK_TYPE.GUILD_ACTIVITY, 1, true, { aid: this.aid });
|
await checkTask(roleId, sid, funcs, TASK_TYPE.GUILD_ACTIVITY, 1, true, { aid: this.aid });
|
||||||
//成长任务
|
//成长任务
|
||||||
await accomplishTask(serverId, roleId, TASK_TYPE.GUILD_ACTIVITY, 1, { aid: this.aid })
|
await checkActivityTask(serverId, sid, funcs, roleId, TASK_TYPE.GUILD_ACTIVITY, 1, { aid: this.aid })
|
||||||
return resResult(STATUS.SUCCESS, {
|
return resResult(STATUS.SUCCESS, {
|
||||||
timestamp: Date.now(),
|
timestamp: Date.now(),
|
||||||
woodenHorse: guildActivityRec.woodenHorse,
|
woodenHorse: guildActivityRec.woodenHorse,
|
||||||
|
|||||||
@@ -15,8 +15,7 @@ import { changeEquip, dressEquip, checkMaterialEnough, takeOffEquipAndCalPlayerC
|
|||||||
|
|
||||||
import { indexOf, findIndex } from 'underscore';
|
import { indexOf, findIndex } from 'underscore';
|
||||||
import { pushEquipRefineSucMsg, pushNormalEquipMsg, pushNormalItemMsg } from "../../../services/chatService";
|
import { pushEquipRefineSucMsg, pushNormalEquipMsg, pushNormalItemMsg } from "../../../services/chatService";
|
||||||
import { checkTaskWithHero, checkTaskWithEquip, checkTask, checkTaskWithArgs, checkTaskConditionEquipSuitJewelStage } from "../../../services/taskService";
|
import { checkTaskWithHero, checkTaskWithEquip, checkTask, checkTaskWithArgs, checkTaskConditionEquipSuitJewelStage, checkActivityTask } from "../../../services/taskService";
|
||||||
import { accomplishTask } from "../../../pubUtils/taskUtil";
|
|
||||||
|
|
||||||
export default function (app: Application) {
|
export default function (app: Application) {
|
||||||
return new EquipHandler(app);
|
return new EquipHandler(app);
|
||||||
@@ -168,7 +167,7 @@ export class EquipHandler {
|
|||||||
// 任务
|
// 任务
|
||||||
await checkTaskWithHero(roleId, sid, funcs, TASK_TYPE.EQUIP_STRENGTHEN, hero, oldLvs);
|
await checkTaskWithHero(roleId, sid, funcs, TASK_TYPE.EQUIP_STRENGTHEN, hero, oldLvs);
|
||||||
//成长任务
|
//成长任务
|
||||||
await accomplishTask(serverId, roleId, TASK_TYPE.EQUIP_STRENGTHEN, 1, changeData)
|
await checkActivityTask(serverId, sid, funcs, roleId, TASK_TYPE.EQUIP_STRENGTHEN, 1, changeData)
|
||||||
|
|
||||||
const curHero = {
|
const curHero = {
|
||||||
hid,
|
hid,
|
||||||
@@ -250,7 +249,7 @@ export class EquipHandler {
|
|||||||
// 任务
|
// 任务
|
||||||
await checkTaskWithHero(roleId, sid, funcs, TASK_TYPE.EQUIP_STRENGTHEN, hero, oldLvs);
|
await checkTaskWithHero(roleId, sid, funcs, TASK_TYPE.EQUIP_STRENGTHEN, hero, oldLvs);
|
||||||
//成长任务
|
//成长任务
|
||||||
await accomplishTask(serverId, roleId, TASK_TYPE.EQUIP_STRENGTHEN, 1, changeData)
|
await checkActivityTask(serverId, sid, funcs, roleId, TASK_TYPE.EQUIP_STRENGTHEN, 1, changeData)
|
||||||
|
|
||||||
const curHero = {
|
const curHero = {
|
||||||
hid,
|
hid,
|
||||||
@@ -328,7 +327,7 @@ export class EquipHandler {
|
|||||||
let curEquip = <EquipType>equip;
|
let curEquip = <EquipType>equip;
|
||||||
pushEquipRefineSucMsg(roleId, roleName, serverId, curEplace, curEquip ? curEquip.quality : 0);
|
pushEquipRefineSucMsg(roleId, roleName, serverId, curEplace, curEquip ? curEquip.quality : 0);
|
||||||
await checkTask(roleId, sid, funcs, TASK_TYPE.EQUIP_REFINE, 1, true, {});
|
await checkTask(roleId, sid, funcs, TASK_TYPE.EQUIP_REFINE, 1, true, {});
|
||||||
await accomplishTask(serverId, roleId, TASK_TYPE.EQUIP_REFINE_LV, 1, { lv: curEplace.refineLv });
|
await checkActivityTask(serverId, sid, funcs, roleId, TASK_TYPE.EQUIP_REFINE_LV, 1, { lv: curEplace.refineLv });
|
||||||
}
|
}
|
||||||
return resResult(STATUS.SUCCESS, { isSuccess, curHero });
|
return resResult(STATUS.SUCCESS, { isSuccess, curHero });
|
||||||
}
|
}
|
||||||
@@ -517,7 +516,7 @@ export class EquipHandler {
|
|||||||
//英雄满装备且都镶嵌相同阶数的宝石
|
//英雄满装备且都镶嵌相同阶数的宝石
|
||||||
let { isTask, jewelLevel } = await checkTaskConditionEquipSuitJewelStage(hero)
|
let { isTask, jewelLevel } = await checkTaskConditionEquipSuitJewelStage(hero)
|
||||||
if (isTask) {
|
if (isTask) {
|
||||||
await accomplishTask(serverId, roleId, TASK_TYPE.EQUIP_SUIT_JEWEL_STAGE, 1, { stage: jewelLevel })
|
await checkActivityTask(serverId, sid, funcs, roleId, TASK_TYPE.EQUIP_SUIT_JEWEL_STAGE, 1, { stage: jewelLevel })
|
||||||
}
|
}
|
||||||
} else if (type == 2) {
|
} else if (type == 2) {
|
||||||
if (!equip.hid)
|
if (!equip.hid)
|
||||||
@@ -597,7 +596,7 @@ export class EquipHandler {
|
|||||||
//英雄满装备且都镶嵌相同阶数的宝石
|
//英雄满装备且都镶嵌相同阶数的宝石
|
||||||
let { isTask, jewelLevel } = await checkTaskConditionEquipSuitJewelStage(hero)
|
let { isTask, jewelLevel } = await checkTaskConditionEquipSuitJewelStage(hero)
|
||||||
if (isTask) {
|
if (isTask) {
|
||||||
await accomplishTask(serverId, roleId, TASK_TYPE.EQUIP_SUIT_JEWEL_STAGE, 1, { stage: jewelLevel })
|
await checkActivityTask(serverId, sid, funcs, roleId, TASK_TYPE.EQUIP_SUIT_JEWEL_STAGE, 1, { stage: jewelLevel })
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -606,8 +605,8 @@ export class EquipHandler {
|
|||||||
await checkTaskWithArgs(roleId, sid, funcs, TASK_TYPE.EQUIP_JEWEL_STAGE, [jewel, oldJewel]);
|
await checkTaskWithArgs(roleId, sid, funcs, TASK_TYPE.EQUIP_JEWEL_STAGE, [jewel, oldJewel]);
|
||||||
await checkTaskWithEquip(roleId, sid, funcs, TASK_TYPE.EQUIP_JEWEL_SUM, equip, [oldJewelCount]);
|
await checkTaskWithEquip(roleId, sid, funcs, TASK_TYPE.EQUIP_JEWEL_SUM, equip, [oldJewelCount]);
|
||||||
//成长任务
|
//成长任务
|
||||||
await accomplishTask(serverId, roleId, TASK_TYPE.EQUIP_JEWEL_SUM, 1)
|
await checkActivityTask(serverId, sid, funcs, roleId, TASK_TYPE.EQUIP_JEWEL_SUM, 1)
|
||||||
await accomplishTask(serverId, roleId, TASK_TYPE.EQUIP_JEWEL_STAGE, 1)
|
await checkActivityTask(serverId, sid, funcs, roleId, TASK_TYPE.EQUIP_JEWEL_STAGE, 1)
|
||||||
|
|
||||||
return resResult(STATUS.SUCCESS, { curEquip: { seqId: eid, holes: equip.holes } });
|
return resResult(STATUS.SUCCESS, { curEquip: { seqId: eid, holes: equip.holes } });
|
||||||
}
|
}
|
||||||
@@ -777,7 +776,7 @@ export class EquipHandler {
|
|||||||
//英雄满装备且都镶嵌相同阶数的宝石
|
//英雄满装备且都镶嵌相同阶数的宝石
|
||||||
let { isTask, jewelLevel } = await checkTaskConditionEquipSuitJewelStage(hero)
|
let { isTask, jewelLevel } = await checkTaskConditionEquipSuitJewelStage(hero)
|
||||||
if (isTask) {
|
if (isTask) {
|
||||||
await accomplishTask(serverId, roleId, TASK_TYPE.EQUIP_SUIT_JEWEL_STAGE, 1, { stage: jewelLevel })
|
await checkActivityTask(serverId, sid, funcs, roleId, TASK_TYPE.EQUIP_SUIT_JEWEL_STAGE, 1, { stage: jewelLevel })
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -786,7 +785,7 @@ export class EquipHandler {
|
|||||||
await checkTaskWithArgs(roleId, sid, funcs, TASK_TYPE.EQUIP_JEWEL_STAGE, [jewel, oldJewel]);
|
await checkTaskWithArgs(roleId, sid, funcs, TASK_TYPE.EQUIP_JEWEL_STAGE, [jewel, oldJewel]);
|
||||||
await checkTaskWithEquip(roleId, sid, funcs, TASK_TYPE.EQUIP_JEWEL_SUM, equip, [oldJewelCount]);
|
await checkTaskWithEquip(roleId, sid, funcs, TASK_TYPE.EQUIP_JEWEL_SUM, equip, [oldJewelCount]);
|
||||||
//成长任务
|
//成长任务
|
||||||
await accomplishTask(serverId, roleId, TASK_TYPE.EQUIP_JEWEL_SUM, count)
|
await checkActivityTask(serverId, sid, funcs, roleId, TASK_TYPE.EQUIP_JEWEL_SUM, count)
|
||||||
|
|
||||||
return resResult(STATUS.SUCCESS, { curEquip: { seqId: eid, holes: equip.holes } });
|
return resResult(STATUS.SUCCESS, { curEquip: { seqId: eid, holes: equip.holes } });
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@@ -13,9 +13,7 @@ import { getDropItems, FIGURE_UNLOCK_CONDITION } from '../../../consts/constModu
|
|||||||
import { pushComposeOrangeHero, pushHeroQualityUpMsg, pushHeroStarMax, pushHeroWakeUp } from '../../../services/chatService';
|
import { pushComposeOrangeHero, pushHeroQualityUpMsg, pushHeroStarMax, pushHeroWakeUp } from '../../../services/chatService';
|
||||||
import { calculatetopLineup } from '../../../pubUtils/playerCe';
|
import { calculatetopLineup } from '../../../pubUtils/playerCe';
|
||||||
import { PvpDefenseModel } from '../../../db/PvpDefense';
|
import { PvpDefenseModel } from '../../../db/PvpDefense';
|
||||||
import { checkTaskWithHero, checkTask } from '../../../services/taskService';
|
import { checkTaskWithHero, checkTask, checkActivityTask } from '../../../services/taskService';
|
||||||
import { accomplishTask } from '../../../pubUtils/taskUtil';
|
|
||||||
import { EQUIP } from '../../../pubUtils/dicParam';
|
|
||||||
|
|
||||||
export default function (app: Application) {
|
export default function (app: Application) {
|
||||||
return new HeroHandler(app);
|
return new HeroHandler(app);
|
||||||
@@ -227,9 +225,9 @@ export class HeroHandler {
|
|||||||
await checkTaskWithHero(roleId, sid, funcs, TASK_TYPE.HERO_STAR_UP, hero);
|
await checkTaskWithHero(roleId, sid, funcs, TASK_TYPE.HERO_STAR_UP, hero);
|
||||||
await checkTaskWithHero(roleId, sid, funcs, TASK_TYPE.HERO_QUALITY_STAR_UP, hero);
|
await checkTaskWithHero(roleId, sid, funcs, TASK_TYPE.HERO_QUALITY_STAR_UP, hero);
|
||||||
//成长任务
|
//成长任务
|
||||||
await accomplishTask(serverId, roleId, TASK_TYPE.HERO_QUALITY_STAR_UP, 1, { quality: dicHero.quality, star: hero.star });
|
await checkActivityTask(serverId, sid, funcs, roleId, TASK_TYPE.HERO_QUALITY_STAR_UP, 1, { quality: dicHero.quality, star: hero.star });
|
||||||
if (hero.colorStar) {//觉醒升星
|
if (hero.colorStar) {//觉醒升星
|
||||||
await accomplishTask(serverId, roleId, TASK_TYPE.HERO_WAKE_UP_STAR_UP_COUNT, 1, { quality: dicHero.quality, star: hero.star });
|
await checkActivityTask(serverId, sid, funcs, roleId, TASK_TYPE.HERO_WAKE_UP_STAR_UP_COUNT, 1, { quality: dicHero.quality, star: hero.star });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -286,7 +284,7 @@ export class HeroHandler {
|
|||||||
// 任务
|
// 任务
|
||||||
await checkTaskWithHero(roleId, sid, funcs, TASK_TYPE.HERO_QUALITY_UP, hero);
|
await checkTaskWithHero(roleId, sid, funcs, TASK_TYPE.HERO_QUALITY_UP, hero);
|
||||||
// 任务
|
// 任务
|
||||||
await accomplishTask(serverId, roleId, TASK_TYPE.HERO_QUALITY_TO_QUALITY_COUNT, 1, { oldQuality, quality: hero.quality });
|
await checkActivityTask(serverId, sid, funcs, roleId, TASK_TYPE.HERO_QUALITY_TO_QUALITY_COUNT, 1, { oldQuality, quality: hero.quality });
|
||||||
|
|
||||||
const curHero = {
|
const curHero = {
|
||||||
hid,
|
hid,
|
||||||
@@ -349,7 +347,7 @@ export class HeroHandler {
|
|||||||
// 任务
|
// 任务
|
||||||
await checkTaskWithHero(roleId, sid, funcs, TASK_TYPE.HERO_STAR_UP, hero);
|
await checkTaskWithHero(roleId, sid, funcs, TASK_TYPE.HERO_STAR_UP, hero);
|
||||||
await checkTask(roleId, sid, funcs, TASK_TYPE.HERO_WAKE_UP, 1, true, {});
|
await checkTask(roleId, sid, funcs, TASK_TYPE.HERO_WAKE_UP, 1, true, {});
|
||||||
await accomplishTask(serverId, roleId, TASK_TYPE.HERO_WAKE_UP_COUNT, 1, { quality: hero.quality });
|
await checkActivityTask(serverId, sid, funcs, roleId, TASK_TYPE.HERO_WAKE_UP_COUNT, 1, { quality: hero.quality });
|
||||||
}
|
}
|
||||||
const curHero = {
|
const curHero = {
|
||||||
hid,
|
hid,
|
||||||
@@ -398,7 +396,7 @@ export class HeroHandler {
|
|||||||
await checkTaskWithHero(roleId, sid, funcs, TASK_TYPE.HERO_TRAIN, hero);
|
await checkTaskWithHero(roleId, sid, funcs, TASK_TYPE.HERO_TRAIN, hero);
|
||||||
await checkTask(roleId, sid, funcs, TASK_TYPE.HERO_TRAIN_SUM, 1, true, {});
|
await checkTask(roleId, sid, funcs, TASK_TYPE.HERO_TRAIN_SUM, 1, true, {});
|
||||||
//活动统计
|
//活动统计
|
||||||
await accomplishTask(serverId, roleId, TASK_TYPE.HERO_TRAIN_SUM, 1)
|
await checkActivityTask(serverId, sid, funcs, roleId, TASK_TYPE.HERO_TRAIN_SUM, 1)
|
||||||
|
|
||||||
return resResult(STATUS.SUCCESS, { curHero: { hid: hero.hid, job: hero.job, jobStage: hero.jobStage } });
|
return resResult(STATUS.SUCCESS, { curHero: { hid: hero.hid, job: hero.job, jobStage: hero.jobStage } });
|
||||||
}
|
}
|
||||||
@@ -435,7 +433,7 @@ export class HeroHandler {
|
|||||||
hero = await calPlayerCeAndSave(HERO_SYSTEM_TYPE.STAGEUP, sid, roleId, hero, update);
|
hero = await calPlayerCeAndSave(HERO_SYSTEM_TYPE.STAGEUP, sid, roleId, hero, update);
|
||||||
// 任务
|
// 任务
|
||||||
await checkTaskWithHero(roleId, sid, funcs, TASK_TYPE.HERO_STAGE_UP, hero);
|
await checkTaskWithHero(roleId, sid, funcs, TASK_TYPE.HERO_STAGE_UP, hero);
|
||||||
await accomplishTask(serverId, roleId, TASK_TYPE.HERO_STAGE_UP, 1, { job: hero.job });
|
await checkActivityTask(serverId, sid, funcs, roleId, TASK_TYPE.HERO_STAGE_UP, 1, { job: hero.job });
|
||||||
|
|
||||||
return resResult(STATUS.SUCCESS, { curHero: { hid: hero.hid, job: hero.job, jobStage: hero.jobStage } });
|
return resResult(STATUS.SUCCESS, { curHero: { hid: hero.hid, job: hero.job, jobStage: hero.jobStage } });
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -16,8 +16,7 @@ import { HERO_SYSTEM_TYPE, LINEUP_NUM, ROLE_SELECT, REDIS_KEY, TASK_TYPE, DEFAUL
|
|||||||
import { checkBattleHeroesByHid } from '../../../services/normalBattleService';
|
import { checkBattleHeroesByHid } from '../../../services/normalBattleService';
|
||||||
import { Rank } from '../../../services/rankService';
|
import { Rank } from '../../../services/rankService';
|
||||||
import { updateUserInfo } from '../../../services/redisService';
|
import { updateUserInfo } from '../../../services/redisService';
|
||||||
import { checkTaskWithHero, checkTask, checkTaskWithArgs } from '../../../services/taskService';
|
import { checkTaskWithHero, checkTask, checkTaskWithArgs, checkActivityTask } from '../../../services/taskService';
|
||||||
import { accomplishTask } from '../../../pubUtils/taskUtil';
|
|
||||||
import { getGoldObject, getCoinObject } from '../../../pubUtils/itemUtils';
|
import { getGoldObject, getCoinObject } from '../../../pubUtils/itemUtils';
|
||||||
import { RScriptRecordModel } from '../../../db/RScriptRecord';
|
import { RScriptRecordModel } from '../../../db/RScriptRecord';
|
||||||
import { checkPvp } from '../../../services/pvpService';
|
import { checkPvp } from '../../../services/pvpService';
|
||||||
@@ -101,7 +100,7 @@ export class RoleHandler {
|
|||||||
// 任务
|
// 任务
|
||||||
await checkTask(roleId, sid, funcs, TASK_TYPE.ROLE_TITLE, 1, false, { title });
|
await checkTask(roleId, sid, funcs, TASK_TYPE.ROLE_TITLE, 1, false, { title });
|
||||||
//成长任务
|
//成长任务
|
||||||
await accomplishTask(serverId, roleId, TASK_TYPE.ROLE_TITLE, update.title)
|
await checkActivityTask(serverId, sid, funcs, roleId, TASK_TYPE.ROLE_TITLE, update.title)
|
||||||
|
|
||||||
return resResult(STATUS.SUCCESS, { roleId, title: role.title });
|
return resResult(STATUS.SUCCESS, { roleId, title: role.title });
|
||||||
}
|
}
|
||||||
@@ -273,7 +272,7 @@ export class RoleHandler {
|
|||||||
await checkTaskWithArgs(roleId, sid, funcs, TASK_TYPE.ROLE_SCHOOL_UNLOCK, [hid, preHid]);
|
await checkTaskWithArgs(roleId, sid, funcs, TASK_TYPE.ROLE_SCHOOL_UNLOCK, [hid, preHid]);
|
||||||
if (hid > 0) {
|
if (hid > 0) {
|
||||||
//成长任务
|
//成长任务
|
||||||
await accomplishTask(serverId, roleId, TASK_TYPE.ROLE_SCHOOL_PUT_HERO, 1)
|
await checkActivityTask(serverId, sid, funcs, roleId, TASK_TYPE.ROLE_SCHOOL_PUT_HERO, 1)
|
||||||
}
|
}
|
||||||
|
|
||||||
return resResult(STATUS.SUCCESS, {
|
return resResult(STATUS.SUCCESS, {
|
||||||
|
|||||||
@@ -7,8 +7,7 @@ import { HERO_SYSTEM_TYPE, TASK_TYPE } from "../consts";
|
|||||||
import { EquipType } from "../db/Equip";
|
import { EquipType } from "../db/Equip";
|
||||||
import { calEquipSeids } from '../pubUtils/playerCe';
|
import { calEquipSeids } from '../pubUtils/playerCe';
|
||||||
import { indexOf, findIndex } from 'underscore';
|
import { indexOf, findIndex } from 'underscore';
|
||||||
import { checkTask, checkTaskWithHero, checkTaskWithEquip } from './taskService';
|
import { checkTask, checkTaskWithHero, checkTaskWithEquip, checkActivityTask } from './taskService';
|
||||||
import { accomplishTask } from '../pubUtils/taskUtil';
|
|
||||||
/**
|
/**
|
||||||
* 校验前端传入的消耗数量是否准确,并返回消耗的道具并加上特殊材料needConsumes
|
* 校验前端传入的消耗数量是否准确,并返回消耗的道具并加上特殊材料needConsumes
|
||||||
* @param consumes
|
* @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 checkTask(roleId, sid, funcs, TASK_TYPE.EQUIP_SUM, 1, true, {});
|
||||||
await checkTaskWithHero(roleId, sid, funcs, TASK_TYPE.EQUIP_BY_HERO, hero, [1]);
|
await checkTaskWithHero(roleId, sid, funcs, TASK_TYPE.EQUIP_BY_HERO, hero, [1]);
|
||||||
await checkTaskWithEquip(roleId, sid, funcs, TASK_TYPE.EQUIP_QUALITY, equip, [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 checkActivityTask(serverId, sid, funcs, 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_SUM, 1)
|
||||||
|
|
||||||
return { seqId: equip.seqId, hid: hero.hid };
|
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 { DATA_NAME } from '../consts/dataName';
|
||||||
import { addRoleToGuildChannel } from "./chatService";
|
import { addRoleToGuildChannel } from "./chatService";
|
||||||
import { Rank } from "./rankService";
|
import { Rank } from "./rankService";
|
||||||
import { checkTask } from "./taskService";
|
import { checkActivityTask, checkTask } from "./taskService";
|
||||||
import { accomplishTask } from "../pubUtils/taskUtil";
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @description 检查该玩家是否有权限做操作
|
* @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.set('guildCode', code);
|
||||||
session.push('guildCode', () => { });
|
session.push('guildCode', () => { });
|
||||||
|
|||||||
@@ -8,8 +8,7 @@ import { FUNC_OPT_TYPE, TASK_TYPE } from '../consts';
|
|||||||
import { BackendSession } from 'pinus';
|
import { BackendSession } from 'pinus';
|
||||||
import { REDIS_KEY } from '../consts';
|
import { REDIS_KEY } from '../consts';
|
||||||
import { Rank } from './rankService';
|
import { Rank } from './rankService';
|
||||||
import { checkTask } from './taskService';
|
import { checkActivityTask, checkTask } from './taskService';
|
||||||
import { accomplishTask } from '../pubUtils/taskUtil';
|
|
||||||
|
|
||||||
export async function roleLevelup(roleId: string, kingExp: number, session: BackendSession) {
|
export async function roleLevelup(roleId: string, kingExp: number, session: BackendSession) {
|
||||||
const serverId = session.get('serverId');
|
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 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 }[] = [];
|
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 { ActivityModel, ActivityModelType } from '../db/Activity';
|
||||||
import { ActivityFirstGiftModel } from '../db/ActivityFirstGift';
|
import { ActivityFirstGiftModel } from '../db/ActivityFirstGift';
|
||||||
import { ServerlistModel } from '../db/Serverlist';
|
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)
|
rewardResult = await makePopUpShopReward(roleId, roleInfo.roleName, sid, orderInfo.serverId, roleInfo.funcs, orderInfo.activityId, orderInfo.productID)
|
||||||
break;
|
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;
|
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;
|
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;
|
break;
|
||||||
}
|
}
|
||||||
default:
|
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 中会触发的任务,因为有点多提出来了
|
* 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_VESTIGE, battleId, heroes, 1, star);
|
||||||
await checkTaskWithWar(roleId, sid, funcs, TASK_TYPE.BATTLE_EXPEDITION, 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;//宝石阶数
|
let jewelLevel = -1;//宝石阶数
|
||||||
for (let i = 0; i < hero.ePlace.length; i++) {
|
for (let i = 0; i < hero.ePlace.length; i++) {
|
||||||
let equipObj = <EquipType>hero.ePlace[i].equip;
|
let equipObj = <EquipType>hero.ePlace[i].equip;
|
||||||
if(equipObj) {
|
if (equipObj) {
|
||||||
let equipObjInfo = getGoodById(equipObj.id);
|
let equipObjInfo = getGoodById(equipObj.id);
|
||||||
if (equipObj.holes.length == equipObjInfo.hole && equipObjInfo.hole > 0) {
|
if (equipObj.holes.length == equipObjInfo.hole && equipObjInfo.hole > 0) {
|
||||||
for (let j = 0; j < equipObj.holes.length; j++) {
|
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[],
|
export async function makeYuanbaoShopReward(roleId: string, roleName: string, sid: string, serverId: number, funcs: number[],
|
||||||
activityId: number, productID: string) {
|
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 activityData: ActivityModelType = await ActivityModel.findActivity(activityId);
|
||||||
let playerData = new YuanBaoShopData(activityData);
|
let playerData = new YuanBaoShopData(activityData);
|
||||||
let item = playerData.findItem(productID);
|
let item = playerData.findItem(productID);
|
||||||
|
|
||||||
let rewardParamArr: Array<RewardParam> = [];
|
let rewardParamArr: Array<RewardParam> = [];
|
||||||
if (records.length == 0) {//首充
|
if (records.length == 1) {//首充
|
||||||
rewardParamArr = rewardParamArr.concat(stringToRewardParam(item.baseReward));
|
rewardParamArr = rewardParamArr.concat(stringToRewardParam(item.baseReward));
|
||||||
rewardParamArr = rewardParamArr.concat(stringToRewardParam(item.firstReward));
|
rewardParamArr = rewardParamArr.concat(stringToRewardParam(item.firstReward));
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@@ -30,6 +30,14 @@ export default class Activity extends BaseModel {
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//根据活动类型查询开启的活动数据
|
||||||
|
public static async findOpenActivityByTypes(activityGroupId: number[], types: number[], date: Date) {
|
||||||
|
let result: ActivityModelType[] = await ActivityModel.find(
|
||||||
|
{ groupId: { $in: activityGroupId }, type: { $in: types }, beginTime: { $lte: date }, endTime: { $gte: date } }
|
||||||
|
).sort({ activityId: -1 }).lean(true);
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
//根据活动类型查询活动数据
|
//根据活动类型查询活动数据
|
||||||
public static async findActivityByType(activityGroupId: number[], type: number, sort: number) {
|
public static async findActivityByType(activityGroupId: number[], type: number, sort: number) {
|
||||||
let result: ActivityModelType[] = await ActivityModel.find({ groupId: { $in: activityGroupId }, type }).sort({ activityId: sort }).lean(true);
|
let result: ActivityModelType[] = await ActivityModel.find({ groupId: { $in: activityGroupId }, type }).sort({ activityId: sort }).lean(true);
|
||||||
|
|||||||
@@ -63,6 +63,12 @@ export default class UserOrder extends BaseModel {
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//查询成功订单详情
|
||||||
|
public static async findSuccessOrderByProductID(productID: string, roleId: string, activityId: number) {
|
||||||
|
let result: UserOrderModelType[] = await UserOrderModel.find({ productID, roleId, activityId, state: ORDER_STATE.RESULT_SUCCESS }).lean(true);
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
//查询订单详情
|
//查询订单详情
|
||||||
public static async findOrderByProductID(productID: string, roleId: string, activityId: number) {
|
public static async findOrderByProductID(productID: string, roleId: string, activityId: number) {
|
||||||
let result: UserOrderModelType[] = await UserOrderModel.find({ productID, roleId, activityId }).lean(true);
|
let result: UserOrderModelType[] = await UserOrderModel.find({ productID, roleId, activityId }).lean(true);
|
||||||
|
|||||||
@@ -60,6 +60,43 @@ export class GrowthFundData extends ActivityBase {
|
|||||||
buyRecords: Array<number> = [];//高阶购买记录
|
buyRecords: Array<number> = [];//高阶购买记录
|
||||||
receiveRecords: Array<ActivityGrowthFundModelType> = [];//领取记录
|
receiveRecords: Array<ActivityGrowthFundModelType> = [];//领取记录
|
||||||
|
|
||||||
|
public unLockItem(condition: number) {
|
||||||
|
let items = [];
|
||||||
|
for (let page of this.list) {
|
||||||
|
if (this.isVipActivity() && !this.isBuy(page.pageIndex)) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
for (let item of page.items) {
|
||||||
|
switch (this.type) {
|
||||||
|
case ACTIVITY_TYPE.GROWTH_FUND_MAIN:
|
||||||
|
case ACTIVITY_TYPE.GROWTH_FUND_MAIN_VIP: {
|
||||||
|
if (!this.isReceive(page.pageIndex, item.cellIndex) && item.condition == condition) {
|
||||||
|
item.isComplete = true;
|
||||||
|
items.push(Object.assign(item, { pageIndex: page.pageIndex, activityId: this.activityId }))
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case ACTIVITY_TYPE.GROWTH_FUND_MAIN:
|
||||||
|
case ACTIVITY_TYPE.GROWTH_FUND_MAIN_VIP:
|
||||||
|
case ACTIVITY_TYPE.GROWTH_FUND_MAIN_ELITE:
|
||||||
|
case ACTIVITY_TYPE.GROWTH_FUND_MAIN_ELITE_VIP: {
|
||||||
|
if (!this.isReceive(page.pageIndex, item.cellIndex) && item.condition <= condition) {
|
||||||
|
item.isComplete = true;
|
||||||
|
items.push(Object.assign(item, { pageIndex: page.pageIndex, activityId: this.activityId }))
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return items;
|
||||||
|
}
|
||||||
|
|
||||||
|
public findPageByProductID(productID: string) {
|
||||||
|
let index = this.list.findIndex(obj => { return obj && obj.productID === productID });
|
||||||
|
return (index != -1) ? this.list[index] : null;
|
||||||
|
}
|
||||||
|
|
||||||
//是否是高阶,需要购买
|
//是否是高阶,需要购买
|
||||||
public isVipActivity() {
|
public isVipActivity() {
|
||||||
return this.type == ACTIVITY_TYPE.GROWTH_FUND_MAIN_VIP
|
return this.type == ACTIVITY_TYPE.GROWTH_FUND_MAIN_VIP
|
||||||
|
|||||||
@@ -24,6 +24,7 @@ export class YuanBaoShopItem {
|
|||||||
this.firstReward = data.firstReward;
|
this.firstReward = data.firstReward;
|
||||||
this.extraReward = data.extraReward;
|
this.extraReward = data.extraReward;
|
||||||
this.imageName = data.imageName;
|
this.imageName = data.imageName;
|
||||||
|
this.buyCount = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -47,7 +48,7 @@ export class YuanBaoShopData extends ActivityBase {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
for (let obj of this.list) {
|
for (let obj of this.list) {
|
||||||
let arr = data.filter(obj => { return obj.productID === obj.productID })
|
let arr = data.filter(order => { return order.productID === obj.productID })
|
||||||
obj.buyCount = arr.length;
|
obj.buyCount = arr.length;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import { gameData } from './data';
|
import { gameData } from './data';
|
||||||
import { DicTask } from './dictionary/DicTask';
|
import { DicTask } from './dictionary/DicTask';
|
||||||
import { TASK_TYPE, ABI_STAGE, WAR_TYPE, GUILD_JOB, TASK_FUN_TYPE, FUNCS_ID } from '../consts';
|
import { TASK_TYPE, ABI_STAGE, WAR_TYPE, GUILD_JOB, TASK_FUN_TYPE, FUNCS_ID, STATUS } from '../consts';
|
||||||
import { UserTaskRecModel, UserTaskRecType } from '../db/UserTaskRec'
|
import { UserTaskRecModel, UserTaskRecType } from '../db/UserTaskRec'
|
||||||
import { RoleType, RoleModel } from '../db/Role';
|
import { RoleType, RoleModel } from '../db/Role';
|
||||||
import { TaskParam, TaskListReturn } from '../domain/roleField/task';
|
import { TaskParam, TaskListReturn } from '../domain/roleField/task';
|
||||||
@@ -10,7 +10,7 @@ import { EquipType, EquipModel } from '../db/Equip';
|
|||||||
import { ItemInter } from './interface';
|
import { ItemInter } from './interface';
|
||||||
import { GrowthData } from '../domain/activityField/growthField';
|
import { GrowthData } from '../domain/activityField/growthField';
|
||||||
import { DailyChallengesData } from '../domain/activityField/dailyChallengesField';
|
import { DailyChallengesData } from '../domain/activityField/dailyChallengesField';
|
||||||
import { splitString } from './util';
|
import { resResult, splitString } from './util';
|
||||||
import { ActivityModel, ActivityModelType } from '../db/Activity';
|
import { ActivityModel, ActivityModelType } from '../db/Activity';
|
||||||
import { ACTIVITY_TYPE } from '../consts/constModules/activityConst';
|
import { ACTIVITY_TYPE } from '../consts/constModules/activityConst';
|
||||||
import { ActivityGrowthModel } from '../db/ActivityGrowth';
|
import { ActivityGrowthModel } from '../db/ActivityGrowth';
|
||||||
@@ -19,6 +19,8 @@ import { ThirtyDaysData } from '../domain/activityField/thirtyDaysField';
|
|||||||
import { GrowthFundData } from '../domain/activityField/growthFundField';
|
import { GrowthFundData } from '../domain/activityField/growthFundField';
|
||||||
import { ActivityThirtyDaysModel, ActivityThirtyDaysModelType } from '../db/ActivityThirtyDays';
|
import { ActivityThirtyDaysModel, ActivityThirtyDaysModelType } from '../db/ActivityThirtyDays';
|
||||||
import { ServerlistModel } from '../db/Serverlist';
|
import { ServerlistModel } from '../db/Serverlist';
|
||||||
|
import { ActivityGrowthFundModel, ActivityGrowthFundModelType } from '../db/ActivityGrowthFund';
|
||||||
|
import { ActivityBuyRecordsModel } from '../db/ActivityBuyRecords';
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -484,6 +486,7 @@ function checkRecResult(rec: UserTaskRecType, id: number) {
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
export async function accomplishTask(serverId: number, roleId: string, taskType: TASK_TYPE, count: number, parma?: any) {
|
export async function accomplishTask(serverId: number, roleId: string, taskType: TASK_TYPE, count: number, parma?: any) {
|
||||||
|
let pushMessage = [];
|
||||||
let { activityGroupId } = await ServerlistModel.findByServerId(serverId);
|
let { activityGroupId } = await ServerlistModel.findByServerId(serverId);
|
||||||
//七天乐-成长活动统计
|
//七天乐-成长活动统计
|
||||||
let allActivity: ActivityModelType[] = await ActivityModel.findOpenActivityByType(activityGroupId, ACTIVITY_TYPE.TASK_GROWTH, new Date());
|
let allActivity: ActivityModelType[] = await ActivityModel.findOpenActivityByType(activityGroupId, ACTIVITY_TYPE.TASK_GROWTH, new Date());
|
||||||
@@ -550,17 +553,54 @@ export async function accomplishTask(serverId: number, roleId: string, taskType:
|
|||||||
|
|
||||||
//主线成长基金
|
//主线成长基金
|
||||||
if (taskType === TASK_TYPE.BATTLE_MAIN) {
|
if (taskType === TASK_TYPE.BATTLE_MAIN) {
|
||||||
|
allActivity = await ActivityModel.findOpenActivityByTypes(activityGroupId, [ACTIVITY_TYPE.GROWTH_FUND_MAIN, ACTIVITY_TYPE.GROWTH_FUND_MAIN_VIP], new Date());
|
||||||
|
for (let activity of allActivity) {
|
||||||
|
let growthFundActivity = new GrowthFundData(activity);
|
||||||
|
let playerRecords: ActivityGrowthFundModelType[] = await ActivityGrowthFundModel.findData(activity.activityId, roleId);
|
||||||
|
growthFundActivity.setPlayerRecords(playerRecords);
|
||||||
|
if (growthFundActivity.isVipActivity()) {//vip高阶需要购买
|
||||||
|
let buyRecords = await ActivityBuyRecordsModel.findRecordsByActivityId(activity.activityId, roleId);
|
||||||
|
growthFundActivity.initBuyRecords(buyRecords);
|
||||||
|
}
|
||||||
|
let taskArray = growthFundActivity.unLockItem(parma.warId);
|
||||||
|
//推送
|
||||||
|
pushMessage = pushMessage.concat(taskArray);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
//镇念塔成长基金
|
//镇念塔成长基金getRoleOnlineInfo
|
||||||
if (taskType === TASK_TYPE.BATTLE_TOWER_LV) {
|
if (taskType === TASK_TYPE.BATTLE_TOWER_LV) {
|
||||||
|
allActivity = await ActivityModel.findOpenActivityByTypes(activityGroupId, [ACTIVITY_TYPE.GROWTH_FUND_TOWER, ACTIVITY_TYPE.GROWTH_FUND_TOWER_VIP], new Date());
|
||||||
|
for (let activity of allActivity) {
|
||||||
|
let growthFundActivity = new GrowthFundData(activity);
|
||||||
|
let playerRecords: ActivityGrowthFundModelType[] = await ActivityGrowthFundModel.findData(activity.activityId, roleId);
|
||||||
|
growthFundActivity.setPlayerRecords(playerRecords);
|
||||||
|
if (growthFundActivity.isVipActivity()) {//vip高阶需要购买
|
||||||
|
let buyRecords = await ActivityBuyRecordsModel.findRecordsByActivityId(activity.activityId, roleId);
|
||||||
|
growthFundActivity.initBuyRecords(buyRecords);
|
||||||
|
}
|
||||||
|
let taskArray = growthFundActivity.unLockItem(parma.warId);
|
||||||
|
//推送
|
||||||
|
pushMessage = pushMessage.concat(taskArray);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
//精英成长基金
|
//精英成长基金
|
||||||
if (taskType === TASK_TYPE.BATTLE_MAIN_ELITE) {
|
if (taskType === TASK_TYPE.BATTLE_MAIN_ELITE) {
|
||||||
|
allActivity = await ActivityModel.findOpenActivityByTypes(activityGroupId, [ACTIVITY_TYPE.GROWTH_FUND_MAIN_ELITE, ACTIVITY_TYPE.GROWTH_FUND_MAIN_ELITE_VIP], new Date());
|
||||||
|
for (let activity of allActivity) {
|
||||||
|
let growthFundActivity = new GrowthFundData(activity);
|
||||||
|
let playerRecords: ActivityGrowthFundModelType[] = await ActivityGrowthFundModel.findData(activity.activityId, roleId);
|
||||||
|
growthFundActivity.setPlayerRecords(playerRecords);
|
||||||
|
if (growthFundActivity.isVipActivity()) {//vip高阶需要购买
|
||||||
|
let buyRecords = await ActivityBuyRecordsModel.findRecordsByActivityId(activity.activityId, roleId);
|
||||||
|
growthFundActivity.initBuyRecords(buyRecords);
|
||||||
|
}
|
||||||
|
let taskArray = growthFundActivity.unLockItem(parma.warId);
|
||||||
|
//推送
|
||||||
|
pushMessage = pushMessage.concat(taskArray);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return pushMessage;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
Reference in New Issue
Block a user