🐞 fix(军团活动): 诸侯混战宣多城数据分开

This commit is contained in:
luying
2023-07-19 11:08:08 +08:00
parent e867ac906f
commit 0c6bea6ad1
2 changed files with 26 additions and 12 deletions

View File

@@ -79,19 +79,33 @@ export default class GuildActivityRecord extends BaseModel {
let insert = Object.assign(docs, { code, guildCode, serverId, aid, createdAt: new Date(), auctionType: aid + 1 });
if(events) insert = Object.assign(insert, { events });
let update: GuildActivityRecordUpdateParam = {};
if(cityId) update = Object.assign(update, { challengeCityId: cityId });
let rec: GuildActivityRecordType = await GuildActivityRecordModel.findOneAndUpdate(
{ aid, guildCode, index, status: 1},
{ $setOnInsert: insert, $set: update },
{new: true, upsert: true}).lean();
return rec;
if(cityId) {
let rec: GuildActivityRecordType = await GuildActivityRecordModel.findOneAndUpdate(
{ aid, guildCode, index, status: 1, challengeCityId: cityId},
{ $setOnInsert: insert, $set: update },
{new: true, upsert: true}).lean();
return rec;
} else {
let rec: GuildActivityRecordType = await GuildActivityRecordModel.findOneAndUpdate(
{ aid, guildCode, index, status: 1},
{ $setOnInsert: insert, $set: update },
{new: true, upsert: true}).lean();
return rec;
}
}
public static async updateInfo(guildCode: string, aid: number, index: number, update: GuildActivityRecordUpdateParam) {
let rec: GuildActivityRecordType = await GuildActivityRecordModel.findOneAndUpdate(
{ guildCode, aid, index, status: 1 },
{ $set: update, $setOnInsert: { code: genCode(10) } }, { new: true, upsert: true }).lean();
return rec;
public static async updateInfo(guildCode: string, aid: number, index: number, update: GuildActivityRecordUpdateParam, challengeCityId?: number) {
if(challengeCityId) {
let rec: GuildActivityRecordType = await GuildActivityRecordModel.findOneAndUpdate(
{ guildCode, aid, index, status: 1, challengeCityId },
{ $set: update, $setOnInsert: { code: genCode(10) } }, { new: true, upsert: true }).lean();
return rec;
} else {
let rec: GuildActivityRecordType = await GuildActivityRecordModel.findOneAndUpdate(
{ guildCode, aid, index, status: 1 },
{ $set: update, $setOnInsert: { code: genCode(10) } }, { new: true, upsert: true }).lean();
return rec;
}
}
public static async pushEvent(guildCode: string, aid: number, index: number, event: Event) {