Files
yunzerwebsiteallinone/go/services/tenant_lookup.go
T
2026-07-17 11:57:10 +08:00

33 lines
755 B
Go

package services
import (
"strings"
"github.com/beego/beego/v2/client/orm"
"server/models"
)
func findTenantByLoginName(loginName string) (*models.SystemTenant, error) {
loginName = strings.TrimSpace(loginName)
if loginName == "" {
return nil, orm.ErrNoRows
}
baseQuery := func() orm.QuerySeter {
return models.Orm.QueryTable(new(models.SystemTenant)).
Filter("status", 1).
Filter("delete_time__isnull", true)
}
// 登录时支持租户全称、租户简称和租户编码。
for _, field := range []string{"tenant_name", "tenant_short_name", "tenant_code"} {
tenant := &models.SystemTenant{}
if err := baseQuery().Filter(field, loginName).One(tenant); err == nil {
return tenant, nil
}
}
return nil, orm.ErrNoRows
}