diff --git a/domain/model/group_m/groupInfo.go b/domain/model/group_m/groupInfo.go index 1f66ceb64e128db97c00b48086e301c476eafb27..6c42a3231f627c418210933286f2a868fccdc876 100644 --- a/domain/model/group_m/groupInfo.go +++ b/domain/model/group_m/groupInfo.go @@ -599,3 +599,11 @@ func DeleteTRTC(model *domain.Model, imGroupId string) error { } return nil } + +func CountTRTC(model *domain.Model) int64 { + var total int64 + if err := model.DB().Model(GroupTrtc{}).Count(&total).Error; err != nil { + model.Log.Errorf("CountTRTC fail:%v", err) + } + return total +} diff --git a/route/group_r/group_op.go b/route/group_r/group_op.go index c5d3ecc8db009075ac2cecf1aa47599e345be0e9..4f50421deb69f1e4c78f271f6642dad22a1d86d5 100644 --- a/route/group_r/group_op.go +++ b/route/group_r/group_op.go @@ -1761,11 +1761,17 @@ func GroupIn(c *gin.Context) (*mycontext.MyContext, error) { provider := group_e.GroupProvider_SW if group_m.IsUseTRTC(model, groupId) { - roomUser, err := group_m.GetRoomOnlineUser(myContext, groupId) - if err == nil && roomUser.Total == 0 { - _ = group_m.DeleteTRTC(model, groupId) - } else { - provider = group_e.GroupProvider_TRTC + provider = group_e.GroupProvider_TRTC + total := int64(2000) + if !config.AppIsRelease() { + total = 0 + } + if group_m.CountTRTC(model) > total { + roomUser, err := group_m.GetRoomOnlineUser(myContext, groupId) + if err == nil && roomUser.Total == 0 { + _ = group_m.DeleteTRTC(model, groupId) + provider = group_e.GroupProvider_SW + } } } else { //dayMaxCovertNum := int64(20)