fix(拍卖行): 退出军团时从拍卖分红中删除

This commit is contained in:
luying
2023-10-16 18:00:29 +08:00
parent 090368d2a3
commit f5f1dcf14c
3 changed files with 32 additions and 4 deletions

View File

@@ -359,10 +359,13 @@ export async function gateActivitySettleReward(guildCode: string, serverId: numb
let guildScore = await r.getMyScore({ guildCode }); let guildScore = await r.getMyScore({ guildCode });
// console.log('****** ranks', rank, 'guildScore', guildScore); // console.log('****** ranks', rank, 'guildScore', guildScore);
let guild = await GuildModel.findByCode(guildCode, serverId, 'lv'); let guild = await GuildModel.findByCode(guildCode, serverId, 'lv members');
let rewards = getGuildAuctionRewards(GUILD_ACTIVITY_TYPE.GATE_ACTIVITY, rank, guild?.lv); let rewards = getGuildAuctionRewards(GUILD_ACTIVITY_TYPE.GATE_ACTIVITY, rank, guild?.lv);
// console.log('***** rewards', JSON.stringify(rewards)); // console.log('***** rewards', JSON.stringify(rewards));
members = members.filter(member => {
return guild.members?.find(roleId => roleId == member.roleId);
});
let rec = await GuildActivityRecordModel.updateInfo(guildCode, GUILD_ACTIVITY_TYPE.GATE_ACTIVITY, index, { let rec = await GuildActivityRecordModel.updateInfo(guildCode, GUILD_ACTIVITY_TYPE.GATE_ACTIVITY, index, {
isSuccess: true, isSuccess: true,
isCompleted: true, isCompleted: true,
@@ -439,10 +442,12 @@ export async function cityActivitySettleReward(cityId: number, serverId: number)
await GuildActivityCityModel.guard(serverId, cityId, "", "", index + 1); // 无人能占领 await GuildActivityCityModel.guard(serverId, cityId, "", "", index + 1); // 无人能占领
} }
} }
let guild = await GuildModel.findByCode(guildCode, serverId, 'lv'); let guild = await GuildModel.findByCode(guildCode, serverId, 'lv members');
let rewards = getGuildAuctionRewards(GUILD_ACTIVITY_TYPE.CITY_ACTIVITY, guildRank, guild?.lv, cityId); let rewards = getGuildAuctionRewards(GUILD_ACTIVITY_TYPE.CITY_ACTIVITY, guildRank, guild?.lv, cityId);
let members = obj.getMembersOfGuild(guildCode); let members = obj.getMembersOfGuild(guildCode);
members = members.filter(member => {
return guild.members?.find(roleId => roleId == member.roleId);
});
let rec = await GuildActivityRecordModel.updateInfo(guildCode, GUILD_ACTIVITY_TYPE.CITY_ACTIVITY, index, { let rec = await GuildActivityRecordModel.updateInfo(guildCode, GUILD_ACTIVITY_TYPE.CITY_ACTIVITY, index, {
members, memberCnt: members.length, members, memberCnt: members.length,
isSuccess, isCompleted: true, isSuccess, isCompleted: true,
@@ -986,6 +991,24 @@ export async function leaveRaceWhenQuitGuildToRemote(serverId: number, guildCode
if(server) { if(server) {
await pinus.app.rpc.guild.guildActivityRemote.leaveRaceWhenQuitGuild.toServer(server.id, serverId, guildCode, roleId); await pinus.app.rpc.guild.guildActivityRemote.leaveRaceWhenQuitGuild.toServer(server.id, serverId, guildCode, roleId);
} }
let index1 = getGAIndexInPinus(GUILD_ACTIVITY_TYPE.GATE_ACTIVITY);
let gateR = new Rank(REDIS_KEY.USER_GATE_ACTIVITY, { serverId, guildCode, index: index1 }, true);
gateR.removeFromRank({ roleId });
let index2 = getGAIndexInPinus(GUILD_ACTIVITY_TYPE.CITY_ACTIVITY);
let declareIndex = getDeclareIndex();
let obj = getCityActivityObj();
if(obj.getStatus() == GUILD_ACTIVITY_STATUS.START) {
await autoDeclareMyCity(serverId, roleId, guildCode, declareIndex);
}
let city = await GuildActivityCityDeclareModel.findDeclartion(serverId, guildCode, declareIndex)
if (city) {
let cityR = new Rank(REDIS_KEY.CITY_ACTIVITY, { serverId, cityId: city.cityId, index: index2 }, true);
cityR.removeFromRank({ roleId });
}
} }
export async function leaveRaceWhenDismiss(guildCode: string, serverId: number) { export async function leaveRaceWhenDismiss(guildCode: string, serverId: number) {

View File

@@ -108,7 +108,7 @@ export default class BossInstance extends BaseModel {
} }
public static async removeBossRank(guildCode: string, roleId: string, lean = true) { public static async removeBossRank(guildCode: string, roleId: string, lean = true) {
const guildTrain: BossInstanceType = await BossInstanceModel.findOneAndUpdate({ guildCode }, const guildTrain: BossInstanceType = await BossInstanceModel.findOneAndUpdate({ guildCode, status: GUILD_BOSS_STATUS.OPEN },
{ $pull:{ ranks: { roleId } }}, {new: true}).lean(lean); { $pull:{ ranks: { roleId } }}, {new: true}).lean(lean);
return guildTrain; return guildTrain;
} }

View File

@@ -40,6 +40,11 @@ export default class GuildActivityCityDeclare extends BaseModel {
let rec = await GuildActivityCityDeclareModel.exists({ serverId, status: 1, guildCode, declareIndex}); let rec = await GuildActivityCityDeclareModel.exists({ serverId, status: 1, guildCode, declareIndex});
return rec; return rec;
} }
public static async findDeclartion(serverId: number, guildCode: string, declareIndex: number) {
let rec = await GuildActivityCityDeclareModel.findOne({ serverId, status: 1, guildCode, declareIndex});
return rec;
}
} }
export const GuildActivityCityDeclareModel = getModelForClass(GuildActivityCityDeclare); export const GuildActivityCityDeclareModel = getModelForClass(GuildActivityCityDeclare);