33 lines
755 B
Go
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
|
|
}
|