🐞 fix(guild): 修复周一加入无活人军团领奖励问题

This commit is contained in:
dingchaolin
2023-03-03 17:02:17 +08:00
parent b66fa43039
commit 968bfc56dc
4 changed files with 39 additions and 10 deletions

View File

@@ -175,8 +175,6 @@ export default class UserGuild extends BaseModel {
update.receivedWishPool = [];
update.wishGoods = [];
update.wishDntCnt = 0;
update.refTimeDaily = null;
update.refBossTime = null;
update.trainCount = 0;
update.buyTrainCount = 0;
update.trainTime = 0;
@@ -192,7 +190,7 @@ export default class UserGuild extends BaseModel {
}
public static async findMyLastGuild(roleId: string, select: string) {
const userGuild = await UserGuildModel.findOne({ roleId, status: { $ne: USER_GUILD_STATUS.ON } }).select(select).sort({ updatedAt: -1 }).lean();
const userGuild = await UserGuildModel.findOne({ roleId, status: { $ne: USER_GUILD_STATUS.ON } }).select(select).sort({ createdAt: -1 }).lean();
return userGuild;
}
@@ -278,6 +276,13 @@ export default class UserGuild extends BaseModel {
} }, { new: true }).lean();
return result;
}
public static async resetDailyInfoByRefTimeDaily(roleId: string, refTimeDaily: Date | null) {
const result: UserGuildType = await UserGuildModel.findOneAndUpdate({ roleId, status: USER_GUILD_STATUS.ON, refTimeDaily }, { $set: {
receivedActive: [], refTimeDaily: new Date(), activeDaily: 0, activeRecord: [], wishGoods: [], receivedWishPool: [], receiveBoxs: [], wishDntCnt: 0, donateCnt: 0
} }, { new: true }).lean();
return result;
}
}
export const UserGuildModel = getModelForClass(UserGuild);

View File

@@ -570,6 +570,22 @@ export function getFutureTime() {
return moment('2100-01-01').unix();
}
/**
* 判断是不是今天
* 不是标准的0点-24点时间区间是: 今天5点-明天5点
*
* @export
* @param {number} time 单位:秒
* @return {*} {Boolean}
*/
export function isToday(time: number): Boolean {
return moment().format('YYYYMMDD') === moment(time * 1000).format('YYYYMMDD');
// 今天5点
const startSeconds = getSeconds(getZeroPointD());
// 明天5点
const endSeconds = startSeconds + DAY_TO_SECOND;
if ((time > startSeconds) && (time < endSeconds)) {
return true;
}
return false;
}