🐞 fix(粮草先行): 退团后再重启会回到车上
This commit is contained in:
@@ -230,9 +230,9 @@ export class GuildActivityRemote {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public leaveRaceWhenDismiss(guildCode: string) {
|
public leaveRaceWhenDismiss(guildCode: string, serverId: number) {
|
||||||
try {
|
try {
|
||||||
return leaveRaceWhenDismiss(guildCode);
|
return leaveRaceWhenDismiss(guildCode, serverId);
|
||||||
} catch(e) {
|
} catch(e) {
|
||||||
errlogger.error(`remote ${__filename} \n ${e.stack}`);
|
errlogger.error(`remote ${__filename} \n ${e.stack}`);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -960,6 +960,8 @@ export async function leaveRaceWhenQuitGuild(serverId: number, guildCode: string
|
|||||||
if(!guildCode) return;
|
if(!guildCode) return;
|
||||||
let obj = getRaceActivityObj();
|
let obj = getRaceActivityObj();
|
||||||
await obj.memberQuit(guildCode, serverId, roleId);
|
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) {
|
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;
|
if(!guildCode) return;
|
||||||
let obj = getRaceActivityObj();
|
let obj = getRaceActivityObj();
|
||||||
obj.dismiss(guildCode);
|
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) {
|
export async function leaveRaceWhenDismissToRemote(serverId: number, guildCode: string) {
|
||||||
let guildServers = pinus.app.getServersByType('guild')||[];
|
let guildServers = pinus.app.getServersByType('guild')||[];
|
||||||
let server = dispatch(`${serverId}`, guildServers);
|
let server = dispatch(`${serverId}`, guildServers);
|
||||||
if(server) {
|
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;
|
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) {
|
public static async findRecs(aid: number, index: number) {
|
||||||
let rec: GuildActivityRecordType[] = await GuildActivityRecordModel.find({ index, aid, status: 1 }).lean();
|
let rec: GuildActivityRecordType[] = await GuildActivityRecordModel.find({ index, aid, status: 1 }).lean();
|
||||||
return rec;
|
return rec;
|
||||||
|
|||||||
Reference in New Issue
Block a user