🐞 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

@@ -447,7 +447,7 @@ export async function cityActivitySettleReward(cityId: number, serverId: number)
rank: guildRank, damage: num, remainGateHp: gateHp, rank: guildRank, damage: num, remainGateHp: gateHp,
rewards: getRewardToDbFromMap(rewards), rewards: getRewardToDbFromMap(rewards),
auctionType: AUCTION_SOURCE.CITY, auctionType: AUCTION_SOURCE.CITY,
}); }, cityId);
// 奖励加入拍卖行 // 奖励加入拍卖行
await genAuction(guildCode, AUCTION_SOURCE.CITY, rec.code, serverId, rewards); await genAuction(guildCode, AUCTION_SOURCE.CITY, rec.code, serverId, rewards);

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 }); let insert = Object.assign(docs, { code, guildCode, serverId, aid, createdAt: new Date(), auctionType: aid + 1 });
if(events) insert = Object.assign(insert, { events }); if(events) insert = Object.assign(insert, { events });
let update: GuildActivityRecordUpdateParam = {}; let update: GuildActivityRecordUpdateParam = {};
if(cityId) update = Object.assign(update, { challengeCityId: cityId }); if(cityId) {
let rec: GuildActivityRecordType = await GuildActivityRecordModel.findOneAndUpdate( let rec: GuildActivityRecordType = await GuildActivityRecordModel.findOneAndUpdate(
{ aid, guildCode, index, status: 1}, { aid, guildCode, index, status: 1, challengeCityId: cityId},
{ $setOnInsert: insert, $set: update }, { $setOnInsert: insert, $set: update },
{new: true, upsert: true}).lean(); {new: true, upsert: true}).lean();
return rec; 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) { public static async updateInfo(guildCode: string, aid: number, index: number, update: GuildActivityRecordUpdateParam, challengeCityId?: number) {
let rec: GuildActivityRecordType = await GuildActivityRecordModel.findOneAndUpdate( if(challengeCityId) {
{ guildCode, aid, index, status: 1 }, let rec: GuildActivityRecordType = await GuildActivityRecordModel.findOneAndUpdate(
{ $set: update, $setOnInsert: { code: genCode(10) } }, { new: true, upsert: true }).lean(); { guildCode, aid, index, status: 1, challengeCityId },
return rec; { $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) { public static async pushEvent(guildCode: string, aid: number, index: number, event: Event) {