玩家退出公会时gud残留ghid,在登录时检测修复一下
This commit is contained in:
xcy 2023-12-20 15:42:14 +08:00
parent b2ef913c26
commit d1750bb097

View File

@ -132,6 +132,9 @@ async function doLogin(call: ApiCall<ReqLogin, ResLogin>) {
//await G.redis.set('user', gud.uid, gud);
await initGud(gud.uid, gud);
// 修复公会id
await fixUnionData(gud);
//记录玩家所在的进程change: 更换到处理完踢线操作在写入。
// setUidProcessId(gud.uid);
@ -279,3 +282,18 @@ async function LoginFun(call: ApiCall<ReqLogin, ResLogin>) {
// G.mongodb.collection("hero").findOneAndUpdate({_id: i._id}, {$set: {shiwu: shiwuChange}})
// })
// }
// 修复玩家退出公会 但是gud中残留公会id
async function fixUnionData(gud: ResLogin["gud"]) {
if (gud.ghId) {
let ghdata = await G.mongodb.collection("gonghui").findOne(
{_id: G.mongodb.conversionId(gud.ghId), 'players.uid': gud.uid}
)
if (!ghdata) {
gud.ghId = "";
gud.ghName = "";
gud.ghLevel = 0;
PlayerFun.changeAttr(gud.uid, {ghId: '', ghLevel: 0})
}
}
}