活动:添加任务统计
This commit is contained in:
@@ -302,6 +302,7 @@ export class PvpHandler {
|
|||||||
|
|
||||||
await checkTaskInPvpEnd(roleId, sid, funcs, isSuccess, heroScores);
|
await checkTaskInPvpEnd(roleId, sid, funcs, isSuccess, heroScores);
|
||||||
if (isSuccess) {
|
if (isSuccess) {
|
||||||
|
await checkActivityTask(serverId, sid, funcs, roleId, TASK_TYPE.PVP_WIN, 1)
|
||||||
await checkActivityTask(serverId, sid, funcs, roleId, TASK_TYPE.PVP_WIN_SERIES, 1)
|
await checkActivityTask(serverId, sid, funcs, roleId, TASK_TYPE.PVP_WIN_SERIES, 1)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -69,8 +69,8 @@ export default class Activity_Growth extends BaseModel {
|
|||||||
}
|
}
|
||||||
|
|
||||||
//查询第几天某个的活动数据
|
//查询第几天某个的活动数据
|
||||||
public static async findDataByCellIndex(serverId: number, activityId: number, roleId: string, dayIndex: number, cellIndex: number, lean = true) {
|
public static async findDataByCellIndex(serverId: number, activityId: number, roleId: string, dayIndex: number, cellIndex: number, type: number,) {
|
||||||
let result: ActivityGrowthModelType[] = await ActivityGrowthModel.find({ serverId, roleId, activityId, dayIndex, cellIndex }).lean(lean);
|
let result: ActivityGrowthModelType = await ActivityGrowthModel.findOne({ serverId, roleId, activityId, dayIndex, cellIndex, type }).lean(true);
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -67,8 +67,8 @@ export default class Activity_Thirty_Days extends BaseModel {
|
|||||||
}
|
}
|
||||||
|
|
||||||
//查询第*页的某个的活动数据
|
//查询第*页的某个的活动数据
|
||||||
public static async findDataByCellIndex(serverId: number, activityId: number, roleId: string, pageIndex: number, cellIndex: number, lean = true) {
|
public static async findDataByCellIndex(serverId: number, activityId: number, roleId: string, pageIndex: number, cellIndex: number, type: number,) {
|
||||||
let result: ActivityThirtyDaysModelType[] = await ActivityThirtyDaysModel.find({ serverId, roleId, activityId, pageIndex, cellIndex }).lean(lean);
|
let result: ActivityThirtyDaysModelType = await ActivityThirtyDaysModel.findOne({ serverId, roleId, activityId, pageIndex, cellIndex, type }).lean(true);
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -486,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) {
|
||||||
|
console.log('accomplishTask', roleId, taskType, count, JSON.stringify(parma))
|
||||||
let pushMessage = [];
|
let pushMessage = [];
|
||||||
let { activityGroupId } = await ServerlistModel.findByServerId(serverId);
|
let { activityGroupId } = await ServerlistModel.findByServerId(serverId);
|
||||||
//七天乐-成长活动统计
|
//七天乐-成长活动统计
|
||||||
@@ -494,7 +495,7 @@ export async function accomplishTask(serverId: number, roleId: string, taskType:
|
|||||||
let growthActivity = new GrowthData(activity);
|
let growthActivity = new GrowthData(activity);
|
||||||
let taskArray = growthActivity.findTaskByType(taskType);
|
let taskArray = growthActivity.findTaskByType(taskType);
|
||||||
for (let task of taskArray) {
|
for (let task of taskArray) {
|
||||||
let taskRecord = await ActivityDailyChallengesModel.findDataByCellIndex(serverId, growthActivity.activityId, roleId, task.dayIndex, task.cellIndex, task.taskType)
|
let taskRecord = await ActivityGrowthModel.findDataByCellIndex(serverId, growthActivity.activityId, roleId, task.dayIndex, task.cellIndex, task.taskType)
|
||||||
let recordData = taskRecord && taskRecord.data ? JSON.parse(taskRecord.data) : null;
|
let recordData = taskRecord && taskRecord.data ? JSON.parse(taskRecord.data) : null;
|
||||||
let { addCount, record } = isComplete(roleId, task.taskType, task.taskParam, count, parma, recordData);
|
let { addCount, record } = isComplete(roleId, task.taskType, task.taskParam, count, parma, recordData);
|
||||||
if (addCount) {
|
if (addCount) {
|
||||||
@@ -553,7 +554,7 @@ export async function accomplishTask(serverId: number, roleId: string, taskType:
|
|||||||
thirtyDaysActivity.setPlayerRecords(playerRecords);
|
thirtyDaysActivity.setPlayerRecords(playerRecords);
|
||||||
let taskArray = thirtyDaysActivity.findUncompleteTaskByType(taskType);
|
let taskArray = thirtyDaysActivity.findUncompleteTaskByType(taskType);
|
||||||
for (let task of taskArray) {
|
for (let task of taskArray) {
|
||||||
let taskRecord = await ActivityDailyChallengesModel.findDataByCellIndex(serverId, thirtyDaysActivity.activityId, roleId, task.dayIndex, task.cellIndex, task.taskType)
|
let taskRecord = await ActivityThirtyDaysModel.findDataByCellIndex(serverId, thirtyDaysActivity.activityId, roleId, task.dayIndex, task.cellIndex, task.taskType)
|
||||||
let recordData = taskRecord && taskRecord.data ? JSON.parse(taskRecord.data) : null
|
let recordData = taskRecord && taskRecord.data ? JSON.parse(taskRecord.data) : null
|
||||||
let { addCount, record } = isComplete(roleId, task.taskType, task.taskParam, count, parma, recordData);
|
let { addCount, record } = isComplete(roleId, task.taskType, task.taskParam, count, parma, recordData);
|
||||||
if (addCount) {
|
if (addCount) {
|
||||||
@@ -751,10 +752,18 @@ export function isComplete(roleId: string, taskType: TASK_TYPE, taskParam: strin
|
|||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
record[hid] = count;
|
record[hid] = count;
|
||||||
|
if (count >= param[1]) {
|
||||||
|
addCount = count;
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
record = {};
|
record = {};
|
||||||
record[hid] = count;
|
record[hid] = count;
|
||||||
|
if (count >= param[1]) {
|
||||||
|
addCount = count;
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -780,7 +789,11 @@ export function isComplete(roleId: string, taskType: TASK_TYPE, taskParam: strin
|
|||||||
addCount = count;
|
addCount = count;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
case TASK_TYPE.PVP_WIN:
|
||||||
|
{
|
||||||
|
addCount = count;
|
||||||
|
break;
|
||||||
|
}
|
||||||
default:
|
default:
|
||||||
addCount = 0;
|
addCount = 0;
|
||||||
break;
|
break;
|
||||||
|
|||||||
Reference in New Issue
Block a user