活动:添加活动接口

This commit is contained in:
qiaoxin
2021-06-28 17:51:34 +08:00
parent 94f0bf10f5
commit 3d20ad0bfc
5 changed files with 43 additions and 426 deletions

View File

@@ -23,6 +23,8 @@ export default class Activity_New_Hero_Gacha extends BaseModel {
@prop({ required: true })
roleId: string; // 用户Id
@prop({ required: true })
selected: boolean; // 是否选中默认false
@prop({ required: true })
hid: number; // 武将id
@prop({ required: true })
count: number; // 抽卡次数,抽中大奖后重新统计
@@ -43,6 +45,13 @@ export default class Activity_New_Hero_Gacha extends BaseModel {
return result;
}
//设置选中武将
public static async selectedHero(serverId: number, activityId: number, roleId: string, hid: number, selected: boolean) {
let result: ActivityNewHeroGachaModelType[] = await ActivityNewHeroGachaModel.findOneAndUpdate(
{ serverId, roleId, activityId, hid }, { $set: { selected } }, { upsert: true, new: true }).lean(true);
return result;
}
//根据活动id查询活动数据
public static async findDataByHid(serverId: number, activityId: number, roleId: string, hid: number) {
let result: ActivityNewHeroGachaModelType = await ActivityNewHeroGachaModel.findOne({ serverId, roleId, activityId, hid }).lean(true);

View File

@@ -7,6 +7,7 @@ import { ActivityBase } from './activityField';
// 每个英雄的奖池配置数据
export class NewHeroGachaItem {
selected: boolean = false;//选中武将
floorCount: number = 0;//保底最大的次数,一定会出现一次
count: number = 0;//多少次没有抽中
hid: number = 0;//武将id
@@ -25,6 +26,7 @@ export class NewHeroGachaItem {
this.percent = [];
this.floorReward = data.floorReward - 1;
this.count = 0;
this.selected = false;
let arr = data.percent.split('|').filter(obj => { return obj && obj != '' });
for (let obj of arr) {
let numArr = splitString(obj, '&');
@@ -54,6 +56,7 @@ export class NewHeroGachaData extends ActivityBase {
let index = data.findIndex(obj => { return obj.hid == item.hid });
if (index != -1) {
item.count = data[index].count ? data[index].count : 0;
item.selected = data[index].selected ? data[index].selected : false;
}
}
}