diff --git a/game-server/app/servers/activity/handler/refreshTaskHandler.ts b/game-server/app/servers/activity/handler/refreshTaskHandler.ts index 3f1940b5e..81e74a988 100644 --- a/game-server/app/servers/activity/handler/refreshTaskHandler.ts +++ b/game-server/app/servers/activity/handler/refreshTaskHandler.ts @@ -72,6 +72,9 @@ export class RefreshTaskHandler { let rewardParamArr: Array = stringToRewardParam(dailyItemData.reward); let result = await addReward(roleId, roleName, sid, serverId, funcs, rewardParamArr) + //获得点数 + await ActivityRefreshTaskPointModel.addPoint(serverId, activityId, roleId, dailyItemData.point); + dailyItemData.receiveRewardCount += 1; return resResult(STATUS.SUCCESS, Object.assign(result, { param: { activityId, roundIndex, pageIndex, id, type }, diff --git a/game-server/app/servers/role/handler/itemHandler.ts b/game-server/app/servers/role/handler/itemHandler.ts index a50a1091b..7f01d4fc6 100644 --- a/game-server/app/servers/role/handler/itemHandler.ts +++ b/game-server/app/servers/role/handler/itemHandler.ts @@ -38,8 +38,8 @@ export class ItemHandler { const funcs = session.get('funcs'); if (count > 0) { - // let consumeResult = await handleCost(roleId, sid, [{ id: id, count: count }]); - // if (!consumeResult) return resResult(STATUS.ACTIVITY_RES_NOT_ENOUGH); + let consumeResult = await handleCost(roleId, sid, [{ id: id, count: count }]); + if (!consumeResult) return resResult(STATUS.ACTIVITY_RES_NOT_ENOUGH); let dicGoods = gameData.goods.get(id); if (!dicGoods) { @@ -47,7 +47,7 @@ export class ItemHandler { } let dicItid = ITID.get(dicGoods.itid); if (!dicItid) return resResult(STATUS.DIC_DATA_NOT_FOUND); - if (dicItid.type != CONSUME_TYPE.CONSUME) { + if (dicItid.type != CONSUME_TYPE.GIFT_PACKAGE) { return resResult(STATUS.NOT_CONSUME_GOODS); } let giftID = dicGoods.gift; diff --git a/shared/db/ActivityRefreshTaskPoint.ts b/shared/db/ActivityRefreshTaskPoint.ts index 4bf844fa9..f73aa5c92 100644 --- a/shared/db/ActivityRefreshTaskPoint.ts +++ b/shared/db/ActivityRefreshTaskPoint.ts @@ -26,9 +26,19 @@ export default class Activity_Refresh_Task_Point extends BaseModel { @prop({ required: true }) roleId: string; // 用户Id @prop({ required: true }) + totalPoint: number; // 获得的总点数 + @prop({ required: true }) records: Record[]; // 兑换红包消耗点数记录 - //任务领取记录 + + //获得点数 + public static async addPoint(serverId: number, activityId: number, roleId: string, point: number) { + let result: ActivityRefreshTaskPointModelType = await ActivityRefreshTaskPointModel.findOneAndUpdate({ serverId, roleId, activityId, }, + { $inc: { totalPoint: point } }, { upsert: true, new: true }).lean(true); + return result; + } + + //兑换记录 public static async addReceiveRecord(serverId: number, activityId: number, roleId: string, point: number) { let result: ActivityRefreshTaskPointModelType = await ActivityRefreshTaskPointModel.findOneAndUpdate({ serverId, roleId, activityId, }, { $push: { records: { point, time: new Date() } } }, { upsert: true, new: true }).lean(true); diff --git a/shared/domain/activityField/refreshTaskField.ts b/shared/domain/activityField/refreshTaskField.ts index 05ef6a0a5..b903d15ea 100644 --- a/shared/domain/activityField/refreshTaskField.ts +++ b/shared/domain/activityField/refreshTaskField.ts @@ -94,13 +94,11 @@ export class RefreshTaskData extends ActivityBase { if (index != -1) { item.totalCount = data[index].totalCount ? data[index].totalCount : 0; item.receiveRewardCount = data[index].receiveRewardCount ? data[index].receiveRewardCount : 0; - if (item.receiveRewardCount) { - this.totalPoint += item.point; - } } } } + this.totalPoint = pointRecordData && pointRecordData.totalPoint ? pointRecordData.totalPoint : 0; let pointRecords = pointRecordData && pointRecordData.records ? pointRecordData.records : []; for (let record of pointRecords) { this.exchangePoint += record.point;