活动:修复七天乐任务

This commit is contained in:
luying
2021-12-24 15:01:09 +08:00
parent f686046822
commit dc00431010
5 changed files with 68 additions and 18 deletions

View File

@@ -100,6 +100,7 @@ import { WishPoolReportModel } from '../db/WishPoolReport';
import { pick } from "underscore";
import { HeroShowParam } from '../domain/roleField/hero';
import { saveCeChangeLog } from "./logUtil";
import { ActivityInRemote } from "../domain/activityField/activityField";
// 储存在内存中的初始数据
export function getInitRoleInfo() {
@@ -318,7 +319,7 @@ export class CreateHeroes extends UpdateHeroes {
this.resultHeroes = await HeroModel.insertHeroes(this.roleId, this.roleName, this.serverId, heroeInfos);
}
public async clearTask(activitiesTypeMap: ActivityModelType[]) {
public async clearTask(activitiesTypeMap: ActivityInRemote[]) {
// 任务
console.log('****** checkTask before', Date.now())
let m1 = await checkTask(this.roleId, TASK_TYPE.HERO_NUM, this.heroNum, true, {});
@@ -329,8 +330,8 @@ export class CreateHeroes extends UpdateHeroes {
console.log('****** checkTask after', Date.now())
//成长任务
console.log('****** accomplishTask before', Date.now())
let mm1 = await accomplishTask(this.serverId, this.roleId, TASK_TYPE.HERO_NUM, this.heroNum, null, activitiesTypeMap)
let mm2 = await accomplishTask(this.serverId, this.roleId, TASK_TYPE.HERO_QUALITY, this.heroNum, { heroes: this.resultHeroes }, activitiesTypeMap)
let mm1 = await accomplishTask(this.serverId, this.roleId, TASK_TYPE.HERO_NUM, this.heroNum, null, activitiesTypeMap)
let mm2 = await accomplishTask(this.serverId, this.roleId, TASK_TYPE.HERO_QUALITY, this.heroNum, { heroes: this.resultHeroes }, activitiesTypeMap);
console.log('****** accomplishTask after', Date.now())
this.activityTaskPushMessage.push(...mm1, ...mm2);
}

View File

@@ -31,6 +31,7 @@ import moment = require("moment");
import { GuildModel } from '../db/Guild';
import { RefreshTaskData } from '../domain/activityField/refreshTaskField';
import { ActivityRefreshTaskModel } from '../db/ActivityRefreshTask';
import { ActivityInRemote, transActivityInRemoteToModelType } from '../domain/activityField/activityField';
@@ -487,7 +488,7 @@ function checkRecResult(rec: UserTaskRecType, id: number) {
* @param {number} parma 参数
*
*/
export async function accomplishTask(serverId: number, roleId: string, taskType: TASK_TYPE, count: number, parma?: any, activities?: ActivityModelType[]) {
export async function accomplishTask(serverId: number, roleId: string, taskType: TASK_TYPE, count: number, parma?: any, activities?: ActivityInRemote[]) {
// console.log('accomplishTask', roleId, taskType, count, JSON.stringify(parma))
let pushMessage = [];
let { activityGroupId } = await ServerlistModel.findByServerId(serverId);
@@ -495,9 +496,9 @@ export async function accomplishTask(serverId: number, roleId: string, taskType:
if(activities) {
let result: ActivityModelType[] = [];
for(let activity of activities) {
if(activity.beginTime <= new Date() && activity.endTime >= new Date()) {
if(activity.beginTime <= Date.now() && activity.endTime >= Date.now()) {
if(activityGroupId.includes(activity.groupId) && types.includes(activity.type)) {
result.push(activity);
result.push( transActivityInRemoteToModelType(activity));
}
}
}
@@ -519,7 +520,7 @@ export async function accomplishTask(serverId: number, roleId: string, taskType:
let growthActivity = playerData.growth;
let growthTaskArray = growthActivity.findTaskByType(taskType);
for (let task of growthTaskArray) {
let taskRecord = await ActivityGrowthModel.findDataByCellIndex(serverId, activity.activityId, roleId, task.dayIndex, task.cellIndex, task.taskType)
let taskRecord = await ActivityGrowthModel.findDataByCellIndex(serverId, activity.activityId, roleId, task.dayIndex, task.cellIndex, task.taskType);
let recordData = taskRecord && taskRecord.data ? JSON.parse(taskRecord.data) : null;
let { addCount, record } = isComplete(roleId, task.taskType, task.taskParam, count, activity.activityId, parma, recordData);
if (addCount) {