GetMenus 获取菜单列表,支持分页和树形结构
(ctx context.Context, pageNum, pageSize int, isTree bool)
| 32 | |
| 33 | // GetMenus 获取菜单列表,支持分页和树形结构 |
| 34 | func (m *menuService) GetMenus(ctx context.Context, pageNum, pageSize int, isTree bool) ([]*domain.Menu, int, error) { |
| 35 | if pageNum < 1 || pageSize < 1 { |
| 36 | m.l.Warn("分页参数无效", zap.Int("页码", pageNum), zap.Int("每页数量", pageSize)) |
| 37 | return nil, 0, errors.New("分页参数无效") |
| 38 | } |
| 39 | |
| 40 | // 如果需要树形结构,则调用GetMenuTree |
| 41 | if isTree { |
| 42 | menus, err := m.repo.GetMenuTree(ctx) |
| 43 | if err != nil { |
| 44 | m.l.Error("获取菜单树失败", zap.Error(err)) |
| 45 | return nil, 0, err |
| 46 | } |
| 47 | return menus, len(menus), nil |
| 48 | } |
| 49 | |
| 50 | return m.repo.ListMenus(ctx, pageNum, pageSize) |
| 51 | } |
| 52 | |
| 53 | // CreateMenu 创建新菜单 |
| 54 | func (m *menuService) CreateMenu(ctx context.Context, menu *domain.Menu) error { |
nothing calls this directly
no test coverage detected