mirror of
https://github.com/bufanyun/hotgo.git
synced 2025-08-27 19:35:49 +08:00
perf: 数据库表名硬编码替换
This commit is contained in:
@@ -9,15 +9,18 @@ import (
|
||||
"context"
|
||||
"errors"
|
||||
"fmt"
|
||||
"hotgo/internal/dao"
|
||||
"math"
|
||||
"strings"
|
||||
|
||||
"github.com/casbin/casbin/v2/model"
|
||||
"github.com/casbin/casbin/v2/persist"
|
||||
"github.com/gogf/gf/v2/database/gdb"
|
||||
"math"
|
||||
"strings"
|
||||
)
|
||||
|
||||
var defaultTableName = dao.AdminRoleCasbin.Table()
|
||||
|
||||
const (
|
||||
defaultTableName = "hg_admin_role_casbin"
|
||||
dropPolicyTableSql = `DROP TABLE IF EXISTS %s`
|
||||
createPolicyTableSql = `
|
||||
CREATE TABLE IF NOT EXISTS %s (
|
||||
|
@@ -7,15 +7,18 @@ package casbin
|
||||
|
||||
import (
|
||||
"context"
|
||||
"hotgo/internal/consts"
|
||||
"hotgo/internal/dao"
|
||||
"net/http"
|
||||
"strings"
|
||||
|
||||
"github.com/casbin/casbin/v2"
|
||||
"github.com/casbin/casbin/v2/model"
|
||||
_ "github.com/gogf/gf/contrib/drivers/mysql/v2"
|
||||
"github.com/gogf/gf/v2/frame/g"
|
||||
"github.com/gogf/gf/v2/os/gfile"
|
||||
"github.com/gogf/gf/v2/os/gres"
|
||||
"hotgo/internal/consts"
|
||||
"net/http"
|
||||
"strings"
|
||||
"github.com/gogf/gf/v2/text/gstr"
|
||||
)
|
||||
|
||||
const (
|
||||
@@ -76,10 +79,9 @@ func loadPermissions(ctx context.Context) {
|
||||
polices []*Policy
|
||||
err error
|
||||
)
|
||||
|
||||
err = g.Model("hg_admin_role r").
|
||||
LeftJoin("hg_admin_role_menu rm", "r.id=rm.role_id").
|
||||
LeftJoin("hg_admin_menu m", "rm.menu_id=m.id").
|
||||
err = g.Model(gstr.Join([]string{dao.AdminRole.Table(), "r"}, " ")).
|
||||
LeftJoin(gstr.Join([]string{dao.AdminRoleMenu.Table(), "rm"}, " "), "r.id=rm.role_id").
|
||||
LeftJoin(gstr.Join([]string{dao.AdminMenu.Table(), "m"}, " "), "rm.menu_id=m.id").
|
||||
Fields("r.key,m.permissions").
|
||||
Where("r.status", consts.StatusEnabled).
|
||||
Where("m.status", consts.StatusEnabled).
|
||||
|
@@ -8,10 +8,12 @@ package hgorm
|
||||
import (
|
||||
"context"
|
||||
"hotgo/internal/consts"
|
||||
"hotgo/internal/dao"
|
||||
"hotgo/utility/tree"
|
||||
|
||||
"github.com/gogf/gf/v2/errors/gerror"
|
||||
"github.com/gogf/gf/v2/frame/g"
|
||||
"github.com/gogf/gf/v2/text/gstr"
|
||||
)
|
||||
|
||||
// TenantRelation 租户关系
|
||||
@@ -24,8 +26,9 @@ type TenantRelation struct {
|
||||
|
||||
// GetTenantRelation 获取租户关系
|
||||
func GetTenantRelation(ctx context.Context, memberId int64) (tr *TenantRelation, err error) {
|
||||
data, err := g.Model("hg_admin_member u").Ctx(ctx).
|
||||
LeftJoin("hg_admin_dept d", "u.dept_id=d.id").
|
||||
|
||||
data, err := g.Model(gstr.Join([]string{dao.AdminMember.Table(), "u"}, " ")).Ctx(ctx).
|
||||
LeftJoin(gstr.Join([]string{dao.AdminDept.Table(), "d"}, " "), "u.dept_id=d.id").
|
||||
Fields("u.tree,d.type").
|
||||
Where("u.id", memberId).One()
|
||||
if err != nil {
|
||||
@@ -40,8 +43,8 @@ func GetTenantRelation(ctx context.Context, memberId int64) (tr *TenantRelation,
|
||||
ids := tree.GetIds(data["tree"].String())
|
||||
|
||||
getRelationId := func(deptType string) (int64, error) {
|
||||
id, err := g.Model("hg_admin_member u").Ctx(ctx).
|
||||
LeftJoin("hg_admin_dept d", "u.dept_id=d.id").
|
||||
id, err := g.Model(gstr.Join([]string{dao.AdminMember.Table(), "u"}, " ")).Ctx(ctx).
|
||||
LeftJoin(gstr.Join([]string{dao.AdminDept.Table(), "d"}, " "), "u.dept_id=d.id").
|
||||
Fields("u.id").
|
||||
WhereIn("u.id", ids).Where("d.type", deptType).
|
||||
OrderAsc("u.level"). // 确保是第一关系
|
||||
|
Reference in New Issue
Block a user