diff --git a/game-server/app/servers/role/handler/taskHandler.ts b/game-server/app/servers/role/handler/taskHandler.ts index aeaf60ada..324ae448a 100644 --- a/game-server/app/servers/role/handler/taskHandler.ts +++ b/game-server/app/servers/role/handler/taskHandler.ts @@ -10,7 +10,7 @@ import { DicDailyTask, DicAchievement, DicMainTask } from "../../../pubUtils/dic import { getMainTask, refDailyTaskBox, removeHistoryTask, getCurTask, checkTask } from "../../../services/taskService"; import { TASK } from "../../../pubUtils/dicParam"; import { newHeroGiftPoint } from "../../../services/activity/newHeroGiftsService"; -import { ActivityTaskPointModel } from "../../../db/ActivityTaskPoint"; +import { ActivityTaskPointModel, ActivityTaskPointModelType } from "../../../db/ActivityTaskPoint"; import { ItemInter } from "../../../pubUtils/interface"; import { RoleModel } from "../../../db/Role"; import { roleLevelup } from "../../../services/normalBattleService"; @@ -63,7 +63,7 @@ export class ShopHandler { point = userTask.dailyTaskPoint; weeklyPoint = userTask.dailyTaskPointWeekly; let { lv } = await RoleModel.findByRoleId(roleId, 'lv'); - expItem = { id: dic.exp.id, count: dic.exp.count * gameData.taskExp.get(lv)}; + expItem = { id: dic.exp.id, count: dic.exp.count * gameData.taskExp.get(lv) }; } else if (type == TASK_FUN_TYPE.ACHIEVEMENT) { let dic = dicTask; let userTask = await UserTaskModel.incInfo(roleId, { achievementPoint: dic.point }); @@ -71,15 +71,15 @@ export class ShopHandler { } //任务完成后关联活动的积分 - let activityTaskPoint = await ActivityTaskPointModel.findData(type, id); - if (activityTaskPoint) { - await newHeroGiftPoint(serverId, activityTaskPoint.activityId, roleId, activityTaskPoint.point); + let activityTaskPoint: ActivityTaskPointModelType[] = await ActivityTaskPointModel.findData(type, id); + for (let obj of activityTaskPoint) { + await newHeroGiftPoint(serverId, obj.activityId, roleId, obj.point); let uids = [{ uid: roleId, sid }]; - this.app.get('channelService').pushMessageByUids('addPoint', resResult(STATUS.SUCCESS, { activityId: activityTaskPoint.activityId, addPoint: point }), uids); + this.app.get('channelService').pushMessageByUids('addPoint', resResult(STATUS.SUCCESS, { activityId: obj.activityId, addPoint: point }), uids); } let goods = await addItems(roleId, roleName, sid, taskReward); - if(expItem) { + if (expItem) { await roleLevelup(roleId, expItem.count, session); goods.push(expItem); } diff --git a/shared/db/ActivityTaskPoint.ts b/shared/db/ActivityTaskPoint.ts index b8cc1bfc2..fb0111d9d 100644 --- a/shared/db/ActivityTaskPoint.ts +++ b/shared/db/ActivityTaskPoint.ts @@ -29,7 +29,7 @@ export default class Activity_Task_Point extends BaseModel { //查询数据 public static async findData(taskType: number, taskId: number) { - let result: ActivityTaskPointModelType = await ActivityTaskPointModel.findOne( + let result: ActivityTaskPointModelType[] = await ActivityTaskPointModel.find( { taskType, taskId }).lean(true); return result; } @@ -46,20 +46,20 @@ export default class Activity_Task_Point extends BaseModel { return result; } - private static getSearchObj(form: {taskType?: number, taskId?: number, activityId?: number}) { + private static getSearchObj(form: { taskType?: number, taskId?: number, activityId?: number }) { let searchObj = {}; - if(form['taskType']) searchObj['taskType'] = form.taskType; - if(form['taskId']) searchObj['taskId'] = form.taskId; - if(form['activityId']) searchObj['activityId'] = form.activityId; + if (form['taskType']) searchObj['taskType'] = form.taskType; + if (form['taskId']) searchObj['taskId'] = form.taskId; + if (form['activityId']) searchObj['activityId'] = form.activityId; return searchObj - } + } - public static async findByCondition(page: number, pageSize: number, sortField: string = 'updatedAt', sortOrder: string = 'descend', form: {taskType?: number, taskId?: number, activityId?: number} = {}) { + public static async findByCondition(page: number, pageSize: number, sortField: string = 'updatedAt', sortOrder: string = 'descend', form: { taskType?: number, taskId?: number, activityId?: number } = {}) { let searchObj = this.getSearchObj(form); let sort = {}; - if(sortField && sortOrder) { - if(sortOrder == 'ascend') { + if (sortField && sortOrder) { + if (sortOrder == 'ascend') { sort[sortField] = 1; } else if (sortOrder == 'descend') { sort[sortField] = -1; @@ -70,7 +70,7 @@ export default class Activity_Task_Point extends BaseModel { } - public static async countByCondition(form: {taskType?: number, taskId?: number, activityId?: number} = {}) { + public static async countByCondition(form: { taskType?: number, taskId?: number, activityId?: number } = {}) { let searchObj = this.getSearchObj(form); const result = await ActivityTaskPointModel.count(searchObj);