거래채널 참가인원 수 문제 수정
This commit is contained in:
@ -118,9 +118,12 @@ func (gc *groupChat) ClientDisconnected(msg string, callby *wshandler.Sender) {
|
||||
chanid := v.(string)
|
||||
gc.leaveRoom(chanid, callby.Accid)
|
||||
if k == "public" {
|
||||
gc.rh.JSONNumIncrBy(chanid, "$.size", -1)
|
||||
if cfg, ok := gc.chatConfig.Channels[chanid]; ok {
|
||||
cfg.inoutChan <- "-" + callby.Alias
|
||||
cnt, _ := gc.rh.JSONDel(chanid, "$.members."+callby.Alias)
|
||||
if cnt > 0 {
|
||||
gc.rh.JSONNumIncrBy(chanid, "$.size", -1)
|
||||
if cfg, ok := gc.chatConfig.Channels[chanid]; ok {
|
||||
cfg.inoutChan <- "-" + callby.Alias
|
||||
}
|
||||
}
|
||||
} else {
|
||||
gc.sendUpstreamMessage(&wshandler.UpstreamMessage{
|
||||
@ -179,10 +182,13 @@ func (gc *groupChat) LeavePublicChannel(ctx wshandler.ApiCallContext) {
|
||||
chanid := ctx.Arguments[0].(string)
|
||||
cnt, _ := gc.rh.JSONDel(ctx.CallBy.Accid.Hex(), "$.channel.public")
|
||||
if cnt > 0 {
|
||||
gc.leaveRoom(chanid, ctx.CallBy.Accid)
|
||||
gc.rh.JSONNumIncrBy(chanid, "$.size", -1)
|
||||
if cfg, ok := gc.chatConfig.Channels[chanid]; ok {
|
||||
cfg.inoutChan <- "-" + ctx.CallBy.Alias
|
||||
cnt, _ = gc.rh.JSONDel(chanid, "$.members."+ctx.CallBy.Alias)
|
||||
if cnt > 0 {
|
||||
gc.leaveRoom(chanid, ctx.CallBy.Accid)
|
||||
gc.rh.JSONNumIncrBy(chanid, "$.size", -1)
|
||||
if cfg, ok := gc.chatConfig.Channels[chanid]; ok {
|
||||
cfg.inoutChan <- "-" + ctx.CallBy.Alias
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user