This commit is contained in:
2025-07-11 02:21:12 +08:00
parent 347970eab4
commit 038d3a96a4
17592 changed files with 20 additions and 132349 deletions

View File

@@ -2,6 +2,7 @@ package service
import (
"context"
"fmt"
"blazing/cool"
@@ -45,8 +46,10 @@ func (s *BaseSysMenuService) GetPerms(roleIds []string) []string {
func (s *BaseSysMenuService) GetMenus(roleIds []string, isAdmin bool) (result gdb.Result) {
// 屏蔽 base_sys_role_menu.id 防止部分权限的用户登录时菜单渲染错误
m := cool.DBM(s.Model).As("a").Fields("a.*")
var err error
if isAdmin {
result, _ = m.Group("a.id").Order("a.orderNum asc").All()
result, err = m.Group("a.id").Order("a.orderNum", "asc").All()
fmt.Println(err)
} else {
result, _ = m.InnerJoin("base_sys_role_menu b", "a.id=b.menuId").Where("b.roleId IN (?)", roleIds).Group("a.id").Order("a.orderNum asc").All()
}

View File

@@ -29,7 +29,7 @@ func (c *BaseSysPermsService) Permmenu(ctx context.Context, roleIds []string) (r
res = &permmenu{
Perms: baseSysMenuService.GetPerms(roleIds),
Menus: baseSysMenuService.GetMenus(admin.RoleIds, admin.UserId == 1),
Menus: baseSysMenuService.GetMenus(admin.RoleIds, admin.UserId == 10001),
}
return

View File

@@ -75,7 +75,7 @@ func (s *BaseSysRoleService) GetByUser(userId uint) []string {
var (
roles []string
)
res, _ := cool.DBM(baseSysUserRole).Where("userId = ?", userId).Array("roleId")
res, _ := cool.DBM(baseSysUserRole).Where("userId", userId).Array("roleId")
for _, v := range res {
roles = append(roles, gconv.String(v))
}

View File

@@ -214,35 +214,38 @@ func NewBaseSysUserService() *BaseSysUserService {
"email": "邮箱不能重复",
},
PageQueryOp: &cool.QueryOp{
Select: "base_sys_user.*,dept.`name` as departmentName,GROUP_CONCAT( role.`name` ) AS `roleName`",
Select: `
base_sys_user.*,
dept.name AS departmentName,
STRING_AGG(role.name, ', ') AS roleName`,
Join: []*cool.JoinOp{
{
Model: model.NewBaseSysDepartment(),
Alias: "dept",
Type: "LeftJoin",
Condition: "`base_sys_user`.`departmentId` = `dept`.`id`",
Condition: `base_sys_user."departmentId" = dept.id`,
},
{
Model: model.NewBaseSysUserRole(),
Alias: "user_role",
Type: "LeftJoin",
Condition: "`base_sys_user`.`id` = `user_role`.`userId`",
Condition: `base_sys_user.id = user_role."userId"`,
},
{
Model: model.NewBaseSysRole(),
Alias: "`role`",
Alias: "role",
Type: "LeftJoin",
Condition: "`role`.`id` = `user_role`.`roleId`",
Condition: `role.id = user_role."roleId"`,
},
},
Where: func(ctx context.Context) []g.Array {
r := g.RequestFromCtx(ctx).GetMap()
return []g.Array{
{"(departmentId IN (?))", gconv.SliceStr(r["departmentIds"])},
{`("departmentId" IN (?))`, gconv.SliceStr(r["departmentIds"])},
}
},
Extend: func(ctx g.Ctx, m *gdb.Model) *gdb.Model {
return m.Group("`base_sys_user`.`id`")
return m.Group(`base_sys_user.id`)
},
KeyWordField: []string{"name", "username", "nickName"},
},