service_detail.go 802 B

123456789101112131415161718192021222324252627282930313233
  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 SearchOneData struct {
  8. Id int32 // 用户ID
  9. IsUsed int32 // 是否启用 1:是 -1:否
  10. }
  11. func (s *service) Detail(ctx core.Context, searchOneData *SearchOneData) (info *menu.Menu, err error) {
  12. qb := menu.NewQueryBuilder()
  13. qb.WhereIsDeleted(mysql.EqualPredicate, -1)
  14. if searchOneData.Id != 0 {
  15. qb.WhereId(mysql.EqualPredicate, searchOneData.Id)
  16. }
  17. if searchOneData.IsUsed != 0 {
  18. qb.WhereIsUsed(mysql.EqualPredicate, searchOneData.IsUsed)
  19. }
  20. info, err = qb.QueryOne(s.db.GetDbR().WithContext(ctx.RequestContext()))
  21. if err != nil {
  22. return nil, err
  23. }
  24. return
  25. }