feat: rbac完善,file接入完成

This commit is contained in:
Blizzard
2026-05-01 12:56:08 +08:00
parent bbd3f834b9
commit a93477ea8e
81 changed files with 5470 additions and 371 deletions
@@ -0,0 +1,29 @@
package role
import (
"net/http"
"sundynix-micro-go/app/system/api/internal/logic/role"
"sundynix-micro-go/app/system/api/internal/svc"
"sundynix-micro-go/app/system/api/internal/types"
"sundynix-micro-go/common/response"
"github.com/zeromicro/go-zero/rest/httpx"
)
func AssignRoleMenusHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
return func(w http.ResponseWriter, r *http.Request) {
var req types.AssignRoleMenusReq
if err := httpx.Parse(r, &req); err != nil {
response.Fail(w, err.Error())
return
}
l := role.NewAssignRoleMenusLogic(r.Context(), svcCtx)
err := l.AssignRoleMenus(&req)
if err != nil {
response.Fail(w, err.Error())
} else {
response.Ok(w)
}
}
}
@@ -0,0 +1,33 @@
// Code scaffolded by goctl. Safe to edit.
// goctl 1.10.1
package role
import (
"net/http"
"github.com/zeromicro/go-zero/rest/httpx"
"sundynix-micro-go/app/system/api/internal/logic/role"
"sundynix-micro-go/app/system/api/internal/svc"
"sundynix-micro-go/app/system/api/internal/types"
"sundynix-micro-go/common/response"
)
// 角色详情(含已授权菜单)
func GetRoleDetailHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
return func(w http.ResponseWriter, r *http.Request) {
var req types.IdQueryReq
if err := httpx.Parse(r, &req); err != nil {
response.Fail(w, err.Error())
return
}
l := role.NewGetRoleDetailLogic(r.Context(), svcCtx)
resp, err := l.GetRoleDetail(&req)
if err != nil {
response.Fail(w, err.Error())
} else {
response.OkWithData(w, resp)
}
}
}
+24
View File
@@ -138,6 +138,12 @@ func RegisterHandlers(server *rest.Server, serverCtx *svc.ServiceContext) {
server.AddRoutes(
[]rest.Route{
{
// 角色授权菜单
Method: http.MethodPost,
Path: "/role/assignMenus",
Handler: role.AssignRoleMenusHandler(serverCtx),
},
{
// 创建角色
Method: http.MethodPost,
@@ -150,6 +156,12 @@ func RegisterHandlers(server *rest.Server, serverCtx *svc.ServiceContext) {
Path: "/role/delete",
Handler: role.DeleteRoleHandler(serverCtx),
},
{
// 角色详情(含已授权菜单)
Method: http.MethodGet,
Path: "/role/detail",
Handler: role.GetRoleDetailHandler(serverCtx),
},
{
// 角色列表
Method: http.MethodPost,
@@ -169,6 +181,12 @@ func RegisterHandlers(server *rest.Server, serverCtx *svc.ServiceContext) {
server.AddRoutes(
[]rest.Route{
{
// 用户授权角色
Method: http.MethodPost,
Path: "/user/assignRoles",
Handler: user.AssignUserRolesHandler(serverCtx),
},
{
// 创建用户
Method: http.MethodPost,
@@ -181,6 +199,12 @@ func RegisterHandlers(server *rest.Server, serverCtx *svc.ServiceContext) {
Path: "/user/delete",
Handler: user.DeleteUserHandler(serverCtx),
},
{
// 用户详情(含角色信息)
Method: http.MethodGet,
Path: "/user/detail",
Handler: user.GetUserDetailHandler(serverCtx),
},
{
// 用户列表
Method: http.MethodPost,
@@ -0,0 +1,29 @@
package user
import (
"net/http"
"sundynix-micro-go/app/system/api/internal/logic/user"
"sundynix-micro-go/app/system/api/internal/svc"
"sundynix-micro-go/app/system/api/internal/types"
"sundynix-micro-go/common/response"
"github.com/zeromicro/go-zero/rest/httpx"
)
func AssignUserRolesHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
return func(w http.ResponseWriter, r *http.Request) {
var req types.AssignUserRolesReq
if err := httpx.Parse(r, &req); err != nil {
response.Fail(w, err.Error())
return
}
l := user.NewAssignUserRolesLogic(r.Context(), svcCtx)
err := l.AssignUserRoles(&req)
if err != nil {
response.Fail(w, err.Error())
} else {
response.Ok(w)
}
}
}
@@ -0,0 +1,33 @@
// Code scaffolded by goctl. Safe to edit.
// goctl 1.10.1
package user
import (
"net/http"
"github.com/zeromicro/go-zero/rest/httpx"
"sundynix-micro-go/app/system/api/internal/logic/user"
"sundynix-micro-go/app/system/api/internal/svc"
"sundynix-micro-go/app/system/api/internal/types"
"sundynix-micro-go/common/response"
)
// 用户详情(含角色信息)
func GetUserDetailHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
return func(w http.ResponseWriter, r *http.Request) {
var req types.IdQueryReq
if err := httpx.Parse(r, &req); err != nil {
response.Fail(w, err.Error())
return
}
l := user.NewGetUserDetailLogic(r.Context(), svcCtx)
resp, err := l.GetUserDetail(&req)
if err != nil {
response.Fail(w, err.Error())
} else {
response.OkWithData(w, resp)
}
}
}