From 4bde323b9000922041988bf31e0a21714131fa02 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BA=8C=E4=B8=AB=E8=AE=B2=E6=A2=B5?= Date: Wed, 8 Feb 2023 15:31:44 +0800 Subject: [PATCH] =?UTF-8?q?=E9=85=8D=E5=90=88=E5=89=8D=E7=AB=AF=E4=BC=98?= =?UTF-8?q?=E5=8C=96=E4=BA=86=E4=B8=80=E4=BA=9B=E5=86=85=E5=AE=B9=20(#148)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- logic/base_logic.go | 6 ++++++ logic/menu_logic.go | 16 ++++------------ logic/operation_log_logic.go | 4 ++-- logic/role_logic.go | 18 +++++++++--------- logic/user_logic.go | 4 ++-- model/request/menu_req.go | 2 +- model/response/base_rsp.go | 1 + 7 files changed, 25 insertions(+), 26 deletions(-) diff --git a/logic/base_logic.go b/logic/base_logic.go index 6d78e04..f00aad6 100644 --- a/logic/base_logic.go +++ b/logic/base_logic.go @@ -94,36 +94,42 @@ func (l BaseLogic) Dashboard(c *gin.Context, req interface{}) (data interface{}, DataName: "用户", DataCount: userCount, Icon: "people", + Path: "#/personnel/user", }, &response.DashboardList{ DataType: "group", DataName: "分组", DataCount: groupCount, Icon: "peoples", + Path: "#/personnel/group", }, &response.DashboardList{ DataType: "role", DataName: "角色", DataCount: roleCount, Icon: "eye-open", + Path: "#/system/role", }, &response.DashboardList{ DataType: "menu", DataName: "菜单", DataCount: menuCount, Icon: "tree-table", + Path: "#/system/menu", }, &response.DashboardList{ DataType: "api", DataName: "接口", DataCount: apiCount, Icon: "tree", + Path: "#/system/api", }, &response.DashboardList{ DataType: "log", DataName: "日志", DataCount: logCount, Icon: "documentation", + Path: "#/log/operation-log", }, ) diff --git a/logic/menu_logic.go b/logic/menu_logic.go index 26a0390..973ed2f 100644 --- a/logic/menu_logic.go +++ b/logic/menu_logic.go @@ -96,7 +96,7 @@ func (l MenuLogic) Update(c *gin.Context, req interface{}) (data interface{}, rs filter := tools.H{"id": int(r.ID)} if !isql.Menu.Exist(filter) { - return nil, tools.NewMySqlError(fmt.Errorf("改ID对应的记录不存在")) + return nil, tools.NewMySqlError(fmt.Errorf("该ID对应的记录不存在")) } // 获取当前登陆用户 @@ -149,7 +149,7 @@ func (l MenuLogic) Delete(c *gin.Context, req interface{}) (data interface{}, rs for _, id := range r.MenuIds { filter := tools.H{"id": int(id)} if !isql.Menu.Exist(filter) { - return nil, tools.NewMySqlError(fmt.Errorf("改ID对应的记录不存在")) + return nil, tools.NewMySqlError(fmt.Errorf("该ID对应的记录不存在")) } } @@ -168,16 +168,8 @@ func (l MenuLogic) GetTree(c *gin.Context, req interface{}) (data interface{}, r return nil, ReqAssertErr } _ = c - ctxUser, err := isql.User.GetCurrentLoginUser(c) - if err != nil { - return nil, tools.NewMySqlError(fmt.Errorf("获取当前登陆用户信息失败")) - } - roleIds := []uint{} - for _, role := range ctxUser.Roles { - roleIds = append(roleIds, role.ID) - } - var menus []*model.Menu - menus, err = isql.Menu.ListUserMenus(roleIds) + + menus, err := isql.Menu.List() if err != nil { return nil, tools.NewMySqlError(fmt.Errorf("获取资源列表失败: " + err.Error())) } diff --git a/logic/operation_log_logic.go b/logic/operation_log_logic.go index e89527d..bac22ce 100644 --- a/logic/operation_log_logic.go +++ b/logic/operation_log_logic.go @@ -62,13 +62,13 @@ func (l OperationLogLogic) Delete(c *gin.Context, req interface{}) (data interfa for _, id := range r.OperationLogIds { filter := tools.H{"id": int(id)} if !isql.OperationLog.Exist(filter) { - return nil, tools.NewMySqlError(fmt.Errorf("改条记录不存在")) + return nil, tools.NewMySqlError(fmt.Errorf("该条记录不存在")) } } // 删除接口 err := isql.OperationLog.Delete(r.OperationLogIds) if err != nil { - return nil, tools.NewMySqlError(fmt.Errorf("删除改条记录失败: %s", err.Error())) + return nil, tools.NewMySqlError(fmt.Errorf("删除该改条记录失败: %s", err.Error())) } return nil, nil } diff --git a/logic/role_logic.go b/logic/role_logic.go index 52eaa51..d4a6a95 100644 --- a/logic/role_logic.go +++ b/logic/role_logic.go @@ -113,8 +113,8 @@ func (l RoleLogic) Update(c *gin.Context, req interface{}) (data interface{}, rs // 不能更新比自己角色等级高或相等的角色 // 根据path中的角色ID获取该角色信息 - roles, err := isql.Role.GetRolesByIds([]uint{r.ID}) - if err != nil || len(roles) == 0 { + roles, _ := isql.Role.GetRolesByIds([]uint{r.ID}) + if len(roles) == 0 { return nil, tools.NewMySqlError(fmt.Errorf("获取角色信息失败: %s", err.Error())) } @@ -210,9 +210,9 @@ func (l RoleLogic) Delete(c *gin.Context, req interface{}) (data interface{}, rs } // 获取角色信息 - roles, err := isql.Role.GetRolesByIds(r.RoleIds) - if err != nil || len(roles) == 0 { - return nil, tools.NewMySqlError(fmt.Errorf("获取角色信息失败: %s", err.Error())) + roles, _ := isql.Role.GetRolesByIds(r.RoleIds) + if len(roles) == 0 { + return nil, tools.NewMySqlError(fmt.Errorf("未能获取到角色信息")) } // 不能删除比自己角色等级高或相等的角色 @@ -292,8 +292,8 @@ func (l RoleLogic) UpdateMenus(c *gin.Context, req interface{}) (data interface{ } _ = c - roles, err := isql.Role.GetRolesByIds([]uint{r.RoleID}) - if err != nil || len(roles) == 0 { + roles, _ := isql.Role.GetRolesByIds([]uint{r.RoleID}) + if len(roles) == 0 { return nil, tools.NewMySqlError(fmt.Errorf("未获取到角色信息")) } @@ -376,8 +376,8 @@ func (l RoleLogic) UpdateApis(c *gin.Context, req interface{}) (data interface{} _ = c // 根据path中的角色ID获取该角色信息 - roles, err := isql.Role.GetRolesByIds([]uint{r.RoleID}) - if err != nil || len(roles) == 0 { + roles, _ := isql.Role.GetRolesByIds([]uint{r.RoleID}) + if len(roles) == 0 { return nil, tools.NewMySqlError(fmt.Errorf("未获取到角色信息")) } diff --git a/logic/user_logic.go b/logic/user_logic.go index 99ecbd4..1fcdea5 100644 --- a/logic/user_logic.go +++ b/logic/user_logic.go @@ -175,8 +175,8 @@ func (l UserLogic) Update(c *gin.Context, req interface{}) (data interface{}, rs // 获取将要操作的用户角色ID集合 var reqRoleSorts []int - roles, err := isql.Role.GetRolesByIds(r.RoleIds) - if err != nil || len(roles) == 0 { + roles, _ := isql.Role.GetRolesByIds(r.RoleIds) + if len(roles) == 0 { return nil, tools.NewValidatorError(fmt.Errorf("根据角色ID获取角色信息失败")) } for _, role := range roles { diff --git a/model/request/menu_req.go b/model/request/menu_req.go index f350767..1c9bc65 100644 --- a/model/request/menu_req.go +++ b/model/request/menu_req.go @@ -15,7 +15,7 @@ type MenuAddReq struct { AlwaysShow uint `json:"alwaysShow" validate:"oneof=1 2"` Breadcrumb uint `json:"breadcrumb" validate:"oneof=1 2"` ActiveMenu string `json:"activeMenu" validate:"min=0,max=100"` - ParentId uint `json:"parentId" validate:"required"` + ParentId uint `json:"parentId"` } // MenuListReq 列表结构体 diff --git a/model/response/base_rsp.go b/model/response/base_rsp.go index 0b2b7e8..a513774 100644 --- a/model/response/base_rsp.go +++ b/model/response/base_rsp.go @@ -5,4 +5,5 @@ type DashboardList struct { DataName string `json:"dataName"` DataCount int64 `json:"dataCount"` Icon string `json:"icon"` + Path string `json:"path"` }