🐞 fix(粮草先行): 退团后再重启会回到车上
This commit is contained in:
@@ -230,9 +230,9 @@ export class GuildActivityRemote {
|
||||
}
|
||||
}
|
||||
|
||||
public leaveRaceWhenDismiss(guildCode: string) {
|
||||
public leaveRaceWhenDismiss(guildCode: string, serverId: number) {
|
||||
try {
|
||||
return leaveRaceWhenDismiss(guildCode);
|
||||
return leaveRaceWhenDismiss(guildCode, serverId);
|
||||
} catch(e) {
|
||||
errlogger.error(`remote ${__filename} \n ${e.stack}`);
|
||||
}
|
||||
|
||||
@@ -960,6 +960,8 @@ export async function leaveRaceWhenQuitGuild(serverId: number, guildCode: string
|
||||
if(!guildCode) return;
|
||||
let obj = getRaceActivityObj();
|
||||
await obj.memberQuit(guildCode, serverId, roleId);
|
||||
let joinIndex = getJoinIndex();
|
||||
await GuildActivityRecordModel.removeMember(guildCode, serverId, GUILD_ACTIVITY_TYPE.RACE_ACTIVITY, joinIndex, roleId);
|
||||
}
|
||||
|
||||
export async function leaveRaceWhenQuitGuildToRemote(serverId: number, guildCode: string, roleId: string) {
|
||||
@@ -970,16 +972,18 @@ export async function leaveRaceWhenQuitGuildToRemote(serverId: number, guildCode
|
||||
}
|
||||
}
|
||||
|
||||
export async function leaveRaceWhenDismiss(guildCode: string) {
|
||||
export async function leaveRaceWhenDismiss(guildCode: string, serverId: number) {
|
||||
if(!guildCode) return;
|
||||
let obj = getRaceActivityObj();
|
||||
obj.dismiss(guildCode);
|
||||
let joinIndex = getJoinIndex();
|
||||
await GuildActivityRecordModel.dismiss(guildCode, serverId, GUILD_ACTIVITY_TYPE.RACE_ACTIVITY, joinIndex);
|
||||
}
|
||||
|
||||
export async function leaveRaceWhenDismissToRemote(serverId: number, guildCode: string) {
|
||||
let guildServers = pinus.app.getServersByType('guild')||[];
|
||||
let server = dispatch(`${serverId}`, guildServers);
|
||||
if(server) {
|
||||
await pinus.app.rpc.guild.guildActivityRemote.leaveRaceWhenDismiss.toServer(server.id, guildCode);
|
||||
await pinus.app.rpc.guild.guildActivityRemote.leaveRaceWhenDismiss.toServer(server.id, guildCode, serverId);
|
||||
}
|
||||
}
|
||||
@@ -113,6 +113,19 @@ export default class GuildActivityRecord extends BaseModel {
|
||||
return rec;
|
||||
}
|
||||
|
||||
public static async removeMember(guildCode: string, serverId: number, aid: number, index: number, roleId: string) {
|
||||
console.log(guildCode, serverId, aid, index, roleId)
|
||||
let rec: GuildActivityRecordType = await GuildActivityRecordModel.findOneAndUpdate(
|
||||
{ guildCode, serverId, index, aid },
|
||||
{ $pull: { joinMember: { roleId } } }, { new: true }).lean();
|
||||
return rec;
|
||||
}
|
||||
|
||||
public static async dismiss(guildCode: string, serverId: number, aid: number, index: number) {
|
||||
let rec: GuildActivityRecordType = await GuildActivityRecordModel.findOneAndUpdate({ guildCode, serverId, index, aid }, { $set: { status: 0 }}, { new: true }).lean();
|
||||
return rec;
|
||||
}
|
||||
|
||||
public static async findRecs(aid: number, index: number) {
|
||||
let rec: GuildActivityRecordType[] = await GuildActivityRecordModel.find({ index, aid, status: 1 }).lean();
|
||||
return rec;
|
||||
|
||||
Reference in New Issue
Block a user