fix(拍卖行): 退出军团时从拍卖分红中删除
This commit is contained in:
@@ -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) {
|
||||||
|
|||||||
@@ -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;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
Reference in New Issue
Block a user