活动:首冲礼包一次性领取所有
This commit is contained in:
@@ -64,15 +64,19 @@ export class FirstGiftHandler {
|
|||||||
return resResult(STATUS.ACTIVITY_FIRST_GIFT_END);
|
return resResult(STATUS.ACTIVITY_FIRST_GIFT_END);
|
||||||
}
|
}
|
||||||
|
|
||||||
let item = playerData.findFirstGiftItem(index);
|
let items = playerData.canReceiveItems();
|
||||||
if (item.isReceive) {
|
if (items.length === 0) {
|
||||||
return resResult(STATUS.ACTIVITY_REWARDED);
|
return resResult(STATUS.ACTIVITY_REWARDED);
|
||||||
}
|
}
|
||||||
|
let rewardArray = [];
|
||||||
let rewardArray = stringToRewardParam(item.reward)
|
let indexArray = [];
|
||||||
|
for (let item of items) {
|
||||||
|
rewardArray = rewardArray.concat(stringToRewardParam(item.reward))
|
||||||
|
indexArray.push(item.index)
|
||||||
|
}
|
||||||
let result = await addReward(roleId, roleName, sid, serverId, funcs, rewardArray);
|
let result = await addReward(roleId, roleName, sid, serverId, funcs, rewardArray);
|
||||||
|
|
||||||
await ActivityFirstGiftModel.addRecord(activityId, roleId, index);
|
await ActivityFirstGiftModel.addRecord(activityId, roleId, indexArray);
|
||||||
return resResult(STATUS.SUCCESS, Object.assign(result, {}));
|
return resResult(STATUS.SUCCESS, Object.assign(result, {}));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -16,9 +16,9 @@ export default class ActivityFirstGift extends BaseModel {
|
|||||||
|
|
||||||
|
|
||||||
//添加领取记录
|
//添加领取记录
|
||||||
public static async addRecord(activityId: number, roleId: string, index: number) {
|
public static async addRecord(activityId: number, roleId: string, indexArray: number[]) {
|
||||||
let result: ActivityFirstGiftModelType = await ActivityFirstGiftModel.findOneAndUpdate({ roleId, activityId, },
|
let result: ActivityFirstGiftModelType = await ActivityFirstGiftModel.findOneAndUpdate({ roleId, activityId, },
|
||||||
{ $push: { days: index } }, { upsert: true, new: true }).lean(true);
|
{ $push: { days: { $each: indexArray } } }, { upsert: true, new: true }).lean(true);
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -18,6 +18,7 @@ export class FirstGiftItem {
|
|||||||
this.index = data.index;
|
this.index = data.index;
|
||||||
this.reward = data.reward;
|
this.reward = data.reward;
|
||||||
this.goldCount = data.goldCount;
|
this.goldCount = data.goldCount;
|
||||||
|
this.isReceive = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -46,6 +47,11 @@ export class FirstGiftData extends ActivityBase {
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//奖励内容
|
||||||
|
public canReceiveItems(): FirstGiftItem[] {
|
||||||
|
return this.list.filter(obj => { return obj && !obj.isReceive });
|
||||||
|
}
|
||||||
|
|
||||||
//解析玩家任务领取记录
|
//解析玩家任务领取记录
|
||||||
public setPlayerRecords(data: ActivityFirstGiftModelType) {
|
public setPlayerRecords(data: ActivityFirstGiftModelType) {
|
||||||
this.todayIndex = 0;
|
this.todayIndex = 0;
|
||||||
|
|||||||
@@ -18,6 +18,7 @@ export class SignInItem {
|
|||||||
constructor(data: any) {
|
constructor(data: any) {
|
||||||
this.dayIndex = data.dayIndex;
|
this.dayIndex = data.dayIndex;
|
||||||
this.reward = data.reward;
|
this.reward = data.reward;
|
||||||
|
this.isReceive = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
public heroReward(): CreateHeroParam[] {
|
public heroReward(): CreateHeroParam[] {
|
||||||
@@ -88,7 +89,6 @@ export class SignInData extends ActivityBase {
|
|||||||
|
|
||||||
let arr = dataObj.data
|
let arr = dataObj.data
|
||||||
for (let obj of arr) {
|
for (let obj of arr) {
|
||||||
console.log('obj', obj)
|
|
||||||
this.list.push(new SignInItem(obj))
|
this.list.push(new SignInItem(obj))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user