活动:月卡权限
This commit is contained in:
@@ -20,7 +20,8 @@ export default class Activity_Monthly_Ticket extends BaseModel {
|
||||
endTime: Date; // 结束时间
|
||||
@prop({ required: true })
|
||||
dayIndex: number; // 结算到第几天,从0开始,1表示第一天已经领取过(包括邮件发放)
|
||||
|
||||
@prop({ required: true })
|
||||
isForever: boolean; // 是否是永久卡
|
||||
|
||||
//记录领取的天数
|
||||
public static async setDayIndex(serverId: number, roleId: string, activityId: number, dayIndex: number) {
|
||||
@@ -37,8 +38,8 @@ export default class Activity_Monthly_Ticket extends BaseModel {
|
||||
}
|
||||
|
||||
//购买月卡
|
||||
public static async buyMonthlyTicket(serverId: number, roleId: string, activityId: number, activityType: number, endTime: Date) {
|
||||
await ActivityMonthlyTicketModel.findOneAndUpdate({ serverId, roleId, activityId, activityType }, { $set: { endTime, dayIndex: 0 } }, { upsert: true, new: true }).lean();
|
||||
public static async buyMonthlyTicket(serverId: number, roleId: string, activityId: number, activityType: number, endTime: Date, isForever: boolean) {
|
||||
await ActivityMonthlyTicketModel.findOneAndUpdate({ serverId, roleId, activityId, activityType }, { $set: { endTime, dayIndex: 0, isForever } }, { upsert: true, new: true }).lean();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@ class Goods {
|
||||
count: number; // 这次挂机没来得及领取的
|
||||
}
|
||||
|
||||
class NotReceivedGoods {
|
||||
export class NotReceivedGoods {
|
||||
@prop({ required: true })
|
||||
cnt: number; // 加速的次数
|
||||
@prop({ required: true, default: [], type: Goods, _id: false })
|
||||
|
||||
@@ -193,13 +193,9 @@ export default class Role extends BaseModel {
|
||||
topLineupCe: number; // 最强x人战力
|
||||
@prop({ required: true, type: TopHero, default: [], _id: false })
|
||||
topLineup: Array<TopHero>; // 总战力
|
||||
@prop({ required: true, default: 100 })
|
||||
tili: number; // 体力值
|
||||
@prop({ required: false, set: (val: boolean) => val, get: () => true })
|
||||
isReducedCe: boolean; // 如果战力没有缩过就会返回false,缩过了就会返回true
|
||||
|
||||
@prop({ required: true, default: 0 })
|
||||
vLv: number; // VIP 等级
|
||||
@prop({ required: true, default: 100 })
|
||||
gold: number; // 总金币
|
||||
@prop({ required: true, default: 0 })
|
||||
@@ -234,6 +230,12 @@ export default class Role extends BaseModel {
|
||||
@prop({ required: true, default: 0 })
|
||||
quitTime: number; // 更新 / 登录时间
|
||||
|
||||
// 月卡相关
|
||||
@prop({ required: true, default: 0 })
|
||||
vipStartTime: number; // 永久卡开始时间
|
||||
@prop({ required: true, default: 0 })
|
||||
isVip: boolean; // 是否购买了永久月卡
|
||||
|
||||
// 天梯相关
|
||||
@prop({ required: true, default: 1 })
|
||||
towerLv: number; // 天梯当前层数
|
||||
@@ -402,11 +404,6 @@ export default class Role extends BaseModel {
|
||||
return role;
|
||||
}
|
||||
|
||||
public static async deleteAccount(roleId: string) {
|
||||
let result = await RoleModel.deleteMany({ roleId });
|
||||
return result;
|
||||
}
|
||||
|
||||
public static async addCoin(roleId: string, cnt: number, lean = true) {
|
||||
let result: RoleType = await RoleModel.findOneAndUpdate({ roleId }, { $inc: { coin: cnt } }, { "new": true, "upsert": true }).lean(lean);
|
||||
return result;
|
||||
@@ -740,6 +737,11 @@ export default class Role extends BaseModel {
|
||||
return role;
|
||||
}
|
||||
|
||||
// 购买永久月卡
|
||||
public static async buyForeverTicket(roleId: string) {
|
||||
const role: RoleType = await RoleModel.findOneAndUpdate({ roleId }, { $set: { vipStartTime: Date.now(), isVip: true } }, { new: true }).lean();
|
||||
return role;
|
||||
}
|
||||
|
||||
private static getSearchObj(form: SearchRoleParam) {
|
||||
let searchObj = {};
|
||||
|
||||
Reference in New Issue
Block a user