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

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

View File

@ -118,10 +118,13 @@ 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" {
cnt, _ := gc.rh.JSONDel(chanid, "$.members."+callby.Alias)
if cnt > 0 {
gc.rh.JSONNumIncrBy(chanid, "$.size", -1) gc.rh.JSONNumIncrBy(chanid, "$.size", -1)
if cfg, ok := gc.chatConfig.Channels[chanid]; ok { if cfg, ok := gc.chatConfig.Channels[chanid]; ok {
cfg.inoutChan <- "-" + callby.Alias cfg.inoutChan <- "-" + callby.Alias
} }
}
} else { } else {
gc.sendUpstreamMessage(&wshandler.UpstreamMessage{ gc.sendUpstreamMessage(&wshandler.UpstreamMessage{
Target: "#" + chanid, Target: "#" + chanid,
@ -178,6 +181,8 @@ func (gc *groupChat) EnterPublicChannel(ctx wshandler.ApiCallContext) {
func (gc *groupChat) LeavePublicChannel(ctx wshandler.ApiCallContext) { 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 {
cnt, _ = gc.rh.JSONDel(chanid, "$.members."+ctx.CallBy.Alias)
if cnt > 0 { if cnt > 0 {
gc.leaveRoom(chanid, ctx.CallBy.Accid) gc.leaveRoom(chanid, ctx.CallBy.Accid)
gc.rh.JSONNumIncrBy(chanid, "$.size", -1) gc.rh.JSONNumIncrBy(chanid, "$.size", -1)
@ -185,6 +190,7 @@ func (gc *groupChat) LeavePublicChannel(ctx wshandler.ApiCallContext) {
cfg.inoutChan <- "-" + ctx.CallBy.Alias cfg.inoutChan <- "-" + ctx.CallBy.Alias
} }
} }
}
} }
func (gc *groupChat) TextMessage(ctx wshandler.ApiCallContext) { func (gc *groupChat) TextMessage(ctx wshandler.ApiCallContext) {