backend增加租户简称登录

This commit is contained in:
2026-07-17 11:00:33 +08:00
parent dcf06db11b
commit 2232ef6f3c
14 changed files with 916 additions and 746 deletions
+43
View File
@@ -0,0 +1,43 @@
package services
import (
"strings"
"github.com/beego/beego/v2/client/orm"
"server/models"
)
/* findTenantByLoginName 根据租户简称、短名或编码查找租户。
*
* 当前表结构中 tenant_name 的业务含义就是“租户简称”,同时兼容
* tenant_short_name 和 tenant_code 两个历史/备用登录标识。
*/
func findTenantByLoginName(loginName string) (*models.SystemTenant, error) {
loginName = strings.TrimSpace(loginName)
if loginName == "" {
return nil, orm.ErrNoRows
}
// tenant_name 的业务含义是租户简称。使用 TRIM 兼容历史数据中字段值
// 前后存在空格的情况;参数通过 SetArgs 绑定,避免 SQL 注入。
tenant := &models.SystemTenant{}
query := `
SELECT id, tenant_code, tenant_name, tenant_short_name,
contact_person, contact_phone, contact_email, address,
worktime, status, remark, create_time, update_time, delete_time
FROM yz_system_tenant
WHERE (TRIM(tenant_name) = TRIM(?) OR
TRIM(tenant_short_name) = TRIM(?) OR
TRIM(tenant_code) = TRIM(?))
AND status <> 0
ORDER BY id ASC
LIMIT 1`
err := models.Orm.Raw(query).
SetArgs(loginName, loginName, loginName).
QueryRow(tenant)
if err != nil {
return nil, err
}
return tenant, nil
}