service_list.go 678 B

123456789101112131415161718192021222324252627282930
  1. package menu
  2. import (
  3. "github.com/xinliangnote/go-gin-api/internal/pkg/core"
  4. "github.com/xinliangnote/go-gin-api/internal/repository/mysql"
  5. "github.com/xinliangnote/go-gin-api/internal/repository/mysql/menu"
  6. )
  7. type SearchData struct {
  8. Pid int32 // 父类ID
  9. }
  10. func (s *service) List(ctx core.Context, searchData *SearchData) (listData []*menu.Menu, err error) {
  11. qb := menu.NewQueryBuilder()
  12. qb.WhereIsDeleted(mysql.EqualPredicate, -1)
  13. if searchData.Pid != 0 {
  14. qb.WherePid(mysql.EqualPredicate, searchData.Pid)
  15. }
  16. listData, err = qb.
  17. OrderBySort(true).
  18. QueryAll(s.db.GetDbR().WithContext(ctx.RequestContext()))
  19. if err != nil {
  20. return nil, err
  21. }
  22. return
  23. }