活动:任务积分支持多活动id
This commit is contained in:
@@ -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 = <DicAchievement>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);
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user