거래채널 참가인원 수 문제 수정

This commit is contained in:
2024-01-18 15:57:02 +09:00
parent a81549863a
commit ddcfaf7968

View File

@ -118,9 +118,12 @@ func (gc *groupChat) ClientDisconnected(msg string, callby *wshandler.Sender) {
chanid := v.(string) chanid := v.(string)
gc.leaveRoom(chanid, callby.Accid) gc.leaveRoom(chanid, callby.Accid)
if k == "public" { if k == "public" {
gc.rh.JSONNumIncrBy(chanid, "$.size", -1) cnt, _ := gc.rh.JSONDel(chanid, "$.members."+callby.Alias)
if cfg, ok := gc.chatConfig.Channels[chanid]; ok { if cnt > 0 {
cfg.inoutChan <- "-" + callby.Alias gc.rh.JSONNumIncrBy(chanid, "$.size", -1)
if cfg, ok := gc.chatConfig.Channels[chanid]; ok {
cfg.inoutChan <- "-" + callby.Alias
}
} }
} else { } else {
gc.sendUpstreamMessage(&wshandler.UpstreamMessage{ gc.sendUpstreamMessage(&wshandler.UpstreamMessage{
@ -179,10 +182,13 @@ func (gc *groupChat) LeavePublicChannel(ctx wshandler.ApiCallContext) {
chanid := ctx.Arguments[0].(string) chanid := ctx.Arguments[0].(string)
cnt, _ := gc.rh.JSONDel(ctx.CallBy.Accid.Hex(), "$.channel.public") cnt, _ := gc.rh.JSONDel(ctx.CallBy.Accid.Hex(), "$.channel.public")
if cnt > 0 { if cnt > 0 {
gc.leaveRoom(chanid, ctx.CallBy.Accid) cnt, _ = gc.rh.JSONDel(chanid, "$.members."+ctx.CallBy.Alias)
gc.rh.JSONNumIncrBy(chanid, "$.size", -1) if cnt > 0 {
if cfg, ok := gc.chatConfig.Channels[chanid]; ok { gc.leaveRoom(chanid, ctx.CallBy.Accid)
cfg.inoutChan <- "-" + ctx.CallBy.Alias gc.rh.JSONNumIncrBy(chanid, "$.size", -1)
if cfg, ok := gc.chatConfig.Channels[chanid]; ok {
cfg.inoutChan <- "-" + ctx.CallBy.Alias
}
} }
} }
} }