거래채널 참가인원 수 문제 수정
This commit is contained in:
@ -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) {
|
||||||
|
|||||||
Reference in New Issue
Block a user