活动:修改任务统计问题
This commit is contained in:
@@ -331,7 +331,7 @@ export class NormalBattleHandler {
|
|||||||
// 任务
|
// 任务
|
||||||
await checkTaskWithWar(roleId, sid, funcs, TASK_TYPE.BATTLE_MAIN_SWEEP, battleId, [], count, 0);
|
await checkTaskWithWar(roleId, sid, funcs, TASK_TYPE.BATTLE_MAIN_SWEEP, battleId, [], count, 0);
|
||||||
//活动任务
|
//活动任务
|
||||||
await checkActivityTask(serverId, sid, funcs, roleId, TASK_TYPE.BATTLE_MAIN_SWEEP, 1, { battleId })
|
await checkActivityTask(serverId, sid, funcs, roleId, TASK_TYPE.BATTLE_MAIN_SWEEP, count, { battleId })
|
||||||
|
|
||||||
return resResult(STATUS.SUCCESS, {
|
return resResult(STATUS.SUCCESS, {
|
||||||
battleId, count,
|
battleId, count,
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ import { FRIEND } from "../../../pubUtils/dicParam";
|
|||||||
import { PlayerDetail, PlayerDetailHero } from "../../../domain/battleField/guild";
|
import { PlayerDetail, PlayerDetailHero } from "../../../domain/battleField/guild";
|
||||||
import { createPrivateMsg, pushMsgToRole, pushPresent } from "../../../services/chatService";
|
import { createPrivateMsg, pushMsgToRole, pushPresent } from "../../../services/chatService";
|
||||||
import { Rank } from "../../../services/rankService";
|
import { Rank } from "../../../services/rankService";
|
||||||
import { checkTaskWithRoles, checkTask } from "../../../services/taskService";
|
import { checkTaskWithRoles, checkTask, checkActivityTask } from "../../../services/taskService";
|
||||||
|
|
||||||
|
|
||||||
export default function (app: Application) {
|
export default function (app: Application) {
|
||||||
@@ -428,6 +428,7 @@ export class FriendHandler {
|
|||||||
let roleId: string = session.get('roleId');
|
let roleId: string = session.get('roleId');
|
||||||
let roleName: string = session.get('roleName');
|
let roleName: string = session.get('roleName');
|
||||||
let sid: string = session.get('sid');
|
let sid: string = session.get('sid');
|
||||||
|
let serverId: number = session.get('serverId');
|
||||||
const funcs: number[] = session.get('funcs');
|
const funcs: number[] = session.get('funcs');
|
||||||
|
|
||||||
let { roleId: hisRoleId } = msg;
|
let { roleId: hisRoleId } = msg;
|
||||||
@@ -484,6 +485,10 @@ export class FriendHandler {
|
|||||||
frdPointRec = await FriendPointModel.updateSendCntToday(roleId, roleName, todaySendInc, max, FRIEND_DROP_TYPE.SEND_GIFT);
|
frdPointRec = await FriendPointModel.updateSendCntToday(roleId, roleName, todaySendInc, max, FRIEND_DROP_TYPE.SEND_GIFT);
|
||||||
// 任务
|
// 任务
|
||||||
await checkTask(roleId, sid, funcs, TASK_TYPE.FRIEND_SEND_HEART, todaySendInc, true, {});
|
await checkTask(roleId, sid, funcs, TASK_TYPE.FRIEND_SEND_HEART, todaySendInc, true, {});
|
||||||
|
// 活动任务
|
||||||
|
if (todaySendInc > 0) {
|
||||||
|
await checkActivityTask(serverId, sid, funcs, roleId, TASK_TYPE.FRIEND_SEND_HEART, todaySendInc);
|
||||||
|
}
|
||||||
|
|
||||||
return resResult(STATUS.SUCCESS, {
|
return resResult(STATUS.SUCCESS, {
|
||||||
todaySendCnt, list
|
todaySendCnt, list
|
||||||
|
|||||||
@@ -120,6 +120,8 @@ export async function checkTaskInBattleEnd(serverId: number, roleId: string, sid
|
|||||||
await checkActivityTask(serverId, sid, funcs, roleId, TASK_TYPE.BATTLE_DUNGEON_WAR, 1, { warId: battleId })
|
await checkActivityTask(serverId, sid, funcs, roleId, TASK_TYPE.BATTLE_DUNGEON_WAR, 1, { warId: battleId })
|
||||||
} else if (dicWar.warType == WAR_TYPE.TOWER) {
|
} else if (dicWar.warType == WAR_TYPE.TOWER) {
|
||||||
await checkActivityTask(serverId, sid, funcs, roleId, TASK_TYPE.BATTLE_TOWER, 1)
|
await checkActivityTask(serverId, sid, funcs, roleId, TASK_TYPE.BATTLE_TOWER, 1)
|
||||||
|
} else if (dicWar.warType == WAR_TYPE.DAILY) {
|
||||||
|
await checkActivityTask(serverId, sid, funcs, roleId, TASK_TYPE.BATTLE_DAILY, 1, { warId: battleId })
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+23
-12
@@ -569,7 +569,7 @@ export async function accomplishTask(serverId: number, roleId: string, taskType:
|
|||||||
for (let task of growthTaskArray) {
|
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 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, activity.activityId, parma, recordData);
|
||||||
if (addCount) {
|
if (addCount) {
|
||||||
if (taskType == TASK_TYPE.ROLE_LV || taskType == TASK_TYPE.ROLE_TITLE || taskType == TASK_TYPE.BATTLE_TOWER_LV) {
|
if (taskType == TASK_TYPE.ROLE_LV || taskType == TASK_TYPE.ROLE_TITLE || taskType == TASK_TYPE.BATTLE_TOWER_LV) {
|
||||||
let playerRecord = await ActivityGrowthModel.setTaskCount(serverId, activity.activityId, roleId, task.dayIndex, task.cellIndex, task.taskType, addCount);
|
let playerRecord = await ActivityGrowthModel.setTaskCount(serverId, activity.activityId, roleId, task.dayIndex, task.cellIndex, task.taskType, addCount);
|
||||||
@@ -595,7 +595,7 @@ export async function accomplishTask(serverId: number, roleId: string, taskType:
|
|||||||
for (let task of dailyChallengeTaskArray) {
|
for (let task of dailyChallengeTaskArray) {
|
||||||
let taskRecord = await ActivityDailyChallengesModel.findDataByCellIndex(serverId, activity.activityId, roleId, task.dayIndex, task.cellIndex, task.taskType)
|
let taskRecord = await ActivityDailyChallengesModel.findDataByCellIndex(serverId, activity.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, activity.activityId, parma, recordData);
|
||||||
if (addCount) {
|
if (addCount) {
|
||||||
if (taskType == TASK_TYPE.ROLE_LV || taskType == TASK_TYPE.ROLE_TITLE || taskType == TASK_TYPE.BATTLE_TOWER_LV) {
|
if (taskType == TASK_TYPE.ROLE_LV || taskType == TASK_TYPE.ROLE_TITLE || taskType == TASK_TYPE.BATTLE_TOWER_LV) {
|
||||||
let playerRecord = await ActivityDailyChallengesModel.setTaskCount(serverId, activity.activityId, roleId, task.dayIndex, task.cellIndex, task.taskType, addCount);
|
let playerRecord = await ActivityDailyChallengesModel.setTaskCount(serverId, activity.activityId, roleId, task.dayIndex, task.cellIndex, task.taskType, addCount);
|
||||||
@@ -625,7 +625,7 @@ export async function accomplishTask(serverId: number, roleId: string, 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 ActivityDailyChallengesModel.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, growthActivity.activityId, parma, recordData);
|
||||||
if (addCount) {
|
if (addCount) {
|
||||||
if (taskType == TASK_TYPE.ROLE_LV || taskType == TASK_TYPE.ROLE_TITLE || taskType == TASK_TYPE.BATTLE_TOWER_LV) {
|
if (taskType == TASK_TYPE.ROLE_LV || taskType == TASK_TYPE.ROLE_TITLE || taskType == TASK_TYPE.BATTLE_TOWER_LV) {
|
||||||
let playerRecord = await ActivityDailyChallengesModel.setTaskCount(serverId, growthActivity.activityId, roleId, task.dayIndex, task.cellIndex, task.taskType, addCount);
|
let playerRecord = await ActivityDailyChallengesModel.setTaskCount(serverId, growthActivity.activityId, roleId, task.dayIndex, task.cellIndex, task.taskType, addCount);
|
||||||
@@ -655,7 +655,7 @@ export async function accomplishTask(serverId: number, roleId: string, taskType:
|
|||||||
for (let task of taskArray) {
|
for (let task of taskArray) {
|
||||||
let taskRecord = await ActivityRefreshTaskModel.findDataById(serverId, taskActivity.activityId, roleId, taskActivity.roundIndex, task.pageIndex, task.id, task.taskType)
|
let taskRecord = await ActivityRefreshTaskModel.findDataById(serverId, taskActivity.activityId, roleId, taskActivity.roundIndex, task.pageIndex, task.id, 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, taskActivity.activityId, parma, recordData);
|
||||||
if (addCount) {
|
if (addCount) {
|
||||||
if (taskType == TASK_TYPE.ROLE_LV || taskType == TASK_TYPE.ROLE_TITLE || taskType == TASK_TYPE.BATTLE_TOWER_LV) {
|
if (taskType == TASK_TYPE.ROLE_LV || taskType == TASK_TYPE.ROLE_TITLE || taskType == TASK_TYPE.BATTLE_TOWER_LV) {
|
||||||
let playerRecord = await ActivityRefreshTaskModel.setTaskCount(serverId, taskActivity.activityId, roleId, taskActivity.roundIndex, task.pageIndex, task.id, task.taskType, addCount);
|
let playerRecord = await ActivityRefreshTaskModel.setTaskCount(serverId, taskActivity.activityId, roleId, taskActivity.roundIndex, task.pageIndex, task.id, task.taskType, addCount);
|
||||||
@@ -695,7 +695,7 @@ export async function accomplishTask(serverId: number, roleId: string, taskType:
|
|||||||
let taskRecord: ActivityTreasureHuntTaskModelType = await ActivityTreasureHuntTaskModel.findDataByCellIndex(serverId, activity.activityId, roleId, huntRoundIndex, task.cellIndex);
|
let taskRecord: ActivityTreasureHuntTaskModelType = await ActivityTreasureHuntTaskModel.findDataByCellIndex(serverId, activity.activityId, roleId, huntRoundIndex, task.cellIndex);
|
||||||
if (!taskRecord || !taskRecord.isPush) {
|
if (!taskRecord || !taskRecord.isPush) {
|
||||||
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, activity.activityId, parma, recordData);
|
||||||
if (addCount) {
|
if (addCount) {
|
||||||
let playerRecord = await ActivityTreasureHuntTaskModel.addTreasureHuntTaskCount(serverId, activity.activityId, roleId, huntRoundIndex, task.cellIndex, addCount);
|
let playerRecord = await ActivityTreasureHuntTaskModel.addTreasureHuntTaskCount(serverId, activity.activityId, roleId, huntRoundIndex, task.cellIndex, addCount);
|
||||||
//推送
|
//推送
|
||||||
@@ -747,7 +747,7 @@ export async function accomplishTask(serverId: number, roleId: string, taskType:
|
|||||||
for (let task of taskArray) {
|
for (let task of taskArray) {
|
||||||
let taskRecord = await ActivityThirtyDaysModel.findDataByCellIndex(serverId, thirtyDaysActivity.activityId, roleId, task.pageIndex, task.cellIndex, task.tab, task.taskType)
|
let taskRecord = await ActivityThirtyDaysModel.findDataByCellIndex(serverId, thirtyDaysActivity.activityId, roleId, task.pageIndex, task.cellIndex, task.tab, 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, thirtyDaysActivity.activityId, parma, recordData);
|
||||||
if (addCount) {
|
if (addCount) {
|
||||||
let playerRecord = await ActivityThirtyDaysModel.addTaskCount(serverId, thirtyDaysActivity.activityId, roleId, task.pageIndex, task.cellIndex, task.tab, task.taskType, addCount);
|
let playerRecord = await ActivityThirtyDaysModel.addTaskCount(serverId, thirtyDaysActivity.activityId, roleId, task.pageIndex, task.cellIndex, task.tab, task.taskType, addCount);
|
||||||
//推送
|
//推送
|
||||||
@@ -787,7 +787,7 @@ export async function accomplishTask(serverId: number, roleId: string, taskType:
|
|||||||
} else if (taskType == TASK_TYPE.EQUIP_QUALITY_COUNT || taskType == TASK_TYPE.GACHA_QUALITY_COUNT || taskType == TASK_TYPE.GUILD_ACTIVITY) {//每天统计
|
} else if (taskType == TASK_TYPE.EQUIP_QUALITY_COUNT || taskType == TASK_TYPE.GACHA_QUALITY_COUNT || taskType == TASK_TYPE.GUILD_ACTIVITY) {//每天统计
|
||||||
let recordDate = moment(new Date()).startOf('d').toDate()
|
let recordDate = moment(new Date()).startOf('d').toDate()
|
||||||
let recordData: ActivityPopUpShopRecordModelType = await ActivityPopUpShopRecordModel.findRecordData(serverId, activity.activityId, roleId, task.id, task.taskType, recordDate)
|
let recordData: ActivityPopUpShopRecordModelType = await ActivityPopUpShopRecordModel.findRecordData(serverId, activity.activityId, roleId, task.id, task.taskType, recordDate)
|
||||||
let { addCount } = isComplete(roleId, task.taskType, task.taskParam, count, parma, null);
|
let { addCount } = isComplete(roleId, task.taskType, task.taskParam, count, activity.activityId, parma, null);
|
||||||
let oldCount = (recordData && recordData.count) ? recordData.count : 0;
|
let oldCount = (recordData && recordData.count) ? recordData.count : 0;
|
||||||
if (oldCount < task.condition && (oldCount + addCount >= task.condition)) {//完成当天任务
|
if (oldCount < task.condition && (oldCount + addCount >= task.condition)) {//完成当天任务
|
||||||
let playerRecord = await ActivityPopUpShopModel.addTaskPushMessage(serverId, activity.activityId, roleId, task.id, task.taskType, oldCount + addCount, beginTime, endTime);
|
let playerRecord = await ActivityPopUpShopModel.addTaskPushMessage(serverId, activity.activityId, roleId, task.id, task.taskType, oldCount + addCount, beginTime, endTime);
|
||||||
@@ -812,7 +812,7 @@ export async function accomplishTask(serverId: number, roleId: string, taskType:
|
|||||||
let taskRecord = await ActivityPopUpShopModel.findDataByTaskId(serverId, activity.activityId, roleId, popShopData.id, popShopData.taskType)
|
let taskRecord = await ActivityPopUpShopModel.findDataByTaskId(serverId, activity.activityId, roleId, popShopData.id, popShopData.taskType)
|
||||||
let recordData = taskRecord && taskRecord.data ? JSON.parse(taskRecord.data) : null
|
let recordData = taskRecord && taskRecord.data ? JSON.parse(taskRecord.data) : null
|
||||||
if (!taskRecord || !taskRecord.isPush) {
|
if (!taskRecord || !taskRecord.isPush) {
|
||||||
let { addCount, record } = isComplete(roleId, task.taskType, task.taskParam, count, parma, recordData);
|
let { addCount, record } = isComplete(roleId, task.taskType, task.taskParam, count, activity.activityId, parma, recordData);
|
||||||
if (addCount) {
|
if (addCount) {
|
||||||
if (taskType == TASK_TYPE.ROLE_LV || taskType == TASK_TYPE.ROLE_TITLE || taskType == TASK_TYPE.BATTLE_TOWER_LV) {
|
if (taskType == TASK_TYPE.ROLE_LV || taskType == TASK_TYPE.ROLE_TITLE || taskType == TASK_TYPE.BATTLE_TOWER_LV) {
|
||||||
let playerRecord = await ActivityPopUpShopModel.setTaskCount(serverId, activity.activityId, roleId, task.id, task.taskType, addCount);
|
let playerRecord = await ActivityPopUpShopModel.setTaskCount(serverId, activity.activityId, roleId, task.id, task.taskType, addCount);
|
||||||
@@ -903,8 +903,8 @@ export async function accomplishTask(serverId: number, roleId: string, taskType:
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
export function isComplete(roleId: string, taskType: TASK_TYPE, taskParam: string, count: number, paramObj?: any, recordData?: any): any {
|
export function isComplete(roleId: string, taskType: TASK_TYPE, taskParam: string, count: number, activityId: number, paramObj?: any, recordData?: any): any {
|
||||||
console.log('达成任务标准', roleId, taskType, taskParam, count, paramObj)
|
console.log('达成任务标准', roleId, taskType, taskParam, count, activityId, paramObj)
|
||||||
let param = splitString(taskParam, '&');
|
let param = splitString(taskParam, '&');
|
||||||
let addCount: number = 0; // 条件是否满足
|
let addCount: number = 0; // 条件是否满足
|
||||||
let record: any = null;
|
let record: any = null;
|
||||||
@@ -1181,7 +1181,7 @@ export function isComplete(roleId: string, taskType: TASK_TYPE, taskParam: strin
|
|||||||
}
|
}
|
||||||
case TASK_TYPE.BATTLE_EVENT:
|
case TASK_TYPE.BATTLE_EVENT:
|
||||||
{
|
{
|
||||||
if (param[0] == paramObj.eventType) {
|
if (param[0] == 0 || param[0] == paramObj.eventType) {
|
||||||
addCount = count;
|
addCount = count;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@@ -1213,7 +1213,18 @@ export function isComplete(roleId: string, taskType: TASK_TYPE, taskParam: strin
|
|||||||
addCount = count;
|
addCount = count;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
case TASK_TYPE.BATTLE_DAILY:
|
||||||
|
{
|
||||||
|
if (param[0] == 0 || param[0] == paramObj.warId) {
|
||||||
|
addCount = count;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case TASK_TYPE.FRIEND_SEND_HEART:
|
||||||
|
{
|
||||||
|
addCount = count;
|
||||||
|
break;
|
||||||
|
}
|
||||||
default:
|
default:
|
||||||
addCount = 0;
|
addCount = 0;
|
||||||
break;
|
break;
|
||||||
|
|||||||
Reference in New Issue
Block a user