service_pagelistcount.go 750 B

123456789101112131415161718192021222324252627282930
  1. package cron
  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/cron_task"
  6. )
  7. func (s *service) PageListCount(ctx core.Context, searchData *SearchData) (total int64, err error) {
  8. qb := cron_task.NewQueryBuilder()
  9. if searchData.Name != "" {
  10. qb.WhereName(mysql.EqualPredicate, searchData.Name)
  11. }
  12. if searchData.Protocol != 0 {
  13. qb.WhereProtocol(mysql.EqualPredicate, searchData.Protocol)
  14. }
  15. if searchData.IsUsed != 0 {
  16. qb.WhereIsUsed(mysql.EqualPredicate, searchData.IsUsed)
  17. }
  18. total, err = qb.Count(s.db.GetDbR().WithContext(ctx.RequestContext()))
  19. if err != nil {
  20. return 0, err
  21. }
  22. return
  23. }