✨ feat(gvg): 每日首次获得
This commit is contained in:
@@ -1070,6 +1070,7 @@ export enum ITEM_CHANGE_REASON {
|
||||
ARTIFACT_TRANSFER = 159, // 宝物转换
|
||||
ARTIFACT_REBUILD = 160, // 宝物重铸
|
||||
GVG_ACTIVE_TECH = 161, // 千机阁解锁
|
||||
GVG_LOGIN = 162, // 每日登录
|
||||
}
|
||||
|
||||
export enum TA_EVENT {
|
||||
|
||||
@@ -85,7 +85,6 @@ export default class GVGLeague extends BaseModel {
|
||||
public static async findLeagueByGuild(guildCode: string) {
|
||||
const league: GVGLeagueType = await GVGLeagueModel.findOne({ guildCodes: guildCode, status: 1 })
|
||||
.populate('leader', { roleId: 1, roleName: 1, head: 1, frame: 1, spine: 1, lv: 1, quitTime: 1, ce: 1, title: 1, serverId: 1, _id: 0 }, 'Role')
|
||||
.select('+serverId')
|
||||
.lean();
|
||||
return league
|
||||
}
|
||||
|
||||
@@ -37,7 +37,7 @@ export default class GVGUserDailyData extends BaseModel {
|
||||
hasGetTechActive: boolean; // 千机阁激活活跃是否获得
|
||||
|
||||
@prop({ required: true, default: 0 })
|
||||
hasLogin: boolean; // 每日登录活跃是否获得
|
||||
hasLogin: boolean; // 是否登录
|
||||
|
||||
public static async findByRole(configId: number, leagueCode: string, roleId: string) {
|
||||
const result: GVGUserDailyDataType = await GVGUserDailyDataModel.findOne({ configId, leagueCode, roleId, time: getZeroPoint() }).select('food mineral wood score').lean();
|
||||
@@ -52,6 +52,15 @@ export default class GVGUserDailyData extends BaseModel {
|
||||
const result: GVGUserDailyDataType = await GVGUserDailyDataModel.findOneAndUpdate({ configId, leagueCode, roleId, time: getZeroPoint() }, { hasGetTechActive: true }, { upsert: true, new: true }).lean();
|
||||
return result;
|
||||
}
|
||||
|
||||
public static async checkHasLogin(configId: number, leagueCode: string, roleId: string) {
|
||||
return await GVGUserDailyDataModel.exists({ configId, leagueCode, roleId, time: getZeroPoint(), hasLogin: { $exists: true } });
|
||||
}
|
||||
|
||||
public static async setHasLogin(configId: number, leagueCode: string, roleId: string) {
|
||||
const result: GVGUserDailyDataType = await GVGUserDailyDataModel.findOneAndUpdate({ configId, leagueCode, roleId, time: getZeroPoint() }, { hasLogin: true }, { upsert: true, new: true }).lean();
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
export const GVGUserDailyDataModel = getModelForClass(GVGUserDailyData);
|
||||
|
||||
@@ -100,7 +100,7 @@ export default class GVGUserData extends BaseModel {
|
||||
}
|
||||
|
||||
public static async addActive(configId: number, leagueCode: string, roleId: string, activeType: number, active: number) {
|
||||
const result: GVGUserDataType = await GVGUserDataModel.findOneAndUpdate({ configId, leagueCode, roleId }, { $inc: { active }, $push: { activeRec: new ActiveRec(activeType, active) } }, { new: true, upsert: true}).lean();
|
||||
const result: GVGUserDataType = await GVGUserDataModel.findOneAndUpdate({ configId, leagueCode, roleId }, { $inc: { active }, $push: { activeRec: new ActiveRec(activeType, active) } }, { new: true, upsert: true}).select('active').lean();
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -74,6 +74,10 @@ export class GVGMainData {
|
||||
|
||||
sumTime: number = 0; // 今日贡献结算时间 10位时间戳
|
||||
|
||||
// 是否每天首次登录
|
||||
isFirst = false;
|
||||
leagueGoods: { itemType: number, id: number, count: number }[];
|
||||
|
||||
constructor(configId: number, period: number, countdownTime: number, type: number) {
|
||||
this.configId = configId;
|
||||
this.period = period;
|
||||
@@ -112,6 +116,11 @@ export class GVGMainData {
|
||||
}
|
||||
this.myInfo.tasks = tasks;
|
||||
}
|
||||
|
||||
setFistLogin(item: { itemType: number, id: number, count: number }[]) {
|
||||
this.isFirst = true;
|
||||
this.leagueGoods = item;
|
||||
}
|
||||
}
|
||||
|
||||
export class LeagueListInfo {
|
||||
|
||||
Reference in New Issue
Block a user