军团限时付费:退出军团后减少付费人数

This commit is contained in:
luying
2022-09-27 17:36:50 +08:00
parent 53a252a392
commit 2d2fd1014a
4 changed files with 63 additions and 21 deletions

View File

@@ -8,6 +8,8 @@ class MemberRecord {
roleName: string;
@prop({ required: true })
price: number; // 金额
@prop({ required: true })
hasQuit: boolean; // 金额
}
@@ -40,11 +42,12 @@ export default class Activity_Guild_Pay extends BaseModel {
result = await ActivityGuildPayModel.findOneAndUpdate({ serverId, guildCode, activityId, roundIndex }, { $push: { memberRecord } }, { new: true, upsert: true }).lean();
} else {
result = await ActivityGuildPayModel.findOneAndUpdate({ serverId, guildCode, activityId, roundIndex, 'memberRecord.roleId': memberRecord.roleId }, {
$set: { 'memberRecord.$.roleName': memberRecord.roleName },
$set: { 'memberRecord.$.roleName': memberRecord.roleName, 'memberRecord.$.hasQuit': false },
$inc: { 'memberRecord.$.price': memberRecord.price }
}, { new: true }).lean();
}
return { result, isNew: !hasUser };
let isNew = hasUser? hasUser.hasQuit: true;
return { result, isNew };
}
//根据活动id查询活动数据
@@ -52,6 +55,11 @@ export default class Activity_Guild_Pay extends BaseModel {
let result: ActivityGuildPayModelType = await ActivityGuildPayModel.findOne({ serverId, activityId, roundIndex, guildCode }).lean(true);
return result;
}
public static async quitGuild(serverId: number, activityId: number, roundIndex: number, guildCode: string, roleId: string) {
let result: ActivityGuildPayModelType = await ActivityGuildPayModel.findOneAndUpdate({ serverId, guildCode, activityId, roundIndex, 'memberRecord.roleId': roleId }, { $set: { 'memberRecord.$.hasQuit': true } }, { new: true }).lean();
return result;
}
}
export const ActivityGuildPayModel = getModelForClass(Activity_Guild_Pay);